diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-01-try-installation-md-4ff.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-01-try-installation-md-4ff.json
index 321e183..0d5dfc2 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-01-try-installation-md-4ff.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-01-try-installation-md-4ff.json
@@ -19,5 +19,14 @@
     "title": "Installation",
     "sidebar_label": "Installation",
     "original_id": "try-installation"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Overview",
+    "permalink": "/docs/0.90.0/user-guide-introduction"
+  },
+  "next": {
+    "title": "Overview",
+    "permalink": "/docs/0.90.0/concepts-overview"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-01-try-overview-md-11b.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-01-try-overview-md-11b.json
index 9a10281..6338cdb 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-01-try-overview-md-11b.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-01-try-overview-md-11b.json
@@ -19,5 +19,10 @@
     "title": "Apache StreamPipes Documentation",
     "sidebar_label": "Overview",
     "original_id": "user-guide-introduction"
+  },
+  "sidebar": "documentation",
+  "next": {
+    "title": "Installation",
+    "permalink": "/docs/0.90.0/try-installation"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-01-try-tutorial-md-36c.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-01-try-tutorial-md-36c.json
new file mode 100644
index 0000000..cc50ebb
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-01-try-tutorial-md-36c.json
@@ -0,0 +1,23 @@
+{
+  "unversionedId": "try-tutorial",
+  "id": "version-0.90.0/try-tutorial",
+  "title": "Interactive Tutorial",
+  "description": "Once you've installed StreamPipes and see the home screen, you'll see a number of modules that are part of the StreamPipes toolbox.",
+  "source": "@site/versioned_docs/version-0.90.0/01_try-tutorial.md",
+  "sourceDirName": ".",
+  "slug": "/try-tutorial",
+  "permalink": "/docs/0.90.0/try-tutorial",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 1,
+  "frontMatter": {
+    "id": "try-tutorial",
+    "title": "Interactive Tutorial",
+    "sidebar_label": "Interactive Tutorial",
+    "original_id": "try-tutorial"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-02-concepts-adapter-md-b8b.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-02-concepts-adapter-md-b8b.json
new file mode 100644
index 0000000..848eaa9
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-02-concepts-adapter-md-b8b.json
@@ -0,0 +1,23 @@
+{
+  "unversionedId": "concepts-adapter",
+  "id": "version-0.90.0/concepts-adapter",
+  "title": "Data Adapters",
+  "description": "tbd",
+  "source": "@site/versioned_docs/version-0.90.0/02_concepts-adapter.md",
+  "sourceDirName": ".",
+  "slug": "/concepts-adapter",
+  "permalink": "/docs/0.90.0/concepts-adapter",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 2,
+  "frontMatter": {
+    "id": "concepts-adapter",
+    "title": "Data Adapters",
+    "sidebar_label": "Data Adapters",
+    "original_id": "concepts-adapter"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-02-concepts-data-streams-md-793.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-02-concepts-data-streams-md-793.json
new file mode 100644
index 0000000..2c18399
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-02-concepts-data-streams-md-793.json
@@ -0,0 +1,23 @@
+{
+  "unversionedId": "concepts-data-streams",
+  "id": "version-0.90.0/concepts-data-streams",
+  "title": "Data Streams",
+  "description": "tbd",
+  "source": "@site/versioned_docs/version-0.90.0/02_concepts-data-streams.md",
+  "sourceDirName": ".",
+  "slug": "/concepts-data-streams",
+  "permalink": "/docs/0.90.0/concepts-data-streams",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 2,
+  "frontMatter": {
+    "id": "concepts-data-streams",
+    "title": "Data Streams",
+    "sidebar_label": "Data Streams",
+    "original_id": "concepts-data-streams"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-02-concepts-glossary-md-eff.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-02-concepts-glossary-md-eff.json
new file mode 100644
index 0000000..1ba7457
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-02-concepts-glossary-md-eff.json
@@ -0,0 +1,23 @@
+{
+  "unversionedId": "concepts-glossary",
+  "id": "version-0.90.0/concepts-glossary",
+  "title": "Glossary",
+  "description": "tbd",
+  "source": "@site/versioned_docs/version-0.90.0/02_concepts-glossary.md",
+  "sourceDirName": ".",
+  "slug": "/concepts-glossary",
+  "permalink": "/docs/0.90.0/concepts-glossary",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 2,
+  "frontMatter": {
+    "id": "concepts-glossary",
+    "title": "Glossary",
+    "sidebar_label": "Glossary",
+    "original_id": "concepts-glossary"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-02-concepts-overview-md-6f3.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-02-concepts-overview-md-6f3.json
new file mode 100644
index 0000000..60cfefd
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-02-concepts-overview-md-6f3.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "concepts-overview",
+  "id": "version-0.90.0/concepts-overview",
+  "title": "StreamPipes Concepts",
+  "description": "To understand how StreamPipes works, the knowledge of a few core concepts, illustrated below, will be helpful.",
+  "source": "@site/versioned_docs/version-0.90.0/02_concepts-overview.md",
+  "sourceDirName": ".",
+  "slug": "/concepts-overview",
+  "permalink": "/docs/0.90.0/concepts-overview",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 2,
+  "frontMatter": {
+    "id": "concepts-overview",
+    "title": "StreamPipes Concepts",
+    "sidebar_label": "Overview",
+    "original_id": "concepts-overview"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Installation",
+    "permalink": "/docs/0.90.0/try-installation"
+  },
+  "next": {
+    "title": "StreamPipes Connect",
+    "permalink": "/docs/0.90.0/use-connect"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-02-concepts-pipeline-md-161.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-02-concepts-pipeline-md-161.json
new file mode 100644
index 0000000..5cf9ad0
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-02-concepts-pipeline-md-161.json
@@ -0,0 +1,23 @@
+{
+  "unversionedId": "concepts-pipelines",
+  "id": "version-0.90.0/concepts-pipelines",
+  "title": "Pipelines",
+  "description": "tbd",
+  "source": "@site/versioned_docs/version-0.90.0/02_concepts-pipeline.md",
+  "sourceDirName": ".",
+  "slug": "/concepts-pipelines",
+  "permalink": "/docs/0.90.0/concepts-pipelines",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 2,
+  "frontMatter": {
+    "id": "concepts-pipelines",
+    "title": "Pipelines",
+    "sidebar_label": "Pipelines",
+    "original_id": "concepts-pipelines"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-03-use-configurations-md-625.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-03-use-configurations-md-625.json
new file mode 100644
index 0000000..b947376
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-03-use-configurations-md-625.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "use-configurations",
+  "id": "version-0.90.0/use-configurations",
+  "title": "Configurations",
+  "description": "The configuration section is an admin-only interface for system-wide settings.",
+  "source": "@site/versioned_docs/version-0.90.0/03_use-configurations.md",
+  "sourceDirName": ".",
+  "slug": "/use-configurations",
+  "permalink": "/docs/0.90.0/use-configurations",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 3,
+  "frontMatter": {
+    "id": "use-configurations",
+    "title": "Configurations",
+    "sidebar_label": "Configurations",
+    "original_id": "use-configurations"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Install Pipeline Elements",
+    "permalink": "/docs/0.90.0/use-install-pipeline-elements"
+  },
+  "next": {
+    "title": "Apache Kafka",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.kafka"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-03-use-connect-md-0a4.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-03-use-connect-md-0a4.json
index 702d33f..a055a6d 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-03-use-connect-md-0a4.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-03-use-connect-md-0a4.json
@@ -19,5 +19,14 @@
     "title": "StreamPipes Connect",
     "sidebar_label": "StreamPipes Connect",
     "original_id": "use-connect"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Overview",
+    "permalink": "/docs/0.90.0/concepts-overview"
+  },
+  "next": {
+    "title": "Pipeline Editor",
+    "permalink": "/docs/0.90.0/use-pipeline-editor"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-03-use-dashboard-md-481.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-03-use-dashboard-md-481.json
new file mode 100644
index 0000000..a73f2d5
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-03-use-dashboard-md-481.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "use-dashboard",
+  "id": "version-0.90.0/use-dashboard",
+  "title": "Live Dashboard",
+  "description": "The live dashboard can be used to visualize live data of data streams using a set of visualizations",
+  "source": "@site/versioned_docs/version-0.90.0/03_use-dashboard.md",
+  "sourceDirName": ".",
+  "slug": "/use-dashboard",
+  "permalink": "/docs/0.90.0/use-dashboard",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 3,
+  "frontMatter": {
+    "id": "use-dashboard",
+    "title": "Live Dashboard",
+    "sidebar_label": "Live Dashboard",
+    "original_id": "use-dashboard"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Managing Pipelines",
+    "permalink": "/docs/0.90.0/use-managing-pipelines"
+  },
+  "next": {
+    "title": "Data Explorer",
+    "permalink": "/docs/0.90.0/use-data-explorer"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-03-use-data-explorer-md-467.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-03-use-data-explorer-md-467.json
new file mode 100644
index 0000000..11463fc
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-03-use-data-explorer-md-467.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "use-data-explorer",
+  "id": "version-0.90.0/use-data-explorer",
+  "title": "Data Explorer",
+  "description": "The data explorer can be used to visualize and explore data streams that are persisted by using the Data Lake sink.",
+  "source": "@site/versioned_docs/version-0.90.0/03_use-data-explorer.md",
+  "sourceDirName": ".",
+  "slug": "/use-data-explorer",
+  "permalink": "/docs/0.90.0/use-data-explorer",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 3,
+  "frontMatter": {
+    "id": "use-data-explorer",
+    "title": "Data Explorer",
+    "sidebar_label": "Data Explorer",
+    "original_id": "use-data-explorer"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Live Dashboard",
+    "permalink": "/docs/0.90.0/use-dashboard"
+  },
+  "next": {
+    "title": "Notifications",
+    "permalink": "/docs/0.90.0/use-notifications"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-03-use-install-pipeline-elements-md-ff7.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-03-use-install-pipeline-elements-md-ff7.json
new file mode 100644
index 0000000..cae479e
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-03-use-install-pipeline-elements-md-ff7.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "use-install-pipeline-elements",
+  "id": "version-0.90.0/use-install-pipeline-elements",
+  "title": "Install Pipeline Elements",
+  "description": "Install Pipeline Elements",
+  "source": "@site/versioned_docs/version-0.90.0/03_use-install-pipeline-elements.md",
+  "sourceDirName": ".",
+  "slug": "/use-install-pipeline-elements",
+  "permalink": "/docs/0.90.0/use-install-pipeline-elements",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 3,
+  "frontMatter": {
+    "id": "use-install-pipeline-elements",
+    "title": "Install Pipeline Elements",
+    "sidebar_label": "Install Pipeline Elements",
+    "original_id": "use-install-pipeline-elements"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Notifications",
+    "permalink": "/docs/0.90.0/use-notifications"
+  },
+  "next": {
+    "title": "Configurations",
+    "permalink": "/docs/0.90.0/use-configurations"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-03-use-managing-pipelines-md-5f4.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-03-use-managing-pipelines-md-5f4.json
new file mode 100644
index 0000000..fbff09e
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-03-use-managing-pipelines-md-5f4.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "use-managing-pipelines",
+  "id": "version-0.90.0/use-managing-pipelines",
+  "title": "Managing Pipelines",
+  "description": "The pipeline view lists all created pipelines and provides several views and actions to manage the lifecycle of pipelines.",
+  "source": "@site/versioned_docs/version-0.90.0/03_use-managing-pipelines.md",
+  "sourceDirName": ".",
+  "slug": "/use-managing-pipelines",
+  "permalink": "/docs/0.90.0/use-managing-pipelines",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 3,
+  "frontMatter": {
+    "id": "use-managing-pipelines",
+    "title": "Managing Pipelines",
+    "sidebar_label": "Managing Pipelines",
+    "original_id": "use-managing-pipelines"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Pipeline Editor",
+    "permalink": "/docs/0.90.0/use-pipeline-editor"
+  },
+  "next": {
+    "title": "Live Dashboard",
+    "permalink": "/docs/0.90.0/use-dashboard"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-03-use-notifications-md-946.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-03-use-notifications-md-946.json
new file mode 100644
index 0000000..e8e72f3
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-03-use-notifications-md-946.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "use-notifications",
+  "id": "version-0.90.0/use-notifications",
+  "title": "Notifications",
+  "description": "The notification module can be used to create internal notifications.",
+  "source": "@site/versioned_docs/version-0.90.0/03_use-notifications.md",
+  "sourceDirName": ".",
+  "slug": "/use-notifications",
+  "permalink": "/docs/0.90.0/use-notifications",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 3,
+  "frontMatter": {
+    "id": "use-notifications",
+    "title": "Notifications",
+    "sidebar_label": "Notifications",
+    "original_id": "use-notifications"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Data Explorer",
+    "permalink": "/docs/0.90.0/use-data-explorer"
+  },
+  "next": {
+    "title": "Install Pipeline Elements",
+    "permalink": "/docs/0.90.0/use-install-pipeline-elements"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-03-use-pipeline-editor-md-9b3.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-03-use-pipeline-editor-md-9b3.json
index 9279551..ae6d25a 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-03-use-pipeline-editor-md-9b3.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-03-use-pipeline-editor-md-9b3.json
@@ -19,5 +19,14 @@
     "title": "Pipeline Editor",
     "sidebar_label": "Pipeline Editor",
     "original_id": "use-pipeline-editor"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "StreamPipes Connect",
+    "permalink": "/docs/0.90.0/use-connect"
+  },
+  "next": {
+    "title": "Managing Pipelines",
+    "permalink": "/docs/0.90.0/use-managing-pipelines"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-05-deploy-docker-md-cdb.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-05-deploy-docker-md-cdb.json
new file mode 100644
index 0000000..c2441d9
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-05-deploy-docker-md-cdb.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "deploy-docker",
+  "id": "version-0.90.0/deploy-docker",
+  "title": "Docker Deployment",
+  "description": "StreamPipes Compose is a simple collection of user-friendly docker-compose files that easily lets gain first-hand experience with Apache StreamPipes.",
+  "source": "@site/versioned_docs/version-0.90.0/05_deploy-docker.md",
+  "sourceDirName": ".",
+  "slug": "/deploy-docker",
+  "permalink": "/docs/0.90.0/deploy-docker",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 5,
+  "frontMatter": {
+    "id": "deploy-docker",
+    "title": "Docker Deployment",
+    "sidebar_label": "Docker Deployment",
+    "original_id": "deploy-docker"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Telegram Publisher",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram"
+  },
+  "next": {
+    "title": "Kubernetes Deployment",
+    "permalink": "/docs/0.90.0/deploy-kubernetes"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-05-deploy-kubernetes-md-123.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-05-deploy-kubernetes-md-123.json
new file mode 100644
index 0000000..5ce39ae
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-05-deploy-kubernetes-md-123.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "deploy-kubernetes",
+  "id": "version-0.90.0/deploy-kubernetes",
+  "title": "Kubernetes Deployment",
+  "description": "Prerequisites",
+  "source": "@site/versioned_docs/version-0.90.0/05_deploy-kubernetes.md",
+  "sourceDirName": ".",
+  "slug": "/deploy-kubernetes",
+  "permalink": "/docs/0.90.0/deploy-kubernetes",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 5,
+  "frontMatter": {
+    "id": "deploy-kubernetes",
+    "title": "Kubernetes Deployment",
+    "sidebar_label": "Kubernetes Deployment",
+    "original_id": "deploy-kubernetes"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Docker Deployment",
+    "permalink": "/docs/0.90.0/deploy-docker"
+  },
+  "next": {
+    "title": "Use SSL",
+    "permalink": "/docs/0.90.0/deploy-use-ssl"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-05-deploy-security-md-143.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-05-deploy-security-md-143.json
new file mode 100644
index 0000000..9211d3a
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-05-deploy-security-md-143.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "deploy-security",
+  "id": "version-0.90.0/deploy-security",
+  "title": "Security",
+  "description": "Overriding default settings",
+  "source": "@site/versioned_docs/version-0.90.0/05_deploy-security.md",
+  "sourceDirName": ".",
+  "slug": "/deploy-security",
+  "permalink": "/docs/0.90.0/deploy-security",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 5,
+  "frontMatter": {
+    "id": "deploy-security",
+    "title": "Security",
+    "sidebar_label": "Security",
+    "original_id": "deploy-security"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Use SSL",
+    "permalink": "/docs/0.90.0/deploy-use-ssl"
+  },
+  "next": {
+    "title": "Development Setup",
+    "permalink": "/docs/0.90.0/extend-setup"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-05-deploy-use-ssl-md-7b8.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-05-deploy-use-ssl-md-7b8.json
new file mode 100644
index 0000000..b62415a
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-05-deploy-use-ssl-md-7b8.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "deploy-use-ssl",
+  "id": "version-0.90.0/deploy-use-ssl",
+  "title": "Use SSL",
+  "description": "This page explains how SSL Certificates can be used to provide transport layer security between your Browser and the Streampipes Backend.",
+  "source": "@site/versioned_docs/version-0.90.0/05_deploy-use-ssl.md",
+  "sourceDirName": ".",
+  "slug": "/deploy-use-ssl",
+  "permalink": "/docs/0.90.0/deploy-use-ssl",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 5,
+  "frontMatter": {
+    "id": "deploy-use-ssl",
+    "title": "Use SSL",
+    "sidebar_label": "Use SSL",
+    "original_id": "deploy-use-ssl"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Kubernetes Deployment",
+    "permalink": "/docs/0.90.0/deploy-kubernetes"
+  },
+  "next": {
+    "title": "Security",
+    "permalink": "/docs/0.90.0/deploy-security"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-archetypes-md-61f.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-archetypes-md-61f.json
new file mode 100644
index 0000000..8119a74
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-archetypes-md-61f.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "extend-archetypes",
+  "id": "version-0.90.0/extend-archetypes",
+  "title": "Maven Archetypes",
+  "description": "In this tutorial we explain how you can use the Maven archetypes to develop your own StreamPipes processors and sinks.",
+  "source": "@site/versioned_docs/version-0.90.0/06_extend-archetypes.md",
+  "sourceDirName": ".",
+  "slug": "/extend-archetypes",
+  "permalink": "/docs/0.90.0/extend-archetypes",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 6,
+  "frontMatter": {
+    "id": "extend-archetypes",
+    "title": "Maven Archetypes",
+    "sidebar_label": "Maven Archetypes",
+    "original_id": "extend-archetypes"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "StreamPipes CLI",
+    "permalink": "/docs/0.90.0/extend-cli"
+  },
+  "next": {
+    "title": "Your first data processor",
+    "permalink": "/docs/0.90.0/extend-first-processor"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-cli-md-79d.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-cli-md-79d.json
index bdf5e61..6e00ff2 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-cli-md-79d.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-cli-md-79d.json
@@ -19,5 +19,14 @@
     "title": "StreamPipes CLI",
     "sidebar_label": "StreamPipes CLI",
     "original_id": "extend-cli"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Development Setup",
+    "permalink": "/docs/0.90.0/extend-setup"
+  },
+  "next": {
+    "title": "Maven Archetypes",
+    "permalink": "/docs/0.90.0/extend-archetypes"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-first-processor-md-aa9.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-first-processor-md-aa9.json
new file mode 100644
index 0000000..9db6e16
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-first-processor-md-aa9.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "extend-first-processor",
+  "id": "version-0.90.0/extend-first-processor",
+  "title": "Your first data processor",
+  "description": "In this section, we will explain how to start a pipeline element service and install it using the StreamPipes UI.",
+  "source": "@site/versioned_docs/version-0.90.0/06_extend-first-processor.md",
+  "sourceDirName": ".",
+  "slug": "/extend-first-processor",
+  "permalink": "/docs/0.90.0/extend-first-processor",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 6,
+  "frontMatter": {
+    "id": "extend-first-processor",
+    "title": "Your first data processor",
+    "sidebar_label": "Your first data processor",
+    "original_id": "extend-first-processor"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Maven Archetypes",
+    "permalink": "/docs/0.90.0/extend-archetypes"
+  },
+  "next": {
+    "title": "Tutorial: Data Sources",
+    "permalink": "/docs/0.90.0/extend-tutorial-data-sources"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-sdk-event-model-md-7de.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-sdk-event-model-md-7de.json
new file mode 100644
index 0000000..22163c3
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-sdk-event-model-md-7de.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "extend-sdk-event-model",
+  "id": "version-0.90.0/extend-sdk-event-model",
+  "title": "SDK Guide: Event Model",
+  "description": "Introduction",
+  "source": "@site/versioned_docs/version-0.90.0/06_extend-sdk-event-model.md",
+  "sourceDirName": ".",
+  "slug": "/extend-sdk-event-model",
+  "permalink": "/docs/0.90.0/extend-sdk-event-model",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 6,
+  "frontMatter": {
+    "id": "extend-sdk-event-model",
+    "title": "SDK Guide: Event Model",
+    "sidebar_label": "SDK: Event Model",
+    "original_id": "extend-sdk-event-model"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "SDK: Functions",
+    "permalink": "/docs/0.90.0/extend-sdk-functions"
+  },
+  "next": {
+    "title": "SDK: Stream Requirements",
+    "permalink": "/docs/0.90.0/extend-sdk-stream-requirements"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-sdk-functions-md-bdb.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-sdk-functions-md-bdb.json
index 50484aa..fe515e0 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-sdk-functions-md-bdb.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-sdk-functions-md-bdb.json
@@ -19,5 +19,14 @@
     "title": "SDK Guide: Functions",
     "sidebar_label": "SDK: Functions",
     "original_id": "extend-sdk-functions"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Tutorial: Data Sinks",
+    "permalink": "/docs/0.90.0/extend-tutorial-data-sinks"
+  },
+  "next": {
+    "title": "SDK: Event Model",
+    "permalink": "/docs/0.90.0/extend-sdk-event-model"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-sdk-migration-sd-md-db1.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-sdk-migration-sd-md-db1.json
index ce1937b..b5b836b 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-sdk-migration-sd-md-db1.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-sdk-migration-sd-md-db1.json
@@ -19,5 +19,14 @@
     "title": "Migration Guide: New Service Discovery in 0.69.0",
     "sidebar_label": "Migration Guide: 0.69.0",
     "original_id": "extend-sdk-migration-service-discovery"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "SDK: Output Strategies",
+    "permalink": "/docs/0.90.0/extend-sdk-output-strategies"
+  },
+  "next": {
+    "title": "Architecture",
+    "permalink": "/docs/0.90.0/technicals-architecture"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-sdk-output-strategies-md-2e3.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-sdk-output-strategies-md-2e3.json
index 5a29673..c98b614 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-sdk-output-strategies-md-2e3.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-sdk-output-strategies-md-2e3.json
@@ -19,5 +19,14 @@
     "title": "SDK Guide: Output Strategies",
     "sidebar_label": "SDK: Output Strategies",
     "original_id": "extend-sdk-output-strategies"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "SDK: Static Properties",
+    "permalink": "/docs/0.90.0/extend-sdk-static-properties"
+  },
+  "next": {
+    "title": "Migration Guide: 0.69.0",
+    "permalink": "/docs/0.90.0/extend-sdk-migration-service-discovery"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-sdk-static-properties-md-22c.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-sdk-static-properties-md-22c.json
index a87c25f..d833c03 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-sdk-static-properties-md-22c.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-sdk-static-properties-md-22c.json
@@ -19,5 +19,14 @@
     "title": "SDK Guide: Static Properties",
     "sidebar_label": "SDK: Static Properties",
     "original_id": "extend-sdk-static-properties"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "SDK: Stream Requirements",
+    "permalink": "/docs/0.90.0/extend-sdk-stream-requirements"
+  },
+  "next": {
+    "title": "SDK: Output Strategies",
+    "permalink": "/docs/0.90.0/extend-sdk-output-strategies"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-sdk-stream-requirements-md-34f.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-sdk-stream-requirements-md-34f.json
index 32f5f8d..faa8eca 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-sdk-stream-requirements-md-34f.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-sdk-stream-requirements-md-34f.json
@@ -19,5 +19,14 @@
     "title": "SDK Guide: Stream Requirements",
     "sidebar_label": "SDK: Stream Requirements",
     "original_id": "extend-sdk-stream-requirements"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "SDK: Event Model",
+    "permalink": "/docs/0.90.0/extend-sdk-event-model"
+  },
+  "next": {
+    "title": "SDK: Static Properties",
+    "permalink": "/docs/0.90.0/extend-sdk-static-properties"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-setup-md-8ed.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-setup-md-8ed.json
index a0d8cfd..591776d 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-setup-md-8ed.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-setup-md-8ed.json
@@ -19,5 +19,14 @@
     "title": "Development Setup",
     "sidebar_label": "Development Setup",
     "original_id": "extend-setup"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Security",
+    "permalink": "/docs/0.90.0/deploy-security"
+  },
+  "next": {
+    "title": "StreamPipes CLI",
+    "permalink": "/docs/0.90.0/extend-cli"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-tutorial-data-processors-md-8eb.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-tutorial-data-processors-md-8eb.json
index eb917b5..20419a1 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-tutorial-data-processors-md-8eb.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-tutorial-data-processors-md-8eb.json
@@ -19,5 +19,14 @@
     "title": "Tutorial: Data Processors",
     "sidebar_label": "Tutorial: Data Processors",
     "original_id": "extend-tutorial-data-processors"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Tutorial: Data Sources",
+    "permalink": "/docs/0.90.0/extend-tutorial-data-sources"
+  },
+  "next": {
+    "title": "Tutorial: Data Sinks",
+    "permalink": "/docs/0.90.0/extend-tutorial-data-sinks"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-tutorial-data-sinks-md-874.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-tutorial-data-sinks-md-874.json
index 5b100f2..2ad9deb 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-tutorial-data-sinks-md-874.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-tutorial-data-sinks-md-874.json
@@ -19,5 +19,14 @@
     "title": "Tutorial: Data Sinks",
     "sidebar_label": "Tutorial: Data Sinks",
     "original_id": "extend-tutorial-data-sinks"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Tutorial: Data Processors",
+    "permalink": "/docs/0.90.0/extend-tutorial-data-processors"
+  },
+  "next": {
+    "title": "SDK: Functions",
+    "permalink": "/docs/0.90.0/extend-sdk-functions"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-tutorial-data-sources-md-b8a.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-tutorial-data-sources-md-b8a.json
index 9dbe83b..ea88b75 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-tutorial-data-sources-md-b8a.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-06-extend-tutorial-data-sources-md-b8a.json
@@ -19,5 +19,14 @@
     "title": "Tutorial: Data Sources",
     "sidebar_label": "Tutorial: Data Sources",
     "original_id": "extend-tutorial-data-sources"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Your first data processor",
+    "permalink": "/docs/0.90.0/extend-first-processor"
+  },
+  "next": {
+    "title": "Tutorial: Data Processors",
+    "permalink": "/docs/0.90.0/extend-tutorial-data-processors"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-07-technicals-architecture-md-b1b.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-07-technicals-architecture-md-b1b.json
new file mode 100644
index 0000000..d56be1f
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-07-technicals-architecture-md-b1b.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "technicals-architecture",
+  "id": "version-0.90.0/technicals-architecture",
+  "title": "Architecture",
+  "description": "The following picture illustrates the high-level architecture of StreamPipes:",
+  "source": "@site/versioned_docs/version-0.90.0/07_technicals-architecture.md",
+  "sourceDirName": ".",
+  "slug": "/technicals-architecture",
+  "permalink": "/docs/0.90.0/technicals-architecture",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 7,
+  "frontMatter": {
+    "id": "technicals-architecture",
+    "title": "Architecture",
+    "sidebar_label": "Architecture",
+    "original_id": "technicals-architecture"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Migration Guide: 0.69.0",
+    "permalink": "/docs/0.90.0/extend-sdk-migration-service-discovery"
+  },
+  "next": {
+    "title": "User Guidance",
+    "permalink": "/docs/0.90.0/technicals-user-guidance"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-07-technicals-configuration-md-45a.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-07-technicals-configuration-md-45a.json
index 3437ef2..208c105 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-07-technicals-configuration-md-45a.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-07-technicals-configuration-md-45a.json
@@ -19,5 +19,14 @@
     "title": "Configuration",
     "sidebar_label": "Configuration",
     "original_id": "technicals-configuration"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Messaging",
+    "permalink": "/docs/0.90.0/technicals-messaging"
+  },
+  "next": {
+    "title": "Get Help",
+    "permalink": "/docs/0.90.0/community-get-help"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-07-technicals-messaging-md-c5b.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-07-technicals-messaging-md-c5b.json
new file mode 100644
index 0000000..fffd35a
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-07-technicals-messaging-md-c5b.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "technicals-messaging",
+  "id": "version-0.90.0/technicals-messaging",
+  "title": "Messaging",
+  "description": "tbd",
+  "source": "@site/versioned_docs/version-0.90.0/07_technicals-messaging.md",
+  "sourceDirName": ".",
+  "slug": "/technicals-messaging",
+  "permalink": "/docs/0.90.0/technicals-messaging",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 7,
+  "frontMatter": {
+    "id": "technicals-messaging",
+    "title": "Messaging",
+    "sidebar_label": "Messaging",
+    "original_id": "technicals-messaging"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Runtime Wrappers",
+    "permalink": "/docs/0.90.0/technicals-runtime-wrappers"
+  },
+  "next": {
+    "title": "Configuration",
+    "permalink": "/docs/0.90.0/technicals-configuration"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-07-technicals-runtime-wrappers-md-5fa.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-07-technicals-runtime-wrappers-md-5fa.json
new file mode 100644
index 0000000..791ca8a
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-07-technicals-runtime-wrappers-md-5fa.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "technicals-runtime-wrappers",
+  "id": "version-0.90.0/technicals-runtime-wrappers",
+  "title": "Runtime Wrappers",
+  "description": "tbd",
+  "source": "@site/versioned_docs/version-0.90.0/07_technicals-runtime-wrappers.md",
+  "sourceDirName": ".",
+  "slug": "/technicals-runtime-wrappers",
+  "permalink": "/docs/0.90.0/technicals-runtime-wrappers",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 7,
+  "frontMatter": {
+    "id": "technicals-runtime-wrappers",
+    "title": "Runtime Wrappers",
+    "sidebar_label": "Runtime Wrappers",
+    "original_id": "technicals-runtime-wrappers"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "User Guidance",
+    "permalink": "/docs/0.90.0/technicals-user-guidance"
+  },
+  "next": {
+    "title": "Messaging",
+    "permalink": "/docs/0.90.0/technicals-messaging"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-07-technicals-user-guidance-md-12f.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-07-technicals-user-guidance-md-12f.json
new file mode 100644
index 0000000..ae32d2a
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-07-technicals-user-guidance-md-12f.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "technicals-user-guidance",
+  "id": "version-0.90.0/technicals-user-guidance",
+  "title": "User Guidance",
+  "description": "tbd",
+  "source": "@site/versioned_docs/version-0.90.0/07_technicals-user-guidance.md",
+  "sourceDirName": ".",
+  "slug": "/technicals-user-guidance",
+  "permalink": "/docs/0.90.0/technicals-user-guidance",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 7,
+  "frontMatter": {
+    "id": "technicals-user-guidance",
+    "title": "User Guidance",
+    "sidebar_label": "User Guidance",
+    "original_id": "technicals-user-guidance"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Architecture",
+    "permalink": "/docs/0.90.0/technicals-architecture"
+  },
+  "next": {
+    "title": "Runtime Wrappers",
+    "permalink": "/docs/0.90.0/technicals-runtime-wrappers"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-08-debugging-md-93f.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-08-debugging-md-93f.json
new file mode 100644
index 0000000..4363d04
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-08-debugging-md-93f.json
@@ -0,0 +1,23 @@
+{
+  "unversionedId": "debugging-debugging",
+  "id": "version-0.90.0/debugging-debugging",
+  "title": "Debugging",
+  "description": "tbd",
+  "source": "@site/versioned_docs/version-0.90.0/08_debugging.md",
+  "sourceDirName": ".",
+  "slug": "/debugging-debugging",
+  "permalink": "/docs/0.90.0/debugging-debugging",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 8,
+  "frontMatter": {
+    "id": "debugging-debugging",
+    "title": "Debugging",
+    "sidebar_label": "Debugging",
+    "original_id": "debugging-debugging"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-08-monitoring-md-8da.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-08-monitoring-md-8da.json
new file mode 100644
index 0000000..93ffde8
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-08-monitoring-md-8da.json
@@ -0,0 +1,23 @@
+{
+  "unversionedId": "debugging-monitoring",
+  "id": "version-0.90.0/debugging-monitoring",
+  "title": "Monitoring",
+  "description": "tbd",
+  "source": "@site/versioned_docs/version-0.90.0/08_monitoring.md",
+  "sourceDirName": ".",
+  "slug": "/debugging-monitoring",
+  "permalink": "/docs/0.90.0/debugging-monitoring",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 8,
+  "frontMatter": {
+    "id": "debugging-monitoring",
+    "title": "Monitoring",
+    "sidebar_label": "Monitoring",
+    "original_id": "debugging-monitoring"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-09-contribute-md-486.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-09-contribute-md-486.json
index 0e37762..246f599 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-09-contribute-md-486.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-09-contribute-md-486.json
@@ -19,5 +19,10 @@
     "title": "Contribute",
     "sidebar_label": "Contribute",
     "original_id": "community-contribute"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Get Help",
+    "permalink": "/docs/0.90.0/community-get-help"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-09-get-help-md-bd0.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-09-get-help-md-bd0.json
new file mode 100644
index 0000000..9e9d005
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-09-get-help-md-bd0.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "community-get-help",
+  "id": "version-0.90.0/community-get-help",
+  "title": "Get Help",
+  "description": "The Apache StreamPipes community is happy to help with any questions or problems you might have.",
+  "source": "@site/versioned_docs/version-0.90.0/09_get-help.md",
+  "sourceDirName": ".",
+  "slug": "/community-get-help",
+  "permalink": "/docs/0.90.0/community-get-help",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 9,
+  "frontMatter": {
+    "id": "community-get-help",
+    "title": "Get Help",
+    "sidebar_label": "Get Help",
+    "original_id": "community-get-help"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Configuration",
+    "permalink": "/docs/0.90.0/technicals-configuration"
+  },
+  "next": {
+    "title": "Contribute",
+    "permalink": "/docs/0.90.0/community-contribute"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-dev-guide-archetype-md-03c.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-dev-guide-archetype-md-03c.json
new file mode 100644
index 0000000..ba89e49
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-dev-guide-archetype-md-03c.json
@@ -0,0 +1,22 @@
+{
+  "unversionedId": "dev-guide-archetype",
+  "id": "version-0.90.0/dev-guide-archetype",
+  "title": "Start Developing",
+  "description": "",
+  "source": "@site/versioned_docs/version-0.90.0/dev-guide-archetype.md",
+  "sourceDirName": ".",
+  "slug": "/dev-guide-archetype",
+  "permalink": "/docs/0.90.0/dev-guide-archetype",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "dev-guide-archetype",
+    "title": "Start Developing",
+    "sidebar_label": "Start Developing",
+    "original_id": "dev-guide-archetype"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-dev-guide-processor-sdk-md-429.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-dev-guide-processor-sdk-md-429.json
new file mode 100644
index 0000000..a4f796c
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-dev-guide-processor-sdk-md-429.json
@@ -0,0 +1,22 @@
+{
+  "unversionedId": "dev-guide-sdk-guide-processors",
+  "id": "version-0.90.0/dev-guide-sdk-guide-processors",
+  "title": "SDK Guide: Data Processors",
+  "description": "Project Setup",
+  "source": "@site/versioned_docs/version-0.90.0/dev-guide-processor-sdk.md",
+  "sourceDirName": ".",
+  "slug": "/dev-guide-sdk-guide-processors",
+  "permalink": "/docs/0.90.0/dev-guide-sdk-guide-processors",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "dev-guide-sdk-guide-processors",
+    "title": "SDK Guide: Data Processors",
+    "sidebar_label": "SDK Guide: Data Processors",
+    "original_id": "dev-guide-sdk-guide-processors"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-dev-guide-sink-sdk-md-b58.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-dev-guide-sink-sdk-md-b58.json
new file mode 100644
index 0000000..b5b583a
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-dev-guide-sink-sdk-md-b58.json
@@ -0,0 +1,22 @@
+{
+  "unversionedId": "dev-guide-sdk-guide-sinks",
+  "id": "version-0.90.0/dev-guide-sdk-guide-sinks",
+  "title": "SDK Guide: Data Sinks",
+  "description": "Project Setup",
+  "source": "@site/versioned_docs/version-0.90.0/dev-guide-sink-sdk.md",
+  "sourceDirName": ".",
+  "slug": "/dev-guide-sdk-guide-sinks",
+  "permalink": "/docs/0.90.0/dev-guide-sdk-guide-sinks",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "dev-guide-sdk-guide-sinks",
+    "title": "SDK Guide: Data Sinks",
+    "sidebar_label": "SDK Guide: Data Sinks",
+    "original_id": "dev-guide-sdk-guide-sinks"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-faq-common-problems-md-ef3.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-faq-common-problems-md-ef3.json
new file mode 100644
index 0000000..b2c6c6c
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-faq-common-problems-md-ef3.json
@@ -0,0 +1,23 @@
+{
+  "unversionedId": "faq-common-problems",
+  "id": "version-0.90.0/faq-common-problems",
+  "title": "Common Problems",
+  "description": "* Windows 10: Consul, Kafka, Zookeeper, or Kafka-Rest did not start",
+  "source": "@site/versioned_docs/version-0.90.0/faq-common-problems.md",
+  "sourceDirName": ".",
+  "slug": "/faq-common-problems",
+  "permalink": "/docs/0.90.0/faq-common-problems",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "faq-common-problems",
+    "title": "Common Problems",
+    "sidebar_label": "Common Problems",
+    "original_id": "faq-common-problems"
+  },
+  "sidebar": "faq"
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-coindesk-md-291.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-coindesk-md-291.json
new file mode 100644
index 0000000..9570e56
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-coindesk-md-291.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.coindesk",
+  "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.coindesk",
+  "title": "Coindesk Bitcoin Price",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.coindesk.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.coindesk",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.coindesk",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.coindesk",
+    "title": "Coindesk Bitcoin Price",
+    "sidebar_label": "Coindesk Bitcoin Price",
+    "original_id": "org.apache.streampipes.connect.adapters.coindesk"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Apache Pulsar",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar"
+  },
+  "next": {
+    "title": "File Stream",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.file"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-flic-mqtt-md-219.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-flic-mqtt-md-219.json
index efefdf9..4eec2bc 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-flic-mqtt-md-219.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-flic-mqtt-md-219.json
@@ -17,5 +17,14 @@
     "id": "org.apache.streampipes.connect.adapters.flic.mqtt",
     "title": "Flic MQTT",
     "sidebar_label": "Flic MQTT"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "File Set",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.protocol.set.file"
+  },
+  "next": {
+    "title": "GDELT",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.gdelt"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-gdelt-md-27b.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-gdelt-md-27b.json
new file mode 100644
index 0000000..4a1c325
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-gdelt-md-27b.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.gdelt",
+  "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.gdelt",
+  "title": "GDELT",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.gdelt.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.gdelt",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.gdelt",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.gdelt",
+    "title": "GDELT",
+    "sidebar_label": "GDELT",
+    "original_id": "org.apache.streampipes.connect.adapters.gdelt"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Flic MQTT",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt"
+  },
+  "next": {
+    "title": "HTTP Server",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-iex-news-md-989.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-iex-news-md-989.json
new file mode 100644
index 0000000..a9def78
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-iex-news-md-989.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.iex.news",
+  "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.iex.news",
+  "title": "IEX Cloud News",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.iex.news.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.iex.news",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iex.news",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.iex.news",
+    "title": "IEX Cloud News",
+    "sidebar_label": "IEX Cloud News",
+    "original_id": "org.apache.streampipes.connect.adapters.iex.news"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "HTTP Stream",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.http"
+  },
+  "next": {
+    "title": "IEX Cloud Stock Quotes",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iex.stocks"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-iex-stocks-md-470.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-iex-stocks-md-470.json
new file mode 100644
index 0000000..8276661
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-iex-stocks-md-470.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.iex.stocks",
+  "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.iex.stocks",
+  "title": "IEX Cloud Stock Quotes",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.iex.stocks.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.iex.stocks",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iex.stocks",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.iex.stocks",
+    "title": "IEX Cloud Stock Quotes",
+    "sidebar_label": "IEX Cloud Stock Quotes",
+    "original_id": "org.apache.streampipes.connect.adapters.iex.stocks"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "IEX Cloud News",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iex.news"
+  },
+  "next": {
+    "title": "ISS Location",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iss"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-image-set-md-54c.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-image-set-md-54c.json
new file mode 100644
index 0000000..a6676da
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-image-set-md-54c.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.image.set",
+  "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.image.set",
+  "title": "Image Upload (Set)",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.image.set.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.image.set",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.image.set",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.image.set",
+    "title": "Image Upload (Set)",
+    "sidebar_label": "Image Upload (Set)",
+    "original_id": "org.apache.streampipes.connect.adapters.image.set"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "ISS Location",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iss"
+  },
+  "next": {
+    "title": "Image Upload (Stream)",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.image.stream"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-image-stream-md-73a.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-image-stream-md-73a.json
new file mode 100644
index 0000000..a8e7d67
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-image-stream-md-73a.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.image.stream",
+  "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.image.stream",
+  "title": "Image Upload (Stream)",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.image.stream.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.image.stream",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.image.stream",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.image.stream",
+    "title": "Image Upload (Stream)",
+    "sidebar_label": "Image Upload (Stream)",
+    "original_id": "org.apache.streampipes.connect.adapters.image.stream"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Image Upload (Set)",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.image.set"
+  },
+  "next": {
+    "title": "InfluxDB Set Adapter",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.set"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-influxdb-set-md-83a.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-influxdb-set-md-83a.json
new file mode 100644
index 0000000..18feeb6
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-influxdb-set-md-83a.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.influxdb.set",
+  "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.set",
+  "title": "InfluxDB Set Adapter",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.set.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.influxdb.set",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.set",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.influxdb.set",
+    "title": "InfluxDB Set Adapter",
+    "sidebar_label": "InfluxDB Set Adapter",
+    "original_id": "org.apache.streampipes.connect.adapters.influxdb.set"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Image Upload (Stream)",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.image.stream"
+  },
+  "next": {
+    "title": "InfluxDB Stream Adapter",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-influxdb-stream-md-bbe.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-influxdb-stream-md-bbe.json
new file mode 100644
index 0000000..aaddc45
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-influxdb-stream-md-bbe.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.influxdb.stream",
+  "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream",
+  "title": "InfluxDB Stream Adapter",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.influxdb.stream",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.influxdb.stream",
+    "title": "InfluxDB Stream Adapter",
+    "sidebar_label": "InfluxDB Stream Adapter",
+    "original_id": "org.apache.streampipes.connect.adapters.influxdb.stream"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "InfluxDB Set Adapter",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.set"
+  },
+  "next": {
+    "title": "MQTT",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-iss-md-a59.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-iss-md-a59.json
new file mode 100644
index 0000000..5127d6e
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-iss-md-a59.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.iss",
+  "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.iss",
+  "title": "ISS Location",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.iss.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.iss",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iss",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.iss",
+    "title": "ISS Location",
+    "sidebar_label": "ISS Location",
+    "original_id": "org.apache.streampipes.connect.adapters.iss"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "IEX Cloud Stock Quotes",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iex.stocks"
+  },
+  "next": {
+    "title": "Image Upload (Set)",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.image.set"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-mysql-set-md-353.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-mysql-set-md-353.json
new file mode 100644
index 0000000..49ba7fd
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-mysql-set-md-353.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.mysql.set",
+  "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.set",
+  "title": "MySQL Set Adapter",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.set.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.mysql.set",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.set",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.mysql.set",
+    "title": "MySQL Set Adapter",
+    "sidebar_label": "MySQL Set Adapter",
+    "original_id": "org.apache.streampipes.connect.adapters.mysql.set"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Machine Data Simulator",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.machine"
+  },
+  "next": {
+    "title": "MySql Stream Adapter",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.stream"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-mysql-stream-md-6bb.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-mysql-stream-md-6bb.json
new file mode 100644
index 0000000..20c221c
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-mysql-stream-md-6bb.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.mysql.stream",
+  "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.stream",
+  "title": "MySql Stream Adapter",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.stream.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.mysql.stream",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.stream",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.mysql.stream",
+    "title": "MySql Stream Adapter",
+    "sidebar_label": "MySql Stream Adapter",
+    "original_id": "org.apache.streampipes.connect.adapters.mysql.stream"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "MySQL Set Adapter",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.set"
+  },
+  "next": {
+    "title": "NETIO MQTT M2M",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-netio-mqtt-md-6d6.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-netio-mqtt-md-6d6.json
new file mode 100644
index 0000000..8e36d2e
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-netio-mqtt-md-6d6.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.netio.mqtt",
+  "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt",
+  "title": "NETIO MQTT M2M",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.netio.mqtt",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.netio.mqtt",
+    "title": "NETIO MQTT M2M",
+    "sidebar_label": "NETIO MQTT M2M",
+    "original_id": "org.apache.streampipes.connect.adapters.netio.mqtt"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "MySql Stream Adapter",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.stream"
+  },
+  "next": {
+    "title": "NETIO http JSON",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.netio.rest"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-netio-rest-md-99d.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-netio-rest-md-99d.json
new file mode 100644
index 0000000..09bc96f
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-netio-rest-md-99d.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.netio.rest",
+  "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.netio.rest",
+  "title": "NETIO http JSON",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.netio.rest.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.netio.rest",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.netio.rest",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.netio.rest",
+    "title": "NETIO http JSON",
+    "sidebar_label": "NETIO http JSON",
+    "original_id": "org.apache.streampipes.connect.adapters.netio.rest"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "NETIO MQTT M2M",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt"
+  },
+  "next": {
+    "title": "NSW Traffic Cameras",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-nswaustralia-trafficcamera-md-d1c.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-nswaustralia-trafficcamera-md-d1c.json
new file mode 100644
index 0000000..80cd7d8
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-nswaustralia-trafficcamera-md-d1c.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
+  "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
+  "title": "NSW Traffic Cameras",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
+    "title": "NSW Traffic Cameras",
+    "sidebar_label": "NSW Traffic Cameras",
+    "original_id": "org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "NETIO http JSON",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.netio.rest"
+  },
+  "next": {
+    "title": "OPC UA",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.opcua"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-opcua-md-bc8.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-opcua-md-bc8.json
index 2e1ba13..b094b39 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-opcua-md-bc8.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-opcua-md-bc8.json
@@ -18,5 +18,14 @@
     "title": "OPC UA",
     "sidebar_label": "OPC UA",
     "original_id": "org.apache.streampipes.connect.adapters.opcua"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "NSW Traffic Cameras",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera"
+  },
+  "next": {
+    "title": "PLC4X MODBUS",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-modbus-md-b54.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-modbus-md-b54.json
index 31b1568..33801ef 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-modbus-md-b54.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-modbus-md-b54.json
@@ -18,5 +18,14 @@
     "title": "PLC4X MODBUS",
     "sidebar_label": "PLC4X MODBUS",
     "original_id": "org.apache.streampipes.connect.adapters.plc4x.modbus"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "OPC UA",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.opcua"
+  },
+  "next": {
+    "title": "PLC4X S7",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-s-7-md-b2e.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-s-7-md-b2e.json
new file mode 100644
index 0000000..fb16b51
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-s-7-md-b2e.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.plc4x.s7",
+  "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7",
+  "title": "PLC4X S7",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.plc4x.s7",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.plc4x.s7",
+    "title": "PLC4X S7",
+    "sidebar_label": "PLC4X S7",
+    "original_id": "org.apache.streampipes.connect.adapters.plc4x.s7"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "PLC4X MODBUS",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus"
+  },
+  "next": {
+    "title": "ROS Bridge",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.ros"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-ros-md-80c.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-ros-md-80c.json
new file mode 100644
index 0000000..83fec8c
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-ros-md-80c.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.ros",
+  "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.ros",
+  "title": "ROS Bridge",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.ros.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.ros",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.ros",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.ros",
+    "title": "ROS Bridge",
+    "sidebar_label": "ROS Bridge",
+    "original_id": "org.apache.streampipes.connect.adapters.ros"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "PLC4X S7",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7"
+  },
+  "next": {
+    "title": "Random Data Simulator (Set)",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-simulator-machine-md-ab5.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-simulator-machine-md-ab5.json
index d626665..9e5394d 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-simulator-machine-md-ab5.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-simulator-machine-md-ab5.json
@@ -18,5 +18,14 @@
     "title": "Machine Data Simulator",
     "sidebar_label": "Machine Data Simulator",
     "original_id": "org.apache.streampipes.connect.adapters.simulator.machine"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "MQTT",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt"
+  },
+  "next": {
+    "title": "MySQL Set Adapter",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.set"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-simulator-randomdataset-md-c43.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-simulator-randomdataset-md-c43.json
new file mode 100644
index 0000000..329ed95
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-simulator-randomdataset-md-c43.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
+  "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
+  "title": "Random Data Simulator (Set)",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.simulator.randomdataset",
+    "title": "Random Data Simulator (Set)",
+    "sidebar_label": "Random Data Simulator (Set)",
+    "original_id": "org.apache.streampipes.connect.adapters.simulator.randomdataset"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "ROS Bridge",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.ros"
+  },
+  "next": {
+    "title": "Random Data Simulator (Stream)",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-simulator-randomdatastream-md-891.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-simulator-randomdatastream-md-891.json
new file mode 100644
index 0000000..f029d18
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-simulator-randomdatastream-md-891.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
+  "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
+  "title": "Random Data Simulator (Stream)",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.simulator.randomdatastream",
+    "title": "Random Data Simulator (Stream)",
+    "sidebar_label": "Random Data Simulator (Stream)",
+    "original_id": "org.apache.streampipes.connect.adapters.simulator.randomdatastream"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Random Data Simulator (Set)",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset"
+  },
+  "next": {
+    "title": "Slack",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.slack"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-slack-md-965.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-slack-md-965.json
new file mode 100644
index 0000000..3bdef87
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-slack-md-965.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.slack",
+  "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.slack",
+  "title": "Slack",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.slack.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.slack",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.slack",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.slack",
+    "title": "Slack",
+    "sidebar_label": "Slack",
+    "original_id": "org.apache.streampipes.connect.adapters.slack"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Random Data Simulator (Stream)",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream"
+  },
+  "next": {
+    "title": "TI Sensor Tag",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.ti"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-ti-md-f2c.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-ti-md-f2c.json
new file mode 100644
index 0000000..fe4cd0e
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-ti-md-f2c.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.ti",
+  "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.ti",
+  "title": "TI Sensor Tag",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.ti.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.ti",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.ti",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.ti",
+    "title": "TI Sensor Tag",
+    "sidebar_label": "TI Sensor Tag",
+    "original_id": "org.apache.streampipes.connect.adapters.ti"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Slack",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.slack"
+  },
+  "next": {
+    "title": "Wikipedia Edits",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-wikipedia-edit-md-b82.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-wikipedia-edit-md-b82.json
new file mode 100644
index 0000000..c1a2e92
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-wikipedia-edit-md-b82.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
+  "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
+  "title": "Wikipedia Edits",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.wikipedia.edit",
+    "title": "Wikipedia Edits",
+    "sidebar_label": "Wikipedia Edits",
+    "original_id": "org.apache.streampipes.connect.adapters.wikipedia.edit"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "TI Sensor Tag",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.ti"
+  },
+  "next": {
+    "title": "Wikipedia New Articles",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-wikipedia-new-md-3b6.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-wikipedia-new-md-3b6.json
new file mode 100644
index 0000000..aae2fc9
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-adapters-wikipedia-new-md-3b6.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.wikipedia.new",
+  "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new",
+  "title": "Wikipedia New Articles",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.wikipedia.new",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.wikipedia.new",
+    "title": "Wikipedia New Articles",
+    "sidebar_label": "Wikipedia New Articles",
+    "original_id": "org.apache.streampipes.connect.adapters.wikipedia.new"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Wikipedia Edits",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit"
+  },
+  "next": {
+    "title": "Absence",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-file-md-e7b.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-file-md-e7b.json
new file mode 100644
index 0000000..0b9f1ad
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-file-md-e7b.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.file",
+  "id": "version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.file",
+  "title": "File Stream",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.file.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.protocol.stream.file",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.file",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.protocol.stream.file",
+    "title": "File Stream",
+    "sidebar_label": "File Stream",
+    "original_id": "org.apache.streampipes.connect.protocol.stream.file"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Coindesk Bitcoin Price",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.coindesk"
+  },
+  "next": {
+    "title": "File Set",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.protocol.set.file"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-http-md-8d6.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-http-md-8d6.json
new file mode 100644
index 0000000..54ed9fa
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-http-md-8d6.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.http",
+  "id": "version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.http",
+  "title": "HTTP Stream",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.http.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.protocol.stream.http",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.http",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.protocol.stream.http",
+    "title": "HTTP Stream",
+    "sidebar_label": "HTTP Stream",
+    "original_id": "org.apache.streampipes.connect.protocol.stream.http"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "HTTP Set",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.protocol.set.http"
+  },
+  "next": {
+    "title": "IEX Cloud News",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iex.news"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-httpserver-md-5c7.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-httpserver-md-5c7.json
index 5e926da..161f561 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-httpserver-md-5c7.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-httpserver-md-5c7.json
@@ -18,5 +18,14 @@
     "title": "HTTP Server",
     "sidebar_label": "HTTP Server",
     "original_id": "org.apache.streampipes.connect.protocol.stream.httpserver"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "GDELT",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.gdelt"
+  },
+  "next": {
+    "title": "HTTP Set",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.protocol.set.http"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-kafka-md-53d.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-kafka-md-53d.json
new file mode 100644
index 0000000..3ccff7c
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-kafka-md-53d.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.kafka",
+  "id": "version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.kafka",
+  "title": "Apache Kafka",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.kafka.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.protocol.stream.kafka",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.kafka",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.protocol.stream.kafka",
+    "title": "Apache Kafka",
+    "sidebar_label": "Apache Kafka",
+    "original_id": "org.apache.streampipes.connect.protocol.stream.kafka"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Configurations",
+    "permalink": "/docs/0.90.0/use-configurations"
+  },
+  "next": {
+    "title": "Apache Pulsar",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-mqtt-md-e43.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-mqtt-md-e43.json
new file mode 100644
index 0000000..6cb96a4
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-mqtt-md-e43.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.mqtt",
+  "id": "version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt",
+  "title": "MQTT",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.protocol.stream.mqtt",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.protocol.stream.mqtt",
+    "title": "MQTT",
+    "sidebar_label": "MQTT",
+    "original_id": "org.apache.streampipes.connect.protocol.stream.mqtt"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "InfluxDB Stream Adapter",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream"
+  },
+  "next": {
+    "title": "Machine Data Simulator",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.machine"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-pulsar-md-005.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-pulsar-md-005.json
new file mode 100644
index 0000000..8b41d52
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-pulsar-md-005.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.pulsar",
+  "id": "version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar",
+  "title": "Apache Pulsar",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.protocol.stream.pulsar",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.protocol.stream.pulsar",
+    "title": "Apache Pulsar",
+    "sidebar_label": "Apache Pulsar",
+    "original_id": "org.apache.streampipes.connect.protocol.stream.pulsar"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Apache Kafka",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.kafka"
+  },
+  "next": {
+    "title": "Coindesk Bitcoin Price",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.coindesk"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processor-geo-flink-md-ac2.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processor-geo-flink-md-ac2.json
new file mode 100644
index 0000000..9c429cb
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processor-geo-flink-md-ac2.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processor.geo.flink",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processor.geo.flink",
+  "title": "Spatial Grid Enrichment",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processor.geo.flink.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processor.geo.flink",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.flink",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processor.geo.flink",
+    "title": "Spatial Grid Enrichment",
+    "sidebar_label": "Spatial Grid Enrichment",
+    "original_id": "org.apache.streampipes.processor.geo.flink"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Size Measure",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure"
+  },
+  "next": {
+    "title": "Speed Calculator",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processor-geo-jvm-geocoding-md-195.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processor-geo-jvm-geocoding-md-195.json
index 0793fc0..d04fe61 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processor-geo-jvm-geocoding-md-195.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processor-geo-jvm-geocoding-md-195.json
@@ -18,5 +18,14 @@
     "title": "Google Maps Geocoder",
     "sidebar_label": "Google Maps Geocoder",
     "original_id": "org.apache.streampipes.processor.geo.jvm.geocoding"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Generic Image Classification",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
+  },
+  "next": {
+    "title": "Image Cropper",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processor-geo-jvm-reversegeocoding-md-bf7.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processor-geo-jvm-reversegeocoding-md-bf7.json
index 4c85add..ff1b67b 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processor-geo-jvm-reversegeocoding-md-bf7.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processor-geo-jvm-reversegeocoding-md-bf7.json
@@ -18,5 +18,14 @@
     "title": "Reverse Geocoder",
     "sidebar_label": "Reverse Geocoder",
     "original_id": "org.apache.streampipes.processor.geo.jvm.reversegeocoding"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Rate Limit",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.limit"
+  },
+  "next": {
+    "title": "Sentence Detection (English)",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processor-geo-jvm-staticgeocoding-md-583.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processor-geo-jvm-staticgeocoding-md-583.json
index d5a0beb..22758c4 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processor-geo-jvm-staticgeocoding-md-583.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processor-geo-jvm-staticgeocoding-md-583.json
@@ -18,5 +18,14 @@
     "title": "Static Google Maps Geocoder",
     "sidebar_label": "Static Google Maps Geocoder",
     "original_id": "org.apache.streampipes.processor.geo.jvm.staticgeocoding"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Static Distance Calculator",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator"
+  },
+  "next": {
+    "title": "Static Math",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-md-4f0.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-md-4f0.json
index 7ead3f9..89dcc76 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-md-4f0.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-md-4f0.json
@@ -18,5 +18,14 @@
     "title": "Generic Image Classification",
     "sidebar_label": "Generic Image Classification",
     "original_id": "org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Frequency Change",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.frequencychange"
+  },
+  "next": {
+    "title": "Google Maps Geocoder",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-cropper-md-873.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-cropper-md-873.json
new file mode 100644
index 0000000..a2ae335
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-cropper-md-873.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
+  "title": "Image Cropper",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
+    "title": "Image Cropper",
+    "sidebar_label": "Image Cropper",
+    "original_id": "org.apache.streampipes.processor.imageclassification.jvm.image-cropper"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Google Maps Geocoder",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding"
+  },
+  "next": {
+    "title": "Image Enricher",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-enricher-md-9f1.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-enricher-md-9f1.json
index db5a322..a3ceab8 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-enricher-md-9f1.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-enricher-md-9f1.json
@@ -18,5 +18,14 @@
     "title": "Image Enricher",
     "sidebar_label": "Image Enricher",
     "original_id": "org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Image Cropper",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper"
+  },
+  "next": {
+    "title": "Language Detection",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processor-imageclassification-qrcode-md-4d6.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processor-imageclassification-qrcode-md-4d6.json
index b490d8a..fc9b087 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processor-imageclassification-qrcode-md-4d6.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processor-imageclassification-qrcode-md-4d6.json
@@ -18,5 +18,14 @@
     "title": "QR Code Reader",
     "sidebar_label": "QR Code Reader",
     "original_id": "org.apache.streampipes.processor.imageclassification.qrcode"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Projection",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.project"
+  },
+  "next": {
+    "title": "Rate Limit",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.limit"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-aggregation-flink-aggregation-md-bab.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-aggregation-flink-aggregation-md-bab.json
index 94eb4bc..99167a8 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-aggregation-flink-aggregation-md-bab.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-aggregation-flink-aggregation-md-bab.json
@@ -18,5 +18,14 @@
     "title": "Aggregation",
     "sidebar_label": "Aggregation",
     "original_id": "org.apache.streampipes.processors.aggregation.flink.aggregation"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Absence",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence"
+  },
+  "next": {
+    "title": "And",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-aggregation-flink-count-md-66d.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-aggregation-flink-count-md-66d.json
index b1103b4..53477a0 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-aggregation-flink-count-md-66d.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-aggregation-flink-count-md-66d.json
@@ -18,5 +18,14 @@
     "title": "Count Aggregation",
     "sidebar_label": "Count Aggregation",
     "original_id": "org.apache.streampipes.processors.aggregation.flink.count"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Compose",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.compose"
+  },
+  "next": {
+    "title": "Count Array",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-aggregation-flink-eventcount-md-84e.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-aggregation-flink-eventcount-md-84e.json
index e8b05bf..dca3098 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-aggregation-flink-eventcount-md-84e.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-aggregation-flink-eventcount-md-84e.json
@@ -18,5 +18,14 @@
     "title": "Event Counter",
     "sidebar_label": "Event Counter",
     "original_id": "org.apache.streampipes.processors.aggregation.flink.eventcount"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "EPSG Code",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG"
+  },
+  "next": {
+    "title": "Event Rate",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.rate"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-aggregation-flink-rate-md-54d.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-aggregation-flink-rate-md-54d.json
index 29c45db..c521adf 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-aggregation-flink-rate-md-54d.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-aggregation-flink-rate-md-54d.json
@@ -18,5 +18,14 @@
     "title": "Event Rate",
     "sidebar_label": "Event Rate",
     "original_id": "org.apache.streampipes.processors.aggregation.flink.rate"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Event Counter",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount"
+  },
+  "next": {
+    "title": "Field Converter",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-changedetection-jvm-cusum-md-6ff.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-changedetection-jvm-cusum-md-6ff.json
index 9838e69..c13881c 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-changedetection-jvm-cusum-md-6ff.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-changedetection-jvm-cusum-md-6ff.json
@@ -18,5 +18,14 @@
     "title": "Cusum",
     "sidebar_label": "Cusum",
     "original_id": "org.apache.streampipes.processors.changedetection.jvm.cusum"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Creates JTS Point",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo"
+  },
+  "next": {
+    "title": "Distance Calculator",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-md-9de.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-md-9de.json
new file mode 100644
index 0000000..55116a1
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-md-9de.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
+  "title": "Math",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
+    "title": "Math",
+    "sidebar_label": "Math",
+    "original_id": "org.apache.streampipes.processors.enricher.flink.processor.math.mathop"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Language Detection",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection"
+  },
+  "next": {
+    "title": "Measure Time Between Two Sensors",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathop-md-a9b.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathop-md-a9b.json
new file mode 100644
index 0000000..a3f5637
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathop-md-a9b.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
+  "title": "Static Math",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
+    "title": "Static Math",
+    "sidebar_label": "Static Math",
+    "original_id": "org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Static Google Maps Geocoder",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding"
+  },
+  "next": {
+    "title": "Statistics Summary",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-enricher-flink-processor-trigonometry-md-e78.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-enricher-flink-processor-trigonometry-md-e78.json
new file mode 100644
index 0000000..c19688d
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-enricher-flink-processor-trigonometry-md-e78.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
+  "title": "Trigonometry Functions",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
+    "title": "Trigonometry Functions",
+    "sidebar_label": "Trigonometry Functions",
+    "original_id": "org.apache.streampipes.processors.enricher.flink.processor.trigonometry"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Trend",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.increase"
+  },
+  "next": {
+    "title": "URL Dereferencing",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-enricher-flink-processor-urldereferencing-md-162.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-enricher-flink-processor-urldereferencing-md-162.json
new file mode 100644
index 0000000..7fb30b5
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-enricher-flink-processor-urldereferencing-md-162.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
+  "title": "URL Dereferencing",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
+    "title": "URL Dereferencing",
+    "sidebar_label": "URL Dereferencing",
+    "original_id": "org.apache.streampipes.processors.enricher.flink.processor.urldereferencing"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Trigonometry Functions",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry"
+  },
+  "next": {
+    "title": "Value Changed",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-enricher-flink-timestamp-md-db8.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-enricher-flink-timestamp-md-db8.json
new file mode 100644
index 0000000..7c348c3
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-enricher-flink-timestamp-md-db8.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.timestamp",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp",
+  "title": "Timestamp Enricher",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.enricher.flink.timestamp",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.enricher.flink.timestamp",
+    "title": "Timestamp Enricher",
+    "sidebar_label": "Timestamp Enricher",
+    "original_id": "org.apache.streampipes.processors.enricher.flink.timestamp"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Threshold Detector",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.threshold"
+  },
+  "next": {
+    "title": "Timestamp Extractor",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-enricher-jvm-sizemeasure-md-2de.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-enricher-jvm-sizemeasure-md-2de.json
new file mode 100644
index 0000000..5dec87a
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-enricher-jvm-sizemeasure-md-2de.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
+  "title": "Size Measure",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.enricher.jvm.sizemeasure",
+    "title": "Size Measure",
+    "sidebar_label": "Size Measure",
+    "original_id": "org.apache.streampipes.processors.enricher.jvm.sizemeasure"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Single Trajectory Creator",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory"
+  },
+  "next": {
+    "title": "Spatial Grid Enrichment",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.flink"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-compose-md-587.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-compose-md-587.json
new file mode 100644
index 0000000..7251527
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-compose-md-587.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.compose",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.compose",
+  "title": "Compose",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.compose.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.filters.jvm.compose",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.compose",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.filters.jvm.compose",
+    "title": "Compose",
+    "sidebar_label": "Compose",
+    "original_id": "org.apache.streampipes.processors.filters.jvm.compose"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Chunker (English)",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker"
+  },
+  "next": {
+    "title": "Count Aggregation",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.count"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-enrich-md-468.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-enrich-md-468.json
new file mode 100644
index 0000000..d8b22d5
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-enrich-md-468.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.enrich",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.enrich",
+  "title": "Merge By Enrich",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.enrich.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.filters.jvm.enrich",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.enrich",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.filters.jvm.enrich",
+    "title": "Merge By Enrich",
+    "sidebar_label": "Merge By Enrich",
+    "original_id": "org.apache.streampipes.processors.filters.jvm.enrich"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Measurement Unit Converter",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
+  },
+  "next": {
+    "title": "Name Finder",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-limit-md-807.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-limit-md-807.json
index 75754d6..79825c5 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-limit-md-807.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-limit-md-807.json
@@ -18,5 +18,14 @@
     "title": "Rate Limit",
     "sidebar_label": "Rate Limit",
     "original_id": "org.apache.streampipes.processors.filters.jvm.limit"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "QR Code Reader",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.qrcode"
+  },
+  "next": {
+    "title": "Reverse Geocoder",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-merge-md-c8e.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-merge-md-c8e.json
index 7e97216..b1908da 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-merge-md-c8e.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-merge-md-c8e.json
@@ -18,5 +18,14 @@
     "title": "Synchronize Two Streams",
     "sidebar_label": "Synchronize Two Streams",
     "original_id": "org.apache.streampipes.processors.filters.jvm.merge"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "String To State",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state"
+  },
+  "next": {
+    "title": "Task Duration",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-numericalfilter-md-1ab.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-numericalfilter-md-1ab.json
new file mode 100644
index 0000000..2e3e992
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-numericalfilter-md-1ab.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
+  "title": "Numerical Filter",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.filters.jvm.numericalfilter",
+    "title": "Numerical Filter",
+    "sidebar_label": "Numerical Filter",
+    "original_id": "org.apache.streampipes.processors.filters.jvm.numericalfilter"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Number Labeler",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number"
+  },
+  "next": {
+    "title": "Numerical Filter (Siddhi)",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-numericaltextfilter-md-152.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-numericaltextfilter-md-152.json
new file mode 100644
index 0000000..a78a49c
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-numericaltextfilter-md-152.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
+  "title": "Numerical Text Filter",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
+    "title": "Numerical Text Filter",
+    "sidebar_label": "Numerical Text Filter",
+    "original_id": "org.apache.streampipes.processors.filters.jvm.numericaltextfilter"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Numerical Filter (Siddhi)",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter"
+  },
+  "next": {
+    "title": "Part of Speech (English)",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-project-md-178.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-project-md-178.json
new file mode 100644
index 0000000..67087da
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-project-md-178.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.project",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.project",
+  "title": "Projection",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.project.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.filters.jvm.project",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.project",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.filters.jvm.project",
+    "title": "Projection",
+    "sidebar_label": "Projection",
+    "original_id": "org.apache.streampipes.processors.filters.jvm.project"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Peak Detection",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
+  },
+  "next": {
+    "title": "QR Code Reader",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.qrcode"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-textfilter-md-321.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-textfilter-md-321.json
new file mode 100644
index 0000000..ad1857f
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-textfilter-md-321.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.textfilter",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter",
+  "title": "Text Filter",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.filters.jvm.textfilter",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.filters.jvm.textfilter",
+    "title": "Text Filter",
+    "sidebar_label": "Text Filter",
+    "original_id": "org.apache.streampipes.processors.filters.jvm.textfilter"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Task Duration",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration"
+  },
+  "next": {
+    "title": "Threshold Detector",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.threshold"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-threshold-md-a80.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-threshold-md-a80.json
new file mode 100644
index 0000000..c9da0fc
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-threshold-md-a80.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.threshold",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.threshold",
+  "title": "Threshold Detector",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.threshold.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.filters.jvm.threshold",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.threshold",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.filters.jvm.threshold",
+    "title": "Threshold Detector",
+    "sidebar_label": "Threshold Detector",
+    "original_id": "org.apache.streampipes.processors.filters.jvm.threshold"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Text Filter",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter"
+  },
+  "next": {
+    "title": "Timestamp Enricher",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-lat-lng-to-geo-md-563.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-lat-lng-to-geo-md-563.json
new file mode 100644
index 0000000..958d312
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-lat-lng-to-geo-md-563.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
+  "title": "Creates JTS Point",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
+    "title": "Creates JTS Point",
+    "sidebar_label": "Creates JTS Point",
+    "original_id": "org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Count Array",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array"
+  },
+  "next": {
+    "title": "Cusum",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-set-epsg-md-744.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-set-epsg-md-744.json
new file mode 100644
index 0000000..1bc38d7
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-set-epsg-md-744.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
+  "title": "EPSG Code",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
+    "title": "EPSG Code",
+    "sidebar_label": "EPSG Code",
+    "original_id": "org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Distance Calculator",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
+  },
+  "next": {
+    "title": "Event Counter",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-trajectory-md-6e8.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-trajectory-md-6e8.json
new file mode 100644
index 0000000..71843bf
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-trajectory-md-6e8.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
+  "title": "Single Trajectory Creator",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
+    "title": "Single Trajectory Creator",
+    "sidebar_label": "Single Trajectory Creator",
+    "original_id": "org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Signal Edge Filter",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge"
+  },
+  "next": {
+    "title": "Size Measure",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-md-0d7.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-md-0d7.json
index 1d8ab86..60db690 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-md-0d7.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-md-0d7.json
@@ -18,5 +18,14 @@
     "title": "Distance Calculator",
     "sidebar_label": "Distance Calculator",
     "original_id": "org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Cusum",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum"
+  },
+  "next": {
+    "title": "EPSG Code",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-processor-speed-md-829.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-processor-speed-md-829.json
new file mode 100644
index 0000000..450cad8
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-processor-speed-md-829.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
+  "title": "Speed Calculator",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.geo.jvm.processor.speed",
+    "title": "Speed Calculator",
+    "sidebar_label": "Speed Calculator",
+    "original_id": "org.apache.streampipes.processors.geo.jvm.processor.speed"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Spatial Grid Enrichment",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.flink"
+  },
+  "next": {
+    "title": "Split Array",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-processor-staticdistancecalculator-md-de9.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-processor-staticdistancecalculator-md-de9.json
index e5e101c..eb94eb7 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-processor-staticdistancecalculator-md-de9.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-processor-staticdistancecalculator-md-de9.json
@@ -18,5 +18,14 @@
     "title": "Static Distance Calculator",
     "sidebar_label": "Static Distance Calculator",
     "original_id": "org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "State Buffer Labeler",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer"
+  },
+  "next": {
+    "title": "Static Google Maps Geocoder",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-pattern-detection-flink-absence-md-184.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-pattern-detection-flink-absence-md-184.json
index f87fde0..e432217 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-pattern-detection-flink-absence-md-184.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-pattern-detection-flink-absence-md-184.json
@@ -18,5 +18,14 @@
     "title": "Absence",
     "sidebar_label": "Absence",
     "original_id": "org.apache.streampipes.processors.pattern-detection.flink.absence"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Wikipedia New Articles",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new"
+  },
+  "next": {
+    "title": "Aggregation",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-pattern-detection-flink-and-md-122.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-pattern-detection-flink-and-md-122.json
index c45aeb2..3ab3215 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-pattern-detection-flink-and-md-122.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-pattern-detection-flink-and-md-122.json
@@ -18,5 +18,14 @@
     "title": "And",
     "sidebar_label": "And",
     "original_id": "org.apache.streampipes.processors.pattern-detection.flink.and"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Aggregation",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation"
+  },
+  "next": {
+    "title": "Boilerplate Removal",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-md-f4b.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-md-f4b.json
index ff5dca0..5c3928f 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-md-f4b.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-md-f4b.json
@@ -18,5 +18,14 @@
     "title": "Peak Detection",
     "sidebar_label": "Peak Detection",
     "original_id": "org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Part of Speech (English)",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech"
+  },
+  "next": {
+    "title": "Projection",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.project"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-pattern-detection-flink-sequence-md-627.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-pattern-detection-flink-sequence-md-627.json
index 96f7f7f..cef3b8c 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-pattern-detection-flink-sequence-md-627.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-pattern-detection-flink-sequence-md-627.json
@@ -18,5 +18,14 @@
     "title": "Sequence",
     "sidebar_label": "Sequence",
     "original_id": "org.apache.streampipes.processors.pattern-detection.flink.sequence"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Sentence Detection (English)",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection"
+  },
+  "next": {
+    "title": "Sequence Detection",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.sequence"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-siddhi-frequency-md-340.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-siddhi-frequency-md-340.json
index 672c2a5..7a6c0f6 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-siddhi-frequency-md-340.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-siddhi-frequency-md-340.json
@@ -18,5 +18,14 @@
     "title": "Frequency Calculation",
     "sidebar_label": "Frequency Calculation",
     "original_id": "org.apache.streampipes.processors.siddhi.frequency"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Field Renamer",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer"
+  },
+  "next": {
+    "title": "Frequency Change",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.frequencychange"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-siddhi-frequencychange-md-49d.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-siddhi-frequencychange-md-49d.json
index aa2e681..ed9e1b0 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-siddhi-frequencychange-md-49d.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-siddhi-frequencychange-md-49d.json
@@ -18,5 +18,14 @@
     "title": "Frequency Change",
     "sidebar_label": "Frequency Change",
     "original_id": "org.apache.streampipes.processors.siddhi.frequencychange"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Frequency Calculation",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.frequency"
+  },
+  "next": {
+    "title": "Generic Image Classification",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-siddhi-increase-md-487.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-siddhi-increase-md-487.json
index c060323..9467fe4 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-siddhi-increase-md-487.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-siddhi-increase-md-487.json
@@ -18,5 +18,14 @@
     "title": "Trend",
     "sidebar_label": "Trend",
     "original_id": "org.apache.streampipes.processors.siddhi.increase"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Transform to boolean",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean"
+  },
+  "next": {
+    "title": "Trigonometry Functions",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-siddhi-numericalfilter-md-c58.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-siddhi-numericalfilter-md-c58.json
index eaa2619..ef2fc2c 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-siddhi-numericalfilter-md-c58.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-siddhi-numericalfilter-md-c58.json
@@ -18,5 +18,14 @@
     "title": "Numerical Filter (Siddhi)",
     "sidebar_label": "Numerical Filter (Siddhi)",
     "original_id": "org.apache.streampipes.processors.siddhi.numericalfilter"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Numerical Filter",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter"
+  },
+  "next": {
+    "title": "Numerical Text Filter",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-siddhi-sequence-md-3b2.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-siddhi-sequence-md-3b2.json
new file mode 100644
index 0000000..9bf8eec
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-siddhi-sequence-md-3b2.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.siddhi.sequence",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.siddhi.sequence",
+  "title": "Sequence Detection",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.siddhi.sequence.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.siddhi.sequence",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.sequence",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.siddhi.sequence",
+    "title": "Sequence Detection",
+    "sidebar_label": "Sequence Detection",
+    "original_id": "org.apache.streampipes.processors.siddhi.sequence"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Sequence",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence"
+  },
+  "next": {
+    "title": "Signal Edge Filter",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-siddhi-stop-md-1d8.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-siddhi-stop-md-1d8.json
index 75ad7c6..504a6f2 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-siddhi-stop-md-1d8.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-siddhi-stop-md-1d8.json
@@ -18,5 +18,14 @@
     "title": "Stream Stop Detection",
     "sidebar_label": "Stream Stop Detection",
     "original_id": "org.apache.streampipes.processors.siddhi.stop"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Statistics Summary",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary"
+  },
+  "next": {
+    "title": "String Counter",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-statistics-flink-statistics-summary-md-bcc.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-statistics-flink-statistics-summary-md-bcc.json
new file mode 100644
index 0000000..4305465
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-statistics-flink-statistics-summary-md-bcc.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
+  "title": "Statistics Summary",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.statistics.flink.statistics-summary",
+    "title": "Statistics Summary",
+    "sidebar_label": "Statistics Summary",
+    "original_id": "org.apache.streampipes.processors.statistics.flink.statistics-summary"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Static Math",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop"
+  },
+  "next": {
+    "title": "Stream Stop Detection",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.stop"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-textmining-flink-languagedetection-md-51a.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-textmining-flink-languagedetection-md-51a.json
index 5a31150..2c08b47 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-textmining-flink-languagedetection-md-51a.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-textmining-flink-languagedetection-md-51a.json
@@ -18,5 +18,14 @@
     "title": "Language Detection",
     "sidebar_label": "Language Detection",
     "original_id": "org.apache.streampipes.processors.textmining.flink.languagedetection"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Image Enricher",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
+  },
+  "next": {
+    "title": "Language Detection",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-textmining-flink-wordcount-md-43e.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-textmining-flink-wordcount-md-43e.json
index 604060f..430f74c 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-textmining-flink-wordcount-md-43e.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-textmining-flink-wordcount-md-43e.json
@@ -18,5 +18,14 @@
     "title": "Word Count",
     "sidebar_label": "Word Count",
     "original_id": "org.apache.streampipes.processors.textmining.flink.wordcount"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Value Changed",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value"
+  },
+  "next": {
+    "title": "Buffered REST Publisher",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-chunker-md-3a3.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-chunker-md-3a3.json
new file mode 100644
index 0000000..8cbf933
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-chunker-md-3a3.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.chunker",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker",
+  "title": "Chunker (English)",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.chunker",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.textmining.jvm.chunker",
+    "title": "Chunker (English)",
+    "sidebar_label": "Chunker (English)",
+    "original_id": "org.apache.streampipes.processors.textmining.jvm.chunker"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Calculate Duration",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value"
+  },
+  "next": {
+    "title": "Compose",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.compose"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-languagedetection-md-f7c.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-languagedetection-md-f7c.json
new file mode 100644
index 0000000..3a7d530
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-languagedetection-md-f7c.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
+  "title": "Language Detection",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.textmining.jvm.languagedetection",
+    "title": "Language Detection",
+    "sidebar_label": "Language Detection",
+    "original_id": "org.apache.streampipes.processors.textmining.jvm.languagedetection"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Language Detection",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection"
+  },
+  "next": {
+    "title": "Math",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-namefinder-md-07d.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-namefinder-md-07d.json
new file mode 100644
index 0000000..98ec706
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-namefinder-md-07d.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
+  "title": "Name Finder",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.textmining.jvm.namefinder",
+    "title": "Name Finder",
+    "sidebar_label": "Name Finder",
+    "original_id": "org.apache.streampipes.processors.textmining.jvm.namefinder"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Merge By Enrich",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.enrich"
+  },
+  "next": {
+    "title": "Number Labeler",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-partofspeech-md-ace.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-partofspeech-md-ace.json
new file mode 100644
index 0000000..b3a10fc
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-partofspeech-md-ace.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
+  "title": "Part of Speech (English)",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.textmining.jvm.partofspeech",
+    "title": "Part of Speech (English)",
+    "sidebar_label": "Part of Speech (English)",
+    "original_id": "org.apache.streampipes.processors.textmining.jvm.partofspeech"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Numerical Text Filter",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter"
+  },
+  "next": {
+    "title": "Peak Detection",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-sentencedetection-md-cd0.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-sentencedetection-md-cd0.json
new file mode 100644
index 0000000..e5f7df5
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-sentencedetection-md-cd0.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
+  "title": "Sentence Detection (English)",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.textmining.jvm.sentencedetection",
+    "title": "Sentence Detection (English)",
+    "sidebar_label": "Sentence Detection (English)",
+    "original_id": "org.apache.streampipes.processors.textmining.jvm.sentencedetection"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Reverse Geocoder",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding"
+  },
+  "next": {
+    "title": "Sequence",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-tokenizer-md-0aa.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-tokenizer-md-0aa.json
new file mode 100644
index 0000000..3ef37ff
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-tokenizer-md-0aa.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
+  "title": "Tokenizer (English)",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.textmining.jvm.tokenizer",
+    "title": "Tokenizer (English)",
+    "sidebar_label": "Tokenizer (English)",
+    "original_id": "org.apache.streampipes.processors.textmining.jvm.tokenizer"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Timestamp Extractor",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor"
+  },
+  "next": {
+    "title": "Transform to boolean",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-field-converter-md-559.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-field-converter-md-559.json
index c594a83..07fc5bf 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-field-converter-md-559.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-field-converter-md-559.json
@@ -18,5 +18,14 @@
     "title": "Field Converter",
     "sidebar_label": "Field Converter",
     "original_id": "org.apache.streampipes.processors.transformation.flink.field-converter"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Event Rate",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.rate"
+  },
+  "next": {
+    "title": "Field Hasher",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-field-mapper-md-9a7.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-field-mapper-md-9a7.json
new file mode 100644
index 0000000..f9d2deb
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-field-mapper-md-9a7.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
+  "title": "Field Mapper",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.transformation.flink.field-mapper",
+    "title": "Field Mapper",
+    "sidebar_label": "Field Mapper",
+    "original_id": "org.apache.streampipes.processors.transformation.flink.field-mapper"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Field Hasher",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher"
+  },
+  "next": {
+    "title": "Field Renamer",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-field-renamer-md-c31.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-field-renamer-md-c31.json
index 9fa16f8..32a9256 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-field-renamer-md-c31.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-field-renamer-md-c31.json
@@ -18,5 +18,14 @@
     "title": "Field Renamer",
     "sidebar_label": "Field Renamer",
     "original_id": "org.apache.streampipes.processors.transformation.flink.field-renamer"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Field Mapper",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper"
+  },
+  "next": {
+    "title": "Frequency Calculation",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.frequency"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-fieldhasher-md-614.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-fieldhasher-md-614.json
index 8227f6a..bdf26c0 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-fieldhasher-md-614.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-fieldhasher-md-614.json
@@ -18,5 +18,14 @@
     "title": "Field Hasher",
     "sidebar_label": "Field Hasher",
     "original_id": "org.apache.streampipes.processors.transformation.flink.fieldhasher"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Field Converter",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter"
+  },
+  "next": {
+    "title": "Field Mapper",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-md-64f.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-md-64f.json
index 819f54f..7c984f0 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-md-64f.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-md-64f.json
@@ -18,5 +18,14 @@
     "title": "Measurement Unit Converter",
     "sidebar_label": "Measurement Unit Converter",
     "original_id": "org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Measure Time Between Two Sensors",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping"
+  },
+  "next": {
+    "title": "Merge By Enrich",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.enrich"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-processor-boilerplate-md-06e.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-processor-boilerplate-md-06e.json
new file mode 100644
index 0000000..220d5c5
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-processor-boilerplate-md-06e.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
+  "title": "Boilerplate Removal",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
+    "title": "Boilerplate Removal",
+    "sidebar_label": "Boilerplate Removal",
+    "original_id": "org.apache.streampipes.processors.transformation.flink.processor.boilerplate"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "And",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and"
+  },
+  "next": {
+    "title": "Boolean Counter",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-md-f06.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-md-f06.json
index 6494d02..ea199ff 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-md-f06.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-md-f06.json
@@ -18,5 +18,14 @@
     "title": "Boolean Counter",
     "sidebar_label": "Boolean Counter",
     "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Boilerplate Removal",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate"
+  },
+  "next": {
+    "title": "Boolean Inverter",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-inverter-md-140.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-inverter-md-140.json
new file mode 100644
index 0000000..2343387
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-inverter-md-140.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
+  "title": "Boolean Inverter",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
+    "title": "Boolean Inverter",
+    "sidebar_label": "Boolean Inverter",
+    "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.inverter"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Boolean Counter",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
+  },
+  "next": {
+    "title": "Boolean Timer",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeeping-md-239.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeeping-md-239.json
new file mode 100644
index 0000000..b8a9093
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeeping-md-239.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
+  "title": "Measure Time Between Two Sensors",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
+    "title": "Measure Time Between Two Sensors",
+    "sidebar_label": "Measure Time Between Two Sensors",
+    "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Math",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop"
+  },
+  "next": {
+    "title": "Measurement Unit Converter",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timer-md-db6.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timer-md-db6.json
new file mode 100644
index 0000000..635d980
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timer-md-db6.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
+  "title": "Boolean Timer",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
+    "title": "Boolean Timer",
+    "sidebar_label": "Boolean Timer",
+    "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timer"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Boolean Inverter",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter"
+  },
+  "next": {
+    "title": "Boolean To State",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-changed-value-md-cfb.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-changed-value-md-cfb.json
new file mode 100644
index 0000000..da62158
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-changed-value-md-cfb.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
+  "title": "Value Changed",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.transformation.jvm.changed-value",
+    "title": "Value Changed",
+    "sidebar_label": "Value Changed",
+    "original_id": "org.apache.streampipes.processors.transformation.jvm.changed-value"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "URL Dereferencing",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing"
+  },
+  "next": {
+    "title": "Word Count",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-count-array-md-f2f.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-count-array-md-f2f.json
new file mode 100644
index 0000000..7e3491d
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-count-array-md-f2f.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.count-array",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array",
+  "title": "Count Array",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.count-array",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.transformation.jvm.count-array",
+    "title": "Count Array",
+    "sidebar_label": "Count Array",
+    "original_id": "org.apache.streampipes.processors.transformation.jvm.count-array"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Count Aggregation",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.count"
+  },
+  "next": {
+    "title": "Creates JTS Point",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-csvmetadata-md-c4c.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-csvmetadata-md-c4c.json
new file mode 100644
index 0000000..f44cfa9
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-csvmetadata-md-c4c.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
+  "title": "CSV Metadata Enricher",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.transformation.jvm.csvmetadata",
+    "title": "CSV Metadata Enricher",
+    "sidebar_label": "CSV Metadata Enricher",
+    "original_id": "org.apache.streampipes.processors.transformation.jvm.csvmetadata"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Boolean To State",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state"
+  },
+  "next": {
+    "title": "Calculate Duration",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-duration-value-md-92c.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-duration-value-md-92c.json
new file mode 100644
index 0000000..463261b
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-duration-value-md-92c.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
+  "title": "Calculate Duration",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.transformation.jvm.duration-value",
+    "title": "Calculate Duration",
+    "sidebar_label": "Calculate Duration",
+    "original_id": "org.apache.streampipes.processors.transformation.jvm.duration-value"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "CSV Metadata Enricher",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata"
+  },
+  "next": {
+    "title": "Chunker (English)",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-edge-md-7b9.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-edge-md-7b9.json
index 03454c9..0e13460 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-edge-md-7b9.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-edge-md-7b9.json
@@ -18,5 +18,14 @@
     "title": "Signal Edge Filter",
     "sidebar_label": "Signal Edge Filter",
     "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Sequence Detection",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.sequence"
+  },
+  "next": {
+    "title": "Single Trajectory Creator",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-state-md-f34.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-state-md-f34.json
index 79390da..aa1a8fe 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-state-md-f34.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-state-md-f34.json
@@ -18,5 +18,14 @@
     "title": "Boolean To State",
     "sidebar_label": "Boolean To State",
     "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Boolean Timer",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer"
+  },
+  "next": {
+    "title": "CSV Metadata Enricher",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-buffer-md-ad9.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-buffer-md-ad9.json
index e058ac3..94fd274 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-buffer-md-ad9.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-buffer-md-ad9.json
@@ -18,5 +18,14 @@
     "title": "State Buffer",
     "sidebar_label": "State Buffer",
     "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.state.buffer"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Split Array",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array"
+  },
+  "next": {
+    "title": "State Buffer Labeler",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-buffer-md-5ad.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-buffer-md-5ad.json
index 2b1b24d..2a2a2fc 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-buffer-md-5ad.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-buffer-md-5ad.json
@@ -18,5 +18,14 @@
     "title": "State Buffer Labeler",
     "sidebar_label": "State Buffer Labeler",
     "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "State Buffer",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer"
+  },
+  "next": {
+    "title": "Static Distance Calculator",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-number-md-908.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-number-md-908.json
index a7e49e2..83df40f 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-number-md-908.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-number-md-908.json
@@ -18,5 +18,14 @@
     "title": "Number Labeler",
     "sidebar_label": "Number Labeler",
     "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Name Finder",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder"
+  },
+  "next": {
+    "title": "Numerical Filter",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-stringoperator-state-md-675.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-stringoperator-state-md-675.json
index fa82d88..d09a57b 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-stringoperator-state-md-675.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-stringoperator-state-md-675.json
@@ -18,5 +18,14 @@
     "title": "String To State",
     "sidebar_label": "String To State",
     "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "String Timer",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer"
+  },
+  "next": {
+    "title": "Synchronize Two Streams",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.merge"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractor-md-dff.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractor-md-dff.json
new file mode 100644
index 0000000..35017c8
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractor-md-dff.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
+  "title": "Timestamp Extractor",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
+    "title": "Timestamp Extractor",
+    "sidebar_label": "Timestamp Extractor",
+    "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Timestamp Enricher",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp"
+  },
+  "next": {
+    "title": "Tokenizer (English)",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-split-array-md-798.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-split-array-md-798.json
index dc0dcca..0c690e4 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-split-array-md-798.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-split-array-md-798.json
@@ -18,5 +18,14 @@
     "title": "Split Array",
     "sidebar_label": "Split Array",
     "original_id": "org.apache.streampipes.processors.transformation.jvm.split-array"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Speed Calculator",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed"
+  },
+  "next": {
+    "title": "State Buffer",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-counter-md-517.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-counter-md-517.json
new file mode 100644
index 0000000..b7d11c5
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-counter-md-517.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
+  "title": "String Counter",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
+    "title": "String Counter",
+    "sidebar_label": "String Counter",
+    "original_id": "org.apache.streampipes.processors.transformation.jvm.stringoperator.counter"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Stream Stop Detection",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.stop"
+  },
+  "next": {
+    "title": "String Timer",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-timer-md-2f3.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-timer-md-2f3.json
index f0990b5..6b6ff3b 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-timer-md-2f3.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-timer-md-2f3.json
@@ -18,5 +18,14 @@
     "title": "String Timer",
     "sidebar_label": "String Timer",
     "original_id": "org.apache.streampipes.processors.transformation.jvm.stringoperator.timer"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "String Counter",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter"
+  },
+  "next": {
+    "title": "String To State",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-taskduration-md-61d.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-taskduration-md-61d.json
new file mode 100644
index 0000000..a893af1
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-taskduration-md-61d.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
+  "title": "Task Duration",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.transformation.jvm.taskduration",
+    "title": "Task Duration",
+    "sidebar_label": "Task Duration",
+    "original_id": "org.apache.streampipes.processors.transformation.jvm.taskduration"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Synchronize Two Streams",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.merge"
+  },
+  "next": {
+    "title": "Text Filter",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-transform-to-boolean-md-f2d.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-transform-to-boolean-md-f2d.json
new file mode 100644
index 0000000..268f671
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-transform-to-boolean-md-f2d.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
+  "id": "version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
+  "title": "Transform to boolean",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
+    "title": "Transform to boolean",
+    "sidebar_label": "Transform to boolean",
+    "original_id": "org.apache.streampipes.processors.transformation.jvm.transform-to-boolean"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Tokenizer (English)",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer"
+  },
+  "next": {
+    "title": "Trend",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.increase"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-protocol-set-file-md-40a.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-protocol-set-file-md-40a.json
new file mode 100644
index 0000000..9f438ec
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-protocol-set-file-md-40a.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.protocol.set.file",
+  "id": "version-0.90.0/pe/org.apache.streampipes.protocol.set.file",
+  "title": "File Set",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.protocol.set.file.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.protocol.set.file",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.protocol.set.file",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.protocol.set.file",
+    "title": "File Set",
+    "sidebar_label": "File Set",
+    "original_id": "org.apache.streampipes.protocol.set.file"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "File Stream",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.file"
+  },
+  "next": {
+    "title": "Flic MQTT",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-protocol-set-http-md-d0a.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-protocol-set-http-md-d0a.json
new file mode 100644
index 0000000..1f2681e
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-protocol-set-http-md-d0a.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.protocol.set.http",
+  "id": "version-0.90.0/pe/org.apache.streampipes.protocol.set.http",
+  "title": "HTTP Set",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.protocol.set.http.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.protocol.set.http",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.protocol.set.http",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.protocol.set.http",
+    "title": "HTTP Set",
+    "sidebar_label": "HTTP Set",
+    "original_id": "org.apache.streampipes.protocol.set.http"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "HTTP Server",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver"
+  },
+  "next": {
+    "title": "HTTP Stream",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.http"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-bufferrest-md-04d.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-bufferrest-md-04d.json
new file mode 100644
index 0000000..11aeb01
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-bufferrest-md-04d.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
+  "id": "version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
+  "title": "Buffered REST Publisher",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.sinks.brokers.jvm.bufferrest",
+    "title": "Buffered REST Publisher",
+    "sidebar_label": "Buffered REST Publisher",
+    "original_id": "org.apache.streampipes.sinks.brokers.jvm.bufferrest"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Word Count",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount"
+  },
+  "next": {
+    "title": "CouchDB",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-jms-md-d87.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-jms-md-d87.json
new file mode 100644
index 0000000..c389a84
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-jms-md-d87.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.jms",
+  "id": "version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms",
+  "title": "JMS Publisher",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.jms",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.sinks.brokers.jvm.jms",
+    "title": "JMS Publisher",
+    "sidebar_label": "JMS Publisher",
+    "original_id": "org.apache.streampipes.sinks.brokers.jvm.jms"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "IoTDB",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb"
+  },
+  "next": {
+    "title": "Kafka Publisher",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-kafka-md-428.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-kafka-md-428.json
new file mode 100644
index 0000000..2fb89be
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-kafka-md-428.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
+  "id": "version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
+  "title": "Kafka Publisher",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.sinks.brokers.jvm.kafka",
+    "title": "Kafka Publisher",
+    "sidebar_label": "Kafka Publisher",
+    "original_id": "org.apache.streampipes.sinks.brokers.jvm.kafka"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "JMS Publisher",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms"
+  },
+  "next": {
+    "title": "MySQL Database",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-mqtt-md-965.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-mqtt-md-965.json
new file mode 100644
index 0000000..d9f2c77
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-mqtt-md-965.json
@@ -0,0 +1,22 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
+  "id": "version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
+  "title": "MQTT Publisher",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.sinks.brokers.jvm.mqtt",
+    "title": "MQTT Publisher",
+    "sidebar_label": "MQTT Publisher",
+    "original_id": "org.apache.streampipes.sinks.brokers.jvm.mqtt"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-nats-md-965.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-nats-md-965.json
index 8c8e9a2..a0662d4 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-nats-md-965.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-nats-md-965.json
@@ -18,5 +18,14 @@
     "title": "NATS Publisher",
     "sidebar_label": "NATS Publisher",
     "original_id": "org.apache.streampipes.sinks.brokers.jvm.nats"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "MySQL Database",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql"
+  },
+  "next": {
+    "title": "Notification",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.notification"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-pulsar-md-4e0.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-pulsar-md-4e0.json
new file mode 100644
index 0000000..ec79f23
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-pulsar-md-4e0.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
+  "id": "version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
+  "title": "Pulsar Publisher",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.sinks.brokers.jvm.pulsar",
+    "title": "Pulsar Publisher",
+    "sidebar_label": "Pulsar Publisher",
+    "original_id": "org.apache.streampipes.sinks.brokers.jvm.pulsar"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "PostgreSQL",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql"
+  },
+  "next": {
+    "title": "REST Publisher",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-md-f98.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-md-f98.json
index 861e1bb..827f53b 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-md-f98.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-md-f98.json
@@ -18,5 +18,14 @@
     "title": "RabbitMQ Publisher",
     "sidebar_label": "RabbitMQ Publisher",
     "original_id": "org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "REST Publisher",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest"
+  },
+  "next": {
+    "title": "Slack Notification",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-rest-md-038.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-rest-md-038.json
new file mode 100644
index 0000000..2d6c04c
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-rest-md-038.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.rest",
+  "id": "version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest",
+  "title": "REST Publisher",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.rest",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.sinks.brokers.jvm.rest",
+    "title": "REST Publisher",
+    "sidebar_label": "REST Publisher",
+    "original_id": "org.apache.streampipes.sinks.brokers.jvm.rest"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Pulsar Publisher",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar"
+  },
+  "next": {
+    "title": "RabbitMQ Publisher",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-databases-ditto-md-f9d.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-databases-ditto-md-f9d.json
index d1bebc6..008bc74 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-databases-ditto-md-f9d.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-databases-ditto-md-f9d.json
@@ -18,5 +18,14 @@
     "title": "Eclipse Ditto",
     "sidebar_label": "Eclipse Ditto",
     "original_id": "org.apache.streampipes.sinks.databases.ditto"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Data Lake",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake"
+  },
+  "next": {
+    "title": "Elasticsearch",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-databases-flink-elasticsearch-md-704.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-databases-flink-elasticsearch-md-704.json
new file mode 100644
index 0000000..f77f60a
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-databases-flink-elasticsearch-md-704.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
+  "id": "version-0.90.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
+  "title": "Elasticsearch",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.sinks.databases.flink.elasticsearch",
+    "title": "Elasticsearch",
+    "sidebar_label": "Elasticsearch",
+    "original_id": "org.apache.streampipes.sinks.databases.flink.elasticsearch"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Eclipse Ditto",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.ditto"
+  },
+  "next": {
+    "title": "Email Notification",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.email"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-couchdb-md-368.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-couchdb-md-368.json
new file mode 100644
index 0000000..54b1766
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-couchdb-md-368.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
+  "id": "version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
+  "title": "CouchDB",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.sinks.databases.jvm.couchdb",
+    "title": "CouchDB",
+    "sidebar_label": "CouchDB",
+    "original_id": "org.apache.streampipes.sinks.databases.jvm.couchdb"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Buffered REST Publisher",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest"
+  },
+  "next": {
+    "title": "Dashboard Sink",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-influxdb-md-b13.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-influxdb-md-b13.json
new file mode 100644
index 0000000..6c38d9f
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-influxdb-md-b13.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
+  "id": "version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
+  "title": "InfluxDB",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.sinks.databases.jvm.influxdb",
+    "title": "InfluxDB",
+    "sidebar_label": "InfluxDB",
+    "original_id": "org.apache.streampipes.sinks.databases.jvm.influxdb"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Email Notification",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.email"
+  },
+  "next": {
+    "title": "IoTDB",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-iotdb-md-584.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-iotdb-md-584.json
new file mode 100644
index 0000000..8d273b1
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-iotdb-md-584.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
+  "id": "version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
+  "title": "IoTDB",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.sinks.databases.jvm.iotdb",
+    "title": "IoTDB",
+    "sidebar_label": "IoTDB",
+    "original_id": "org.apache.streampipes.sinks.databases.jvm.iotdb"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "InfluxDB",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb"
+  },
+  "next": {
+    "title": "JMS Publisher",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-mysql-md-86d.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-mysql-md-86d.json
index 198ef14..9ab5e2c 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-mysql-md-86d.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-mysql-md-86d.json
@@ -18,5 +18,14 @@
     "title": "MySQL Database",
     "sidebar_label": "MySQL Database",
     "original_id": "org.apache.streampipes.sinks.databases.jvm.mysql"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Kafka Publisher",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka"
+  },
+  "next": {
+    "title": "NATS Publisher",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-opcua-md-ecf.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-opcua-md-ecf.json
new file mode 100644
index 0000000..cf31954
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-opcua-md-ecf.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.opcua",
+  "id": "version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua",
+  "title": "OPC-UA",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.opcua",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.sinks.databases.jvm.opcua",
+    "title": "OPC-UA",
+    "sidebar_label": "OPC-UA",
+    "original_id": "org.apache.streampipes.sinks.databases.jvm.opcua"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Notification",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.notification"
+  },
+  "next": {
+    "title": "OneSignal",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-postgresql-md-0c9.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-postgresql-md-0c9.json
new file mode 100644
index 0000000..b2f32cf
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-postgresql-md-0c9.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
+  "id": "version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
+  "title": "PostgreSQL",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.sinks.databases.jvm.postgresql",
+    "title": "PostgreSQL",
+    "sidebar_label": "PostgreSQL",
+    "original_id": "org.apache.streampipes.sinks.databases.jvm.postgresql"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "OneSignal",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal"
+  },
+  "next": {
+    "title": "Pulsar Publisher",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-internal-jvm-dashboard-md-73b.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-internal-jvm-dashboard-md-73b.json
new file mode 100644
index 0000000..d4741f2
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-internal-jvm-dashboard-md-73b.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
+  "id": "version-0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
+  "title": "Dashboard Sink",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.sinks.internal.jvm.dashboard",
+    "title": "Dashboard Sink",
+    "sidebar_label": "Dashboard Sink",
+    "original_id": "org.apache.streampipes.sinks.internal.jvm.dashboard"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "CouchDB",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb"
+  },
+  "next": {
+    "title": "Data Lake",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-internal-jvm-datalake-md-453.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-internal-jvm-datalake-md-453.json
new file mode 100644
index 0000000..c20e8cd
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-internal-jvm-datalake-md-453.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.sinks.internal.jvm.datalake",
+  "id": "version-0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake",
+  "title": "Data Lake",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.sinks.internal.jvm.datalake",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.sinks.internal.jvm.datalake",
+    "title": "Data Lake",
+    "sidebar_label": "Data Lake",
+    "original_id": "org.apache.streampipes.sinks.internal.jvm.datalake"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Dashboard Sink",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard"
+  },
+  "next": {
+    "title": "Eclipse Ditto",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.ditto"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-internal-jvm-notification-md-3a8.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-internal-jvm-notification-md-3a8.json
index 1d77d01..fffd615 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-internal-jvm-notification-md-3a8.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-internal-jvm-notification-md-3a8.json
@@ -18,5 +18,14 @@
     "title": "Notification",
     "sidebar_label": "Notification",
     "original_id": "org.apache.streampipes.sinks.internal.jvm.notification"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "NATS Publisher",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats"
+  },
+  "next": {
+    "title": "OPC-UA",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-notifications-jvm-email-md-339.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-notifications-jvm-email-md-339.json
new file mode 100644
index 0000000..f8940b8
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-notifications-jvm-email-md-339.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.sinks.notifications.jvm.email",
+  "id": "version-0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.email",
+  "title": "Email Notification",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.email.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.sinks.notifications.jvm.email",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.email",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.sinks.notifications.jvm.email",
+    "title": "Email Notification",
+    "sidebar_label": "Email Notification",
+    "original_id": "org.apache.streampipes.sinks.notifications.jvm.email"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Elasticsearch",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch"
+  },
+  "next": {
+    "title": "InfluxDB",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-notifications-jvm-onesignal-md-8c9.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-notifications-jvm-onesignal-md-8c9.json
new file mode 100644
index 0000000..9c47b15
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-notifications-jvm-onesignal-md-8c9.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
+  "id": "version-0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
+  "title": "OneSignal",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
+  "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
+  "draft": false,
+  "tags": [],
+  "version": "0.90.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.sinks.notifications.jvm.onesignal",
+    "title": "OneSignal",
+    "sidebar_label": "OneSignal",
+    "original_id": "org.apache.streampipes.sinks.notifications.jvm.onesignal"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "OPC-UA",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua"
+  },
+  "next": {
+    "title": "PostgreSQL",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-notifications-jvm-slack-md-c7a.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-notifications-jvm-slack-md-c7a.json
index 1b2ccc8..3cad755 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-notifications-jvm-slack-md-c7a.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-notifications-jvm-slack-md-c7a.json
@@ -18,5 +18,14 @@
     "title": "Slack Notification",
     "sidebar_label": "Slack Notification",
     "original_id": "org.apache.streampipes.sinks.notifications.jvm.slack"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "RabbitMQ Publisher",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
+  },
+  "next": {
+    "title": "Telegram Publisher",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-notifications-jvm-telegram-md-7b2.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-notifications-jvm-telegram-md-7b2.json
index f8e3e59..75c17cd 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-notifications-jvm-telegram-md-7b2.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-90-0-pe-org-apache-streampipes-sinks-notifications-jvm-telegram-md-7b2.json
@@ -18,5 +18,14 @@
     "title": "Telegram Publisher",
     "sidebar_label": "Telegram Publisher",
     "original_id": "org.apache.streampipes.sinks.notifications.jvm.telegram"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Slack Notification",
+    "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack"
+  },
+  "next": {
+    "title": "Docker Deployment",
+    "permalink": "/docs/0.90.0/deploy-docker"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-01-try-installation-md-334.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-01-try-installation-md-334.json
index 25930fc..6f13242 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-01-try-installation-md-334.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-01-try-installation-md-334.json
@@ -19,5 +19,14 @@
     "title": "Installation",
     "sidebar_label": "Installation",
     "original_id": "try-installation"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Overview",
+    "permalink": "/docs/0.91.0/user-guide-introduction"
+  },
+  "next": {
+    "title": "Overview",
+    "permalink": "/docs/0.91.0/concepts-overview"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-01-try-overview-md-83d.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-01-try-overview-md-83d.json
index 0705430..f7724d4 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-01-try-overview-md-83d.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-01-try-overview-md-83d.json
@@ -19,5 +19,10 @@
     "title": "Apache StreamPipes Documentation",
     "sidebar_label": "Overview",
     "original_id": "user-guide-introduction"
+  },
+  "sidebar": "documentation",
+  "next": {
+    "title": "Installation",
+    "permalink": "/docs/0.91.0/try-installation"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-01-try-tutorial-md-72b.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-01-try-tutorial-md-72b.json
new file mode 100644
index 0000000..6c7baea
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-01-try-tutorial-md-72b.json
@@ -0,0 +1,23 @@
+{
+  "unversionedId": "try-tutorial",
+  "id": "version-0.91.0/try-tutorial",
+  "title": "Interactive Tutorial",
+  "description": "Once you've installed StreamPipes and see the home screen, you'll see a number of modules that are part of the StreamPipes toolbox.",
+  "source": "@site/versioned_docs/version-0.91.0/01_try-tutorial.md",
+  "sourceDirName": ".",
+  "slug": "/try-tutorial",
+  "permalink": "/docs/0.91.0/try-tutorial",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 1,
+  "frontMatter": {
+    "id": "try-tutorial",
+    "title": "Interactive Tutorial",
+    "sidebar_label": "Interactive Tutorial",
+    "original_id": "try-tutorial"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-02-concepts-adapter-md-5f9.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-02-concepts-adapter-md-5f9.json
new file mode 100644
index 0000000..85e964e
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-02-concepts-adapter-md-5f9.json
@@ -0,0 +1,23 @@
+{
+  "unversionedId": "concepts-adapter",
+  "id": "version-0.91.0/concepts-adapter",
+  "title": "Data Adapters",
+  "description": "tbd",
+  "source": "@site/versioned_docs/version-0.91.0/02_concepts-adapter.md",
+  "sourceDirName": ".",
+  "slug": "/concepts-adapter",
+  "permalink": "/docs/0.91.0/concepts-adapter",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 2,
+  "frontMatter": {
+    "id": "concepts-adapter",
+    "title": "Data Adapters",
+    "sidebar_label": "Data Adapters",
+    "original_id": "concepts-adapter"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-02-concepts-data-streams-md-1e3.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-02-concepts-data-streams-md-1e3.json
new file mode 100644
index 0000000..d9a8e31
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-02-concepts-data-streams-md-1e3.json
@@ -0,0 +1,23 @@
+{
+  "unversionedId": "concepts-data-streams",
+  "id": "version-0.91.0/concepts-data-streams",
+  "title": "Data Streams",
+  "description": "tbd",
+  "source": "@site/versioned_docs/version-0.91.0/02_concepts-data-streams.md",
+  "sourceDirName": ".",
+  "slug": "/concepts-data-streams",
+  "permalink": "/docs/0.91.0/concepts-data-streams",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 2,
+  "frontMatter": {
+    "id": "concepts-data-streams",
+    "title": "Data Streams",
+    "sidebar_label": "Data Streams",
+    "original_id": "concepts-data-streams"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-02-concepts-glossary-md-894.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-02-concepts-glossary-md-894.json
new file mode 100644
index 0000000..e5c0757
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-02-concepts-glossary-md-894.json
@@ -0,0 +1,23 @@
+{
+  "unversionedId": "concepts-glossary",
+  "id": "version-0.91.0/concepts-glossary",
+  "title": "Glossary",
+  "description": "tbd",
+  "source": "@site/versioned_docs/version-0.91.0/02_concepts-glossary.md",
+  "sourceDirName": ".",
+  "slug": "/concepts-glossary",
+  "permalink": "/docs/0.91.0/concepts-glossary",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 2,
+  "frontMatter": {
+    "id": "concepts-glossary",
+    "title": "Glossary",
+    "sidebar_label": "Glossary",
+    "original_id": "concepts-glossary"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-02-concepts-overview-md-5a2.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-02-concepts-overview-md-5a2.json
new file mode 100644
index 0000000..8d37e4b
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-02-concepts-overview-md-5a2.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "concepts-overview",
+  "id": "version-0.91.0/concepts-overview",
+  "title": "StreamPipes Concepts",
+  "description": "To understand how StreamPipes works, the knowledge of a few core concepts, illustrated below, will be helpful.",
+  "source": "@site/versioned_docs/version-0.91.0/02_concepts-overview.md",
+  "sourceDirName": ".",
+  "slug": "/concepts-overview",
+  "permalink": "/docs/0.91.0/concepts-overview",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 2,
+  "frontMatter": {
+    "id": "concepts-overview",
+    "title": "StreamPipes Concepts",
+    "sidebar_label": "Overview",
+    "original_id": "concepts-overview"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Installation",
+    "permalink": "/docs/0.91.0/try-installation"
+  },
+  "next": {
+    "title": "StreamPipes Connect",
+    "permalink": "/docs/0.91.0/use-connect"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-02-concepts-pipeline-md-79a.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-02-concepts-pipeline-md-79a.json
new file mode 100644
index 0000000..7320d20
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-02-concepts-pipeline-md-79a.json
@@ -0,0 +1,23 @@
+{
+  "unversionedId": "concepts-pipelines",
+  "id": "version-0.91.0/concepts-pipelines",
+  "title": "Pipelines",
+  "description": "tbd",
+  "source": "@site/versioned_docs/version-0.91.0/02_concepts-pipeline.md",
+  "sourceDirName": ".",
+  "slug": "/concepts-pipelines",
+  "permalink": "/docs/0.91.0/concepts-pipelines",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 2,
+  "frontMatter": {
+    "id": "concepts-pipelines",
+    "title": "Pipelines",
+    "sidebar_label": "Pipelines",
+    "original_id": "concepts-pipelines"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-03-use-configurations-md-fca.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-03-use-configurations-md-fca.json
new file mode 100644
index 0000000..c6e7d73
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-03-use-configurations-md-fca.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "use-configurations",
+  "id": "version-0.91.0/use-configurations",
+  "title": "Configurations",
+  "description": "The configuration section is an admin-only interface for system-wide settings.",
+  "source": "@site/versioned_docs/version-0.91.0/03_use-configurations.md",
+  "sourceDirName": ".",
+  "slug": "/use-configurations",
+  "permalink": "/docs/0.91.0/use-configurations",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 3,
+  "frontMatter": {
+    "id": "use-configurations",
+    "title": "Configurations",
+    "sidebar_label": "Configurations",
+    "original_id": "use-configurations"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Install Pipeline Elements",
+    "permalink": "/docs/0.91.0/use-install-pipeline-elements"
+  },
+  "next": {
+    "title": "Apache Kafka",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.kafka"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-03-use-connect-md-274.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-03-use-connect-md-274.json
new file mode 100644
index 0000000..8b971c0
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-03-use-connect-md-274.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "use-connect",
+  "id": "version-0.91.0/use-connect",
+  "title": "StreamPipes Connect",
+  "description": "StreamPipes Connect is the module to connect external data sources with Apache StreamPipes directly from the user interface.",
+  "source": "@site/versioned_docs/version-0.91.0/03_use-connect.md",
+  "sourceDirName": ".",
+  "slug": "/use-connect",
+  "permalink": "/docs/0.91.0/use-connect",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 3,
+  "frontMatter": {
+    "id": "use-connect",
+    "title": "StreamPipes Connect",
+    "sidebar_label": "StreamPipes Connect",
+    "original_id": "use-connect"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Overview",
+    "permalink": "/docs/0.91.0/concepts-overview"
+  },
+  "next": {
+    "title": "Pipeline Editor",
+    "permalink": "/docs/0.91.0/use-pipeline-editor"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-03-use-dashboard-md-d7f.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-03-use-dashboard-md-d7f.json
new file mode 100644
index 0000000..5768981
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-03-use-dashboard-md-d7f.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "use-dashboard",
+  "id": "version-0.91.0/use-dashboard",
+  "title": "Live Dashboard",
+  "description": "The live dashboard can be used to visualize live data of data streams using a set of visualizations",
+  "source": "@site/versioned_docs/version-0.91.0/03_use-dashboard.md",
+  "sourceDirName": ".",
+  "slug": "/use-dashboard",
+  "permalink": "/docs/0.91.0/use-dashboard",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 3,
+  "frontMatter": {
+    "id": "use-dashboard",
+    "title": "Live Dashboard",
+    "sidebar_label": "Live Dashboard",
+    "original_id": "use-dashboard"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Managing Pipelines",
+    "permalink": "/docs/0.91.0/use-managing-pipelines"
+  },
+  "next": {
+    "title": "Data Explorer",
+    "permalink": "/docs/0.91.0/use-data-explorer"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-03-use-data-explorer-md-956.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-03-use-data-explorer-md-956.json
new file mode 100644
index 0000000..1a3d5db
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-03-use-data-explorer-md-956.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "use-data-explorer",
+  "id": "version-0.91.0/use-data-explorer",
+  "title": "Data Explorer",
+  "description": "The data explorer can be used to visualize and explore data streams that are persisted by using the Data Lake sink.",
+  "source": "@site/versioned_docs/version-0.91.0/03_use-data-explorer.md",
+  "sourceDirName": ".",
+  "slug": "/use-data-explorer",
+  "permalink": "/docs/0.91.0/use-data-explorer",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 3,
+  "frontMatter": {
+    "id": "use-data-explorer",
+    "title": "Data Explorer",
+    "sidebar_label": "Data Explorer",
+    "original_id": "use-data-explorer"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Live Dashboard",
+    "permalink": "/docs/0.91.0/use-dashboard"
+  },
+  "next": {
+    "title": "Notifications",
+    "permalink": "/docs/0.91.0/use-notifications"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-03-use-install-pipeline-elements-md-ea5.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-03-use-install-pipeline-elements-md-ea5.json
new file mode 100644
index 0000000..1439460
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-03-use-install-pipeline-elements-md-ea5.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "use-install-pipeline-elements",
+  "id": "version-0.91.0/use-install-pipeline-elements",
+  "title": "Install Pipeline Elements",
+  "description": "Install Pipeline Elements",
+  "source": "@site/versioned_docs/version-0.91.0/03_use-install-pipeline-elements.md",
+  "sourceDirName": ".",
+  "slug": "/use-install-pipeline-elements",
+  "permalink": "/docs/0.91.0/use-install-pipeline-elements",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 3,
+  "frontMatter": {
+    "id": "use-install-pipeline-elements",
+    "title": "Install Pipeline Elements",
+    "sidebar_label": "Install Pipeline Elements",
+    "original_id": "use-install-pipeline-elements"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Notifications",
+    "permalink": "/docs/0.91.0/use-notifications"
+  },
+  "next": {
+    "title": "Configurations",
+    "permalink": "/docs/0.91.0/use-configurations"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-03-use-managing-pipelines-md-fd8.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-03-use-managing-pipelines-md-fd8.json
new file mode 100644
index 0000000..a6d792d
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-03-use-managing-pipelines-md-fd8.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "use-managing-pipelines",
+  "id": "version-0.91.0/use-managing-pipelines",
+  "title": "Managing Pipelines",
+  "description": "The pipeline view lists all created pipelines and provides several views and actions to manage the lifecycle of pipelines.",
+  "source": "@site/versioned_docs/version-0.91.0/03_use-managing-pipelines.md",
+  "sourceDirName": ".",
+  "slug": "/use-managing-pipelines",
+  "permalink": "/docs/0.91.0/use-managing-pipelines",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 3,
+  "frontMatter": {
+    "id": "use-managing-pipelines",
+    "title": "Managing Pipelines",
+    "sidebar_label": "Managing Pipelines",
+    "original_id": "use-managing-pipelines"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Pipeline Editor",
+    "permalink": "/docs/0.91.0/use-pipeline-editor"
+  },
+  "next": {
+    "title": "Live Dashboard",
+    "permalink": "/docs/0.91.0/use-dashboard"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-03-use-notifications-md-2b1.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-03-use-notifications-md-2b1.json
new file mode 100644
index 0000000..a7b95ef
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-03-use-notifications-md-2b1.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "use-notifications",
+  "id": "version-0.91.0/use-notifications",
+  "title": "Notifications",
+  "description": "The notification module can be used to create internal notifications.",
+  "source": "@site/versioned_docs/version-0.91.0/03_use-notifications.md",
+  "sourceDirName": ".",
+  "slug": "/use-notifications",
+  "permalink": "/docs/0.91.0/use-notifications",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 3,
+  "frontMatter": {
+    "id": "use-notifications",
+    "title": "Notifications",
+    "sidebar_label": "Notifications",
+    "original_id": "use-notifications"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Data Explorer",
+    "permalink": "/docs/0.91.0/use-data-explorer"
+  },
+  "next": {
+    "title": "Install Pipeline Elements",
+    "permalink": "/docs/0.91.0/use-install-pipeline-elements"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-03-use-pipeline-editor-md-e3d.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-03-use-pipeline-editor-md-e3d.json
new file mode 100644
index 0000000..6cb1374
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-03-use-pipeline-editor-md-e3d.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "use-pipeline-editor",
+  "id": "version-0.91.0/use-pipeline-editor",
+  "title": "Pipeline Editor",
+  "description": "The pipeline editor module supports building pipelines that transform a data stream using a set of resuable data processors and data sinks.",
+  "source": "@site/versioned_docs/version-0.91.0/03_use-pipeline-editor.md",
+  "sourceDirName": ".",
+  "slug": "/use-pipeline-editor",
+  "permalink": "/docs/0.91.0/use-pipeline-editor",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 3,
+  "frontMatter": {
+    "id": "use-pipeline-editor",
+    "title": "Pipeline Editor",
+    "sidebar_label": "Pipeline Editor",
+    "original_id": "use-pipeline-editor"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "StreamPipes Connect",
+    "permalink": "/docs/0.91.0/use-connect"
+  },
+  "next": {
+    "title": "Managing Pipelines",
+    "permalink": "/docs/0.91.0/use-managing-pipelines"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-05-deploy-docker-md-961.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-05-deploy-docker-md-961.json
new file mode 100644
index 0000000..2474eac
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-05-deploy-docker-md-961.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "deploy-docker",
+  "id": "version-0.91.0/deploy-docker",
+  "title": "Docker Deployment",
+  "description": "StreamPipes Compose is a simple collection of user-friendly docker-compose files that easily lets gain first-hand experience with Apache StreamPipes.",
+  "source": "@site/versioned_docs/version-0.91.0/05_deploy-docker.md",
+  "sourceDirName": ".",
+  "slug": "/deploy-docker",
+  "permalink": "/docs/0.91.0/deploy-docker",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 5,
+  "frontMatter": {
+    "id": "deploy-docker",
+    "title": "Docker Deployment",
+    "sidebar_label": "Docker Deployment",
+    "original_id": "deploy-docker"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Telegram Publisher",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram"
+  },
+  "next": {
+    "title": "Kubernetes Deployment",
+    "permalink": "/docs/0.91.0/deploy-kubernetes"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-05-deploy-kubernetes-md-8e3.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-05-deploy-kubernetes-md-8e3.json
new file mode 100644
index 0000000..59257bb
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-05-deploy-kubernetes-md-8e3.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "deploy-kubernetes",
+  "id": "version-0.91.0/deploy-kubernetes",
+  "title": "Kubernetes Deployment",
+  "description": "Prerequisites",
+  "source": "@site/versioned_docs/version-0.91.0/05_deploy-kubernetes.md",
+  "sourceDirName": ".",
+  "slug": "/deploy-kubernetes",
+  "permalink": "/docs/0.91.0/deploy-kubernetes",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 5,
+  "frontMatter": {
+    "id": "deploy-kubernetes",
+    "title": "Kubernetes Deployment",
+    "sidebar_label": "Kubernetes Deployment",
+    "original_id": "deploy-kubernetes"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Docker Deployment",
+    "permalink": "/docs/0.91.0/deploy-docker"
+  },
+  "next": {
+    "title": "Use SSL",
+    "permalink": "/docs/0.91.0/deploy-use-ssl"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-05-deploy-security-md-bda.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-05-deploy-security-md-bda.json
new file mode 100644
index 0000000..9132340
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-05-deploy-security-md-bda.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "deploy-security",
+  "id": "version-0.91.0/deploy-security",
+  "title": "Security",
+  "description": "Overriding default settings",
+  "source": "@site/versioned_docs/version-0.91.0/05_deploy-security.md",
+  "sourceDirName": ".",
+  "slug": "/deploy-security",
+  "permalink": "/docs/0.91.0/deploy-security",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 5,
+  "frontMatter": {
+    "id": "deploy-security",
+    "title": "Security",
+    "sidebar_label": "Security",
+    "original_id": "deploy-security"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Use SSL",
+    "permalink": "/docs/0.91.0/deploy-use-ssl"
+  },
+  "next": {
+    "title": "Development Setup",
+    "permalink": "/docs/0.91.0/extend-setup"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-05-deploy-use-ssl-md-3fc.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-05-deploy-use-ssl-md-3fc.json
new file mode 100644
index 0000000..f1924c6
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-05-deploy-use-ssl-md-3fc.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "deploy-use-ssl",
+  "id": "version-0.91.0/deploy-use-ssl",
+  "title": "Use SSL",
+  "description": "This page explains how SSL Certificates can be used to provide transport layer security between your Browser and the Streampipes Backend.",
+  "source": "@site/versioned_docs/version-0.91.0/05_deploy-use-ssl.md",
+  "sourceDirName": ".",
+  "slug": "/deploy-use-ssl",
+  "permalink": "/docs/0.91.0/deploy-use-ssl",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 5,
+  "frontMatter": {
+    "id": "deploy-use-ssl",
+    "title": "Use SSL",
+    "sidebar_label": "Use SSL",
+    "original_id": "deploy-use-ssl"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Kubernetes Deployment",
+    "permalink": "/docs/0.91.0/deploy-kubernetes"
+  },
+  "next": {
+    "title": "Security",
+    "permalink": "/docs/0.91.0/deploy-security"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-archetypes-md-79c.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-archetypes-md-79c.json
new file mode 100644
index 0000000..f09ae26
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-archetypes-md-79c.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "extend-archetypes",
+  "id": "version-0.91.0/extend-archetypes",
+  "title": "Maven Archetypes",
+  "description": "In this tutorial we explain how you can use the Maven archetypes to develop your own StreamPipes processors and sinks.",
+  "source": "@site/versioned_docs/version-0.91.0/06_extend-archetypes.md",
+  "sourceDirName": ".",
+  "slug": "/extend-archetypes",
+  "permalink": "/docs/0.91.0/extend-archetypes",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 6,
+  "frontMatter": {
+    "id": "extend-archetypes",
+    "title": "Maven Archetypes",
+    "sidebar_label": "Maven Archetypes",
+    "original_id": "extend-archetypes"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "StreamPipes CLI",
+    "permalink": "/docs/0.91.0/extend-cli"
+  },
+  "next": {
+    "title": "Your first data processor",
+    "permalink": "/docs/0.91.0/extend-first-processor"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-cli-md-235.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-cli-md-235.json
new file mode 100644
index 0000000..2f12c9e
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-cli-md-235.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "extend-cli",
+  "id": "version-0.91.0/extend-cli",
+  "title": "StreamPipes CLI",
+  "description": "The StreamPipes command-line interface (CLI) is focused on developers in order to provide an easy entrypoint to set up a suitable dev environment, either planning on developing",
+  "source": "@site/versioned_docs/version-0.91.0/06_extend-cli.md",
+  "sourceDirName": ".",
+  "slug": "/extend-cli",
+  "permalink": "/docs/0.91.0/extend-cli",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 6,
+  "frontMatter": {
+    "id": "extend-cli",
+    "title": "StreamPipes CLI",
+    "sidebar_label": "StreamPipes CLI",
+    "original_id": "extend-cli"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Development Setup",
+    "permalink": "/docs/0.91.0/extend-setup"
+  },
+  "next": {
+    "title": "Maven Archetypes",
+    "permalink": "/docs/0.91.0/extend-archetypes"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-first-processor-md-a50.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-first-processor-md-a50.json
new file mode 100644
index 0000000..bfa85a9
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-first-processor-md-a50.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "extend-first-processor",
+  "id": "version-0.91.0/extend-first-processor",
+  "title": "Your first data processor",
+  "description": "In this section, we will explain how to start a pipeline element service and install it using the StreamPipes UI.",
+  "source": "@site/versioned_docs/version-0.91.0/06_extend-first-processor.md",
+  "sourceDirName": ".",
+  "slug": "/extend-first-processor",
+  "permalink": "/docs/0.91.0/extend-first-processor",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 6,
+  "frontMatter": {
+    "id": "extend-first-processor",
+    "title": "Your first data processor",
+    "sidebar_label": "Your first data processor",
+    "original_id": "extend-first-processor"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Maven Archetypes",
+    "permalink": "/docs/0.91.0/extend-archetypes"
+  },
+  "next": {
+    "title": "Tutorial: Data Sources",
+    "permalink": "/docs/0.91.0/extend-tutorial-data-sources"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-sdk-event-model-md-e87.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-sdk-event-model-md-e87.json
new file mode 100644
index 0000000..ce6cfbd
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-sdk-event-model-md-e87.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "extend-sdk-event-model",
+  "id": "version-0.91.0/extend-sdk-event-model",
+  "title": "SDK Guide: Event Model",
+  "description": "Introduction",
+  "source": "@site/versioned_docs/version-0.91.0/06_extend-sdk-event-model.md",
+  "sourceDirName": ".",
+  "slug": "/extend-sdk-event-model",
+  "permalink": "/docs/0.91.0/extend-sdk-event-model",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 6,
+  "frontMatter": {
+    "id": "extend-sdk-event-model",
+    "title": "SDK Guide: Event Model",
+    "sidebar_label": "SDK: Event Model",
+    "original_id": "extend-sdk-event-model"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "SDK: Functions",
+    "permalink": "/docs/0.91.0/extend-sdk-functions"
+  },
+  "next": {
+    "title": "SDK: Stream Requirements",
+    "permalink": "/docs/0.91.0/extend-sdk-stream-requirements"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-sdk-functions-md-f95.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-sdk-functions-md-f95.json
new file mode 100644
index 0000000..0fa81f6
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-sdk-functions-md-f95.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "extend-sdk-functions",
+  "id": "version-0.91.0/extend-sdk-functions",
+  "title": "SDK Guide: Functions",
+  "description": "Introduction",
+  "source": "@site/versioned_docs/version-0.91.0/06_extend-sdk-functions.md",
+  "sourceDirName": ".",
+  "slug": "/extend-sdk-functions",
+  "permalink": "/docs/0.91.0/extend-sdk-functions",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 6,
+  "frontMatter": {
+    "id": "extend-sdk-functions",
+    "title": "SDK Guide: Functions",
+    "sidebar_label": "SDK: Functions",
+    "original_id": "extend-sdk-functions"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Tutorial: Data Sinks",
+    "permalink": "/docs/0.91.0/extend-tutorial-data-sinks"
+  },
+  "next": {
+    "title": "SDK: Event Model",
+    "permalink": "/docs/0.91.0/extend-sdk-event-model"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-sdk-migration-sd-md-070.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-sdk-migration-sd-md-070.json
new file mode 100644
index 0000000..29b2a05
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-sdk-migration-sd-md-070.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "extend-sdk-migration-service-discovery",
+  "id": "version-0.91.0/extend-sdk-migration-service-discovery",
+  "title": "Migration Guide: New Service Discovery in 0.69.0",
+  "description": "Introduction",
+  "source": "@site/versioned_docs/version-0.91.0/06_extend-sdk-migration-sd.md",
+  "sourceDirName": ".",
+  "slug": "/extend-sdk-migration-service-discovery",
+  "permalink": "/docs/0.91.0/extend-sdk-migration-service-discovery",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 6,
+  "frontMatter": {
+    "id": "extend-sdk-migration-service-discovery",
+    "title": "Migration Guide: New Service Discovery in 0.69.0",
+    "sidebar_label": "Migration Guide: 0.69.0",
+    "original_id": "extend-sdk-migration-service-discovery"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "SDK: Output Strategies",
+    "permalink": "/docs/0.91.0/extend-sdk-output-strategies"
+  },
+  "next": {
+    "title": "Architecture",
+    "permalink": "/docs/0.91.0/technicals-architecture"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-sdk-output-strategies-md-f88.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-sdk-output-strategies-md-f88.json
new file mode 100644
index 0000000..418d99c
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-sdk-output-strategies-md-f88.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "extend-sdk-output-strategies",
+  "id": "version-0.91.0/extend-sdk-output-strategies",
+  "title": "SDK Guide: Output Strategies",
+  "description": "Introduction",
+  "source": "@site/versioned_docs/version-0.91.0/06_extend-sdk-output-strategies.md",
+  "sourceDirName": ".",
+  "slug": "/extend-sdk-output-strategies",
+  "permalink": "/docs/0.91.0/extend-sdk-output-strategies",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 6,
+  "frontMatter": {
+    "id": "extend-sdk-output-strategies",
+    "title": "SDK Guide: Output Strategies",
+    "sidebar_label": "SDK: Output Strategies",
+    "original_id": "extend-sdk-output-strategies"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "SDK: Static Properties",
+    "permalink": "/docs/0.91.0/extend-sdk-static-properties"
+  },
+  "next": {
+    "title": "Migration Guide: 0.69.0",
+    "permalink": "/docs/0.91.0/extend-sdk-migration-service-discovery"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-sdk-static-properties-md-3e4.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-sdk-static-properties-md-3e4.json
new file mode 100644
index 0000000..8d550d7
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-sdk-static-properties-md-3e4.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "extend-sdk-static-properties",
+  "id": "version-0.91.0/extend-sdk-static-properties",
+  "title": "SDK Guide: Static Properties",
+  "description": "Introduction",
+  "source": "@site/versioned_docs/version-0.91.0/06_extend-sdk-static-properties.md",
+  "sourceDirName": ".",
+  "slug": "/extend-sdk-static-properties",
+  "permalink": "/docs/0.91.0/extend-sdk-static-properties",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 6,
+  "frontMatter": {
+    "id": "extend-sdk-static-properties",
+    "title": "SDK Guide: Static Properties",
+    "sidebar_label": "SDK: Static Properties",
+    "original_id": "extend-sdk-static-properties"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "SDK: Stream Requirements",
+    "permalink": "/docs/0.91.0/extend-sdk-stream-requirements"
+  },
+  "next": {
+    "title": "SDK: Output Strategies",
+    "permalink": "/docs/0.91.0/extend-sdk-output-strategies"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-sdk-stream-requirements-md-ef3.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-sdk-stream-requirements-md-ef3.json
new file mode 100644
index 0000000..8049206
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-sdk-stream-requirements-md-ef3.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "extend-sdk-stream-requirements",
+  "id": "version-0.91.0/extend-sdk-stream-requirements",
+  "title": "SDK Guide: Stream Requirements",
+  "description": "Introduction",
+  "source": "@site/versioned_docs/version-0.91.0/06_extend-sdk-stream-requirements.md",
+  "sourceDirName": ".",
+  "slug": "/extend-sdk-stream-requirements",
+  "permalink": "/docs/0.91.0/extend-sdk-stream-requirements",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 6,
+  "frontMatter": {
+    "id": "extend-sdk-stream-requirements",
+    "title": "SDK Guide: Stream Requirements",
+    "sidebar_label": "SDK: Stream Requirements",
+    "original_id": "extend-sdk-stream-requirements"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "SDK: Event Model",
+    "permalink": "/docs/0.91.0/extend-sdk-event-model"
+  },
+  "next": {
+    "title": "SDK: Static Properties",
+    "permalink": "/docs/0.91.0/extend-sdk-static-properties"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-setup-md-223.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-setup-md-223.json
index 4ef791e..bd32a4c 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-setup-md-223.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-setup-md-223.json
@@ -19,5 +19,14 @@
     "title": "Development Setup",
     "sidebar_label": "Development Setup",
     "original_id": "extend-setup"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Security",
+    "permalink": "/docs/0.91.0/deploy-security"
+  },
+  "next": {
+    "title": "StreamPipes CLI",
+    "permalink": "/docs/0.91.0/extend-cli"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-tutorial-data-processors-md-f46.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-tutorial-data-processors-md-f46.json
new file mode 100644
index 0000000..8f05fda
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-tutorial-data-processors-md-f46.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "extend-tutorial-data-processors",
+  "id": "version-0.91.0/extend-tutorial-data-processors",
+  "title": "Tutorial: Data Processors",
+  "description": "In this tutorial, we will add a new data processor.",
+  "source": "@site/versioned_docs/version-0.91.0/06_extend-tutorial-data-processors.md",
+  "sourceDirName": ".",
+  "slug": "/extend-tutorial-data-processors",
+  "permalink": "/docs/0.91.0/extend-tutorial-data-processors",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 6,
+  "frontMatter": {
+    "id": "extend-tutorial-data-processors",
+    "title": "Tutorial: Data Processors",
+    "sidebar_label": "Tutorial: Data Processors",
+    "original_id": "extend-tutorial-data-processors"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Tutorial: Data Sources",
+    "permalink": "/docs/0.91.0/extend-tutorial-data-sources"
+  },
+  "next": {
+    "title": "Tutorial: Data Sinks",
+    "permalink": "/docs/0.91.0/extend-tutorial-data-sinks"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-tutorial-data-sinks-md-fde.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-tutorial-data-sinks-md-fde.json
new file mode 100644
index 0000000..c04a1e2
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-tutorial-data-sinks-md-fde.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "extend-tutorial-data-sinks",
+  "id": "version-0.91.0/extend-tutorial-data-sinks",
+  "title": "Tutorial: Data Sinks",
+  "description": "In this tutorial, we will add a new data sink using the standalone wrapper.",
+  "source": "@site/versioned_docs/version-0.91.0/06_extend-tutorial-data-sinks.md",
+  "sourceDirName": ".",
+  "slug": "/extend-tutorial-data-sinks",
+  "permalink": "/docs/0.91.0/extend-tutorial-data-sinks",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 6,
+  "frontMatter": {
+    "id": "extend-tutorial-data-sinks",
+    "title": "Tutorial: Data Sinks",
+    "sidebar_label": "Tutorial: Data Sinks",
+    "original_id": "extend-tutorial-data-sinks"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Tutorial: Data Processors",
+    "permalink": "/docs/0.91.0/extend-tutorial-data-processors"
+  },
+  "next": {
+    "title": "SDK: Functions",
+    "permalink": "/docs/0.91.0/extend-sdk-functions"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-tutorial-data-sources-md-f9c.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-tutorial-data-sources-md-f9c.json
new file mode 100644
index 0000000..99aed34
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-06-extend-tutorial-data-sources-md-f9c.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "extend-tutorial-data-sources",
+  "id": "version-0.91.0/extend-tutorial-data-sources",
+  "title": "Tutorial: Data Sources",
+  "description": "In this tutorial, we will add a new data source consisting of a single data stream. The source will be provided as a standalone component (i.e., the description will be accessible through an integrated web server).",
+  "source": "@site/versioned_docs/version-0.91.0/06_extend-tutorial-data-sources.md",
+  "sourceDirName": ".",
+  "slug": "/extend-tutorial-data-sources",
+  "permalink": "/docs/0.91.0/extend-tutorial-data-sources",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 6,
+  "frontMatter": {
+    "id": "extend-tutorial-data-sources",
+    "title": "Tutorial: Data Sources",
+    "sidebar_label": "Tutorial: Data Sources",
+    "original_id": "extend-tutorial-data-sources"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Your first data processor",
+    "permalink": "/docs/0.91.0/extend-first-processor"
+  },
+  "next": {
+    "title": "Tutorial: Data Processors",
+    "permalink": "/docs/0.91.0/extend-tutorial-data-processors"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-07-technicals-architecture-md-015.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-07-technicals-architecture-md-015.json
new file mode 100644
index 0000000..1df0d68
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-07-technicals-architecture-md-015.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "technicals-architecture",
+  "id": "version-0.91.0/technicals-architecture",
+  "title": "Architecture",
+  "description": "The following picture illustrates the high-level architecture of StreamPipes:",
+  "source": "@site/versioned_docs/version-0.91.0/07_technicals-architecture.md",
+  "sourceDirName": ".",
+  "slug": "/technicals-architecture",
+  "permalink": "/docs/0.91.0/technicals-architecture",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 7,
+  "frontMatter": {
+    "id": "technicals-architecture",
+    "title": "Architecture",
+    "sidebar_label": "Architecture",
+    "original_id": "technicals-architecture"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Migration Guide: 0.69.0",
+    "permalink": "/docs/0.91.0/extend-sdk-migration-service-discovery"
+  },
+  "next": {
+    "title": "User Guidance",
+    "permalink": "/docs/0.91.0/technicals-user-guidance"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-07-technicals-configuration-md-8d3.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-07-technicals-configuration-md-8d3.json
new file mode 100644
index 0000000..d33139a
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-07-technicals-configuration-md-8d3.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "technicals-configuration",
+  "id": "version-0.91.0/technicals-configuration",
+  "title": "Configuration",
+  "description": "On this page we explain how the StreamPipes configuration works.",
+  "source": "@site/versioned_docs/version-0.91.0/07_technicals-configuration.md",
+  "sourceDirName": ".",
+  "slug": "/technicals-configuration",
+  "permalink": "/docs/0.91.0/technicals-configuration",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 7,
+  "frontMatter": {
+    "id": "technicals-configuration",
+    "title": "Configuration",
+    "sidebar_label": "Configuration",
+    "original_id": "technicals-configuration"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Messaging",
+    "permalink": "/docs/0.91.0/technicals-messaging"
+  },
+  "next": {
+    "title": "Get Help",
+    "permalink": "/docs/0.91.0/community-get-help"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-07-technicals-messaging-md-d22.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-07-technicals-messaging-md-d22.json
new file mode 100644
index 0000000..bc175d2
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-07-technicals-messaging-md-d22.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "technicals-messaging",
+  "id": "version-0.91.0/technicals-messaging",
+  "title": "Messaging",
+  "description": "tbd",
+  "source": "@site/versioned_docs/version-0.91.0/07_technicals-messaging.md",
+  "sourceDirName": ".",
+  "slug": "/technicals-messaging",
+  "permalink": "/docs/0.91.0/technicals-messaging",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 7,
+  "frontMatter": {
+    "id": "technicals-messaging",
+    "title": "Messaging",
+    "sidebar_label": "Messaging",
+    "original_id": "technicals-messaging"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Runtime Wrappers",
+    "permalink": "/docs/0.91.0/technicals-runtime-wrappers"
+  },
+  "next": {
+    "title": "Configuration",
+    "permalink": "/docs/0.91.0/technicals-configuration"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-07-technicals-runtime-wrappers-md-b1a.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-07-technicals-runtime-wrappers-md-b1a.json
new file mode 100644
index 0000000..93b1a86
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-07-technicals-runtime-wrappers-md-b1a.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "technicals-runtime-wrappers",
+  "id": "version-0.91.0/technicals-runtime-wrappers",
+  "title": "Runtime Wrappers",
+  "description": "tbd",
+  "source": "@site/versioned_docs/version-0.91.0/07_technicals-runtime-wrappers.md",
+  "sourceDirName": ".",
+  "slug": "/technicals-runtime-wrappers",
+  "permalink": "/docs/0.91.0/technicals-runtime-wrappers",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 7,
+  "frontMatter": {
+    "id": "technicals-runtime-wrappers",
+    "title": "Runtime Wrappers",
+    "sidebar_label": "Runtime Wrappers",
+    "original_id": "technicals-runtime-wrappers"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "User Guidance",
+    "permalink": "/docs/0.91.0/technicals-user-guidance"
+  },
+  "next": {
+    "title": "Messaging",
+    "permalink": "/docs/0.91.0/technicals-messaging"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-07-technicals-user-guidance-md-cbb.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-07-technicals-user-guidance-md-cbb.json
new file mode 100644
index 0000000..80bb328
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-07-technicals-user-guidance-md-cbb.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "technicals-user-guidance",
+  "id": "version-0.91.0/technicals-user-guidance",
+  "title": "User Guidance",
+  "description": "tbd",
+  "source": "@site/versioned_docs/version-0.91.0/07_technicals-user-guidance.md",
+  "sourceDirName": ".",
+  "slug": "/technicals-user-guidance",
+  "permalink": "/docs/0.91.0/technicals-user-guidance",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 7,
+  "frontMatter": {
+    "id": "technicals-user-guidance",
+    "title": "User Guidance",
+    "sidebar_label": "User Guidance",
+    "original_id": "technicals-user-guidance"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Architecture",
+    "permalink": "/docs/0.91.0/technicals-architecture"
+  },
+  "next": {
+    "title": "Runtime Wrappers",
+    "permalink": "/docs/0.91.0/technicals-runtime-wrappers"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-08-debugging-md-667.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-08-debugging-md-667.json
new file mode 100644
index 0000000..59456cb
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-08-debugging-md-667.json
@@ -0,0 +1,23 @@
+{
+  "unversionedId": "debugging-debugging",
+  "id": "version-0.91.0/debugging-debugging",
+  "title": "Debugging",
+  "description": "tbd",
+  "source": "@site/versioned_docs/version-0.91.0/08_debugging.md",
+  "sourceDirName": ".",
+  "slug": "/debugging-debugging",
+  "permalink": "/docs/0.91.0/debugging-debugging",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 8,
+  "frontMatter": {
+    "id": "debugging-debugging",
+    "title": "Debugging",
+    "sidebar_label": "Debugging",
+    "original_id": "debugging-debugging"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-08-monitoring-md-c97.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-08-monitoring-md-c97.json
new file mode 100644
index 0000000..a426765
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-08-monitoring-md-c97.json
@@ -0,0 +1,23 @@
+{
+  "unversionedId": "debugging-monitoring",
+  "id": "version-0.91.0/debugging-monitoring",
+  "title": "Monitoring",
+  "description": "tbd",
+  "source": "@site/versioned_docs/version-0.91.0/08_monitoring.md",
+  "sourceDirName": ".",
+  "slug": "/debugging-monitoring",
+  "permalink": "/docs/0.91.0/debugging-monitoring",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 8,
+  "frontMatter": {
+    "id": "debugging-monitoring",
+    "title": "Monitoring",
+    "sidebar_label": "Monitoring",
+    "original_id": "debugging-monitoring"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-09-contribute-md-bf4.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-09-contribute-md-bf4.json
new file mode 100644
index 0000000..0a4cc28
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-09-contribute-md-bf4.json
@@ -0,0 +1,28 @@
+{
+  "unversionedId": "community-contribute",
+  "id": "version-0.91.0/community-contribute",
+  "title": "Contribute",
+  "description": "Contribute",
+  "source": "@site/versioned_docs/version-0.91.0/09_contribute.md",
+  "sourceDirName": ".",
+  "slug": "/community-contribute",
+  "permalink": "/docs/0.91.0/community-contribute",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 9,
+  "frontMatter": {
+    "id": "community-contribute",
+    "title": "Contribute",
+    "sidebar_label": "Contribute",
+    "original_id": "community-contribute"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Get Help",
+    "permalink": "/docs/0.91.0/community-get-help"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-09-get-help-md-f7f.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-09-get-help-md-f7f.json
new file mode 100644
index 0000000..bb274c7
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-09-get-help-md-f7f.json
@@ -0,0 +1,32 @@
+{
+  "unversionedId": "community-get-help",
+  "id": "version-0.91.0/community-get-help",
+  "title": "Get Help",
+  "description": "The Apache StreamPipes community is happy to help with any questions or problems you might have.",
+  "source": "@site/versioned_docs/version-0.91.0/09_get-help.md",
+  "sourceDirName": ".",
+  "slug": "/community-get-help",
+  "permalink": "/docs/0.91.0/community-get-help",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "sidebarPosition": 9,
+  "frontMatter": {
+    "id": "community-get-help",
+    "title": "Get Help",
+    "sidebar_label": "Get Help",
+    "original_id": "community-get-help"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Configuration",
+    "permalink": "/docs/0.91.0/technicals-configuration"
+  },
+  "next": {
+    "title": "Contribute",
+    "permalink": "/docs/0.91.0/community-contribute"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-dev-guide-archetype-md-159.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-dev-guide-archetype-md-159.json
new file mode 100644
index 0000000..62189de
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-dev-guide-archetype-md-159.json
@@ -0,0 +1,22 @@
+{
+  "unversionedId": "dev-guide-archetype",
+  "id": "version-0.91.0/dev-guide-archetype",
+  "title": "Start Developing",
+  "description": "",
+  "source": "@site/versioned_docs/version-0.91.0/dev-guide-archetype.md",
+  "sourceDirName": ".",
+  "slug": "/dev-guide-archetype",
+  "permalink": "/docs/0.91.0/dev-guide-archetype",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "dev-guide-archetype",
+    "title": "Start Developing",
+    "sidebar_label": "Start Developing",
+    "original_id": "dev-guide-archetype"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-dev-guide-processor-sdk-md-32b.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-dev-guide-processor-sdk-md-32b.json
new file mode 100644
index 0000000..128e715
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-dev-guide-processor-sdk-md-32b.json
@@ -0,0 +1,22 @@
+{
+  "unversionedId": "dev-guide-sdk-guide-processors",
+  "id": "version-0.91.0/dev-guide-sdk-guide-processors",
+  "title": "SDK Guide: Data Processors",
+  "description": "Project Setup",
+  "source": "@site/versioned_docs/version-0.91.0/dev-guide-processor-sdk.md",
+  "sourceDirName": ".",
+  "slug": "/dev-guide-sdk-guide-processors",
+  "permalink": "/docs/0.91.0/dev-guide-sdk-guide-processors",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "dev-guide-sdk-guide-processors",
+    "title": "SDK Guide: Data Processors",
+    "sidebar_label": "SDK Guide: Data Processors",
+    "original_id": "dev-guide-sdk-guide-processors"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-dev-guide-sink-sdk-md-5b6.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-dev-guide-sink-sdk-md-5b6.json
new file mode 100644
index 0000000..6553940
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-dev-guide-sink-sdk-md-5b6.json
@@ -0,0 +1,22 @@
+{
+  "unversionedId": "dev-guide-sdk-guide-sinks",
+  "id": "version-0.91.0/dev-guide-sdk-guide-sinks",
+  "title": "SDK Guide: Data Sinks",
+  "description": "Project Setup",
+  "source": "@site/versioned_docs/version-0.91.0/dev-guide-sink-sdk.md",
+  "sourceDirName": ".",
+  "slug": "/dev-guide-sdk-guide-sinks",
+  "permalink": "/docs/0.91.0/dev-guide-sdk-guide-sinks",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "dev-guide-sdk-guide-sinks",
+    "title": "SDK Guide: Data Sinks",
+    "sidebar_label": "SDK Guide: Data Sinks",
+    "original_id": "dev-guide-sdk-guide-sinks"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-faq-common-problems-md-c91.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-faq-common-problems-md-c91.json
new file mode 100644
index 0000000..971c265
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-faq-common-problems-md-c91.json
@@ -0,0 +1,23 @@
+{
+  "unversionedId": "faq-common-problems",
+  "id": "version-0.91.0/faq-common-problems",
+  "title": "Common Problems",
+  "description": "* Windows 10: Consul, Kafka, Zookeeper, or Kafka-Rest did not start",
+  "source": "@site/versioned_docs/version-0.91.0/faq-common-problems.md",
+  "sourceDirName": ".",
+  "slug": "/faq-common-problems",
+  "permalink": "/docs/0.91.0/faq-common-problems",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "faq-common-problems",
+    "title": "Common Problems",
+    "sidebar_label": "Common Problems",
+    "original_id": "faq-common-problems"
+  },
+  "sidebar": "faq"
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-coindesk-md-ab8.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-coindesk-md-ab8.json
new file mode 100644
index 0000000..23d54b1
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-coindesk-md-ab8.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.coindesk",
+  "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.coindesk",
+  "title": "Coindesk Bitcoin Price",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.coindesk.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.coindesk",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.coindesk",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.coindesk",
+    "title": "Coindesk Bitcoin Price",
+    "sidebar_label": "Coindesk Bitcoin Price",
+    "original_id": "org.apache.streampipes.connect.adapters.coindesk"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Apache Pulsar",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar"
+  },
+  "next": {
+    "title": "File Stream",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.file"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-flic-mqtt-md-612.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-flic-mqtt-md-612.json
index 4a84a27..1c56f2f 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-flic-mqtt-md-612.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-flic-mqtt-md-612.json
@@ -18,5 +18,14 @@
     "title": "Flic MQTT",
     "sidebar_label": "Flic MQTT",
     "original_id": "org.apache.streampipes.connect.adapters.flic.mqtt"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "File Set",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.protocol.set.file"
+  },
+  "next": {
+    "title": "GDELT",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.gdelt"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-gdelt-md-e91.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-gdelt-md-e91.json
new file mode 100644
index 0000000..86ea44f
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-gdelt-md-e91.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.gdelt",
+  "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.gdelt",
+  "title": "GDELT",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.gdelt.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.gdelt",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.gdelt",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.gdelt",
+    "title": "GDELT",
+    "sidebar_label": "GDELT",
+    "original_id": "org.apache.streampipes.connect.adapters.gdelt"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Flic MQTT",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt"
+  },
+  "next": {
+    "title": "HTTP Server",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-iex-news-md-e79.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-iex-news-md-e79.json
new file mode 100644
index 0000000..e2e28fb
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-iex-news-md-e79.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.iex.news",
+  "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.iex.news",
+  "title": "IEX Cloud News",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.iex.news.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.iex.news",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iex.news",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.iex.news",
+    "title": "IEX Cloud News",
+    "sidebar_label": "IEX Cloud News",
+    "original_id": "org.apache.streampipes.connect.adapters.iex.news"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "HTTP Stream",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.http"
+  },
+  "next": {
+    "title": "IEX Cloud Stock Quotes",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iex.stocks"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-iex-stocks-md-d77.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-iex-stocks-md-d77.json
new file mode 100644
index 0000000..47d1ca1
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-iex-stocks-md-d77.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.iex.stocks",
+  "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.iex.stocks",
+  "title": "IEX Cloud Stock Quotes",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.iex.stocks.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.iex.stocks",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iex.stocks",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.iex.stocks",
+    "title": "IEX Cloud Stock Quotes",
+    "sidebar_label": "IEX Cloud Stock Quotes",
+    "original_id": "org.apache.streampipes.connect.adapters.iex.stocks"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "IEX Cloud News",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iex.news"
+  },
+  "next": {
+    "title": "ISS Location",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iss"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-image-set-md-51f.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-image-set-md-51f.json
new file mode 100644
index 0000000..f816f23
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-image-set-md-51f.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.image.set",
+  "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.image.set",
+  "title": "Image Upload (Set)",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.image.set.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.image.set",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.image.set",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.image.set",
+    "title": "Image Upload (Set)",
+    "sidebar_label": "Image Upload (Set)",
+    "original_id": "org.apache.streampipes.connect.adapters.image.set"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "ISS Location",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iss"
+  },
+  "next": {
+    "title": "Image Upload (Stream)",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.image.stream"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-image-stream-md-a65.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-image-stream-md-a65.json
new file mode 100644
index 0000000..c09f8ab
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-image-stream-md-a65.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.image.stream",
+  "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.image.stream",
+  "title": "Image Upload (Stream)",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.image.stream.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.image.stream",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.image.stream",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.image.stream",
+    "title": "Image Upload (Stream)",
+    "sidebar_label": "Image Upload (Stream)",
+    "original_id": "org.apache.streampipes.connect.adapters.image.stream"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Image Upload (Set)",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.image.set"
+  },
+  "next": {
+    "title": "InfluxDB Set Adapter",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.set"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-influxdb-set-md-d65.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-influxdb-set-md-d65.json
new file mode 100644
index 0000000..28d7190
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-influxdb-set-md-d65.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.influxdb.set",
+  "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.set",
+  "title": "InfluxDB Set Adapter",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.set.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.influxdb.set",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.set",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.influxdb.set",
+    "title": "InfluxDB Set Adapter",
+    "sidebar_label": "InfluxDB Set Adapter",
+    "original_id": "org.apache.streampipes.connect.adapters.influxdb.set"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Image Upload (Stream)",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.image.stream"
+  },
+  "next": {
+    "title": "InfluxDB Stream Adapter",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-influxdb-stream-md-b34.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-influxdb-stream-md-b34.json
new file mode 100644
index 0000000..2b54704
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-influxdb-stream-md-b34.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.influxdb.stream",
+  "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream",
+  "title": "InfluxDB Stream Adapter",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.influxdb.stream",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.influxdb.stream",
+    "title": "InfluxDB Stream Adapter",
+    "sidebar_label": "InfluxDB Stream Adapter",
+    "original_id": "org.apache.streampipes.connect.adapters.influxdb.stream"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "InfluxDB Set Adapter",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.set"
+  },
+  "next": {
+    "title": "MQTT",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-iss-md-348.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-iss-md-348.json
new file mode 100644
index 0000000..850632d
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-iss-md-348.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.iss",
+  "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.iss",
+  "title": "ISS Location",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.iss.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.iss",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iss",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.iss",
+    "title": "ISS Location",
+    "sidebar_label": "ISS Location",
+    "original_id": "org.apache.streampipes.connect.adapters.iss"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "IEX Cloud Stock Quotes",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iex.stocks"
+  },
+  "next": {
+    "title": "Image Upload (Set)",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.image.set"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-mysql-set-md-81c.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-mysql-set-md-81c.json
new file mode 100644
index 0000000..ea00d25
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-mysql-set-md-81c.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.mysql.set",
+  "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.set",
+  "title": "MySQL Set Adapter",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.set.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.mysql.set",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.set",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.mysql.set",
+    "title": "MySQL Set Adapter",
+    "sidebar_label": "MySQL Set Adapter",
+    "original_id": "org.apache.streampipes.connect.adapters.mysql.set"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Machine Data Simulator",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.machine"
+  },
+  "next": {
+    "title": "MySql Stream Adapter",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.stream"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-mysql-stream-md-78b.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-mysql-stream-md-78b.json
new file mode 100644
index 0000000..eda9f49
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-mysql-stream-md-78b.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.mysql.stream",
+  "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.stream",
+  "title": "MySql Stream Adapter",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.stream.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.mysql.stream",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.stream",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.mysql.stream",
+    "title": "MySql Stream Adapter",
+    "sidebar_label": "MySql Stream Adapter",
+    "original_id": "org.apache.streampipes.connect.adapters.mysql.stream"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "MySQL Set Adapter",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.set"
+  },
+  "next": {
+    "title": "NETIO MQTT M2M",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-netio-mqtt-md-f7a.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-netio-mqtt-md-f7a.json
new file mode 100644
index 0000000..e6880bb
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-netio-mqtt-md-f7a.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.netio.mqtt",
+  "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt",
+  "title": "NETIO MQTT M2M",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.netio.mqtt",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.netio.mqtt",
+    "title": "NETIO MQTT M2M",
+    "sidebar_label": "NETIO MQTT M2M",
+    "original_id": "org.apache.streampipes.connect.adapters.netio.mqtt"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "MySql Stream Adapter",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.stream"
+  },
+  "next": {
+    "title": "NETIO http JSON",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.netio.rest"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-netio-rest-md-0fd.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-netio-rest-md-0fd.json
new file mode 100644
index 0000000..acae672
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-netio-rest-md-0fd.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.netio.rest",
+  "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.netio.rest",
+  "title": "NETIO http JSON",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.netio.rest.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.netio.rest",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.netio.rest",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.netio.rest",
+    "title": "NETIO http JSON",
+    "sidebar_label": "NETIO http JSON",
+    "original_id": "org.apache.streampipes.connect.adapters.netio.rest"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "NETIO MQTT M2M",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt"
+  },
+  "next": {
+    "title": "NSW Traffic Cameras",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-nswaustralia-trafficcamera-md-1ec.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-nswaustralia-trafficcamera-md-1ec.json
new file mode 100644
index 0000000..bf4765b
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-nswaustralia-trafficcamera-md-1ec.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
+  "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
+  "title": "NSW Traffic Cameras",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
+    "title": "NSW Traffic Cameras",
+    "sidebar_label": "NSW Traffic Cameras",
+    "original_id": "org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "NETIO http JSON",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.netio.rest"
+  },
+  "next": {
+    "title": "OPC UA",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.opcua"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-opcua-md-3e1.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-opcua-md-3e1.json
index 157f386..6a31579 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-opcua-md-3e1.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-opcua-md-3e1.json
@@ -18,5 +18,14 @@
     "title": "OPC UA",
     "sidebar_label": "OPC UA",
     "original_id": "org.apache.streampipes.connect.adapters.opcua"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "NSW Traffic Cameras",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera"
+  },
+  "next": {
+    "title": "PLC4X MODBUS",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-modbus-md-d80.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-modbus-md-d80.json
index d2501a6..4b23f1a 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-modbus-md-d80.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-modbus-md-d80.json
@@ -18,5 +18,14 @@
     "title": "PLC4X MODBUS",
     "sidebar_label": "PLC4X MODBUS",
     "original_id": "org.apache.streampipes.connect.adapters.plc4x.modbus"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "OPC UA",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.opcua"
+  },
+  "next": {
+    "title": "PLC4X S7",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-s-7-md-5d7.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-s-7-md-5d7.json
new file mode 100644
index 0000000..4c99b2a
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-s-7-md-5d7.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.plc4x.s7",
+  "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7",
+  "title": "PLC4X S7",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.plc4x.s7",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.plc4x.s7",
+    "title": "PLC4X S7",
+    "sidebar_label": "PLC4X S7",
+    "original_id": "org.apache.streampipes.connect.adapters.plc4x.s7"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "PLC4X MODBUS",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus"
+  },
+  "next": {
+    "title": "ROS Bridge",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.ros"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-ros-md-d34.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-ros-md-d34.json
new file mode 100644
index 0000000..364bef6
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-ros-md-d34.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.ros",
+  "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.ros",
+  "title": "ROS Bridge",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.ros.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.ros",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.ros",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.ros",
+    "title": "ROS Bridge",
+    "sidebar_label": "ROS Bridge",
+    "original_id": "org.apache.streampipes.connect.adapters.ros"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "PLC4X S7",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7"
+  },
+  "next": {
+    "title": "Random Data Simulator (Set)",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-simulator-machine-md-331.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-simulator-machine-md-331.json
index 6c0fbc8..2e40760 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-simulator-machine-md-331.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-simulator-machine-md-331.json
@@ -18,5 +18,14 @@
     "title": "Machine Data Simulator",
     "sidebar_label": "Machine Data Simulator",
     "original_id": "org.apache.streampipes.connect.adapters.simulator.machine"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "MQTT",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt"
+  },
+  "next": {
+    "title": "MySQL Set Adapter",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.set"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-simulator-randomdataset-md-35c.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-simulator-randomdataset-md-35c.json
new file mode 100644
index 0000000..69c4162
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-simulator-randomdataset-md-35c.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
+  "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
+  "title": "Random Data Simulator (Set)",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.simulator.randomdataset",
+    "title": "Random Data Simulator (Set)",
+    "sidebar_label": "Random Data Simulator (Set)",
+    "original_id": "org.apache.streampipes.connect.adapters.simulator.randomdataset"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "ROS Bridge",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.ros"
+  },
+  "next": {
+    "title": "Random Data Simulator (Stream)",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-simulator-randomdatastream-md-eab.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-simulator-randomdatastream-md-eab.json
new file mode 100644
index 0000000..aa6cd1d
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-simulator-randomdatastream-md-eab.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
+  "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
+  "title": "Random Data Simulator (Stream)",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.simulator.randomdatastream",
+    "title": "Random Data Simulator (Stream)",
+    "sidebar_label": "Random Data Simulator (Stream)",
+    "original_id": "org.apache.streampipes.connect.adapters.simulator.randomdatastream"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Random Data Simulator (Set)",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset"
+  },
+  "next": {
+    "title": "Slack",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.slack"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-slack-md-71e.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-slack-md-71e.json
new file mode 100644
index 0000000..10e1378
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-slack-md-71e.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.slack",
+  "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.slack",
+  "title": "Slack",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.slack.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.slack",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.slack",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.slack",
+    "title": "Slack",
+    "sidebar_label": "Slack",
+    "original_id": "org.apache.streampipes.connect.adapters.slack"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Random Data Simulator (Stream)",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream"
+  },
+  "next": {
+    "title": "TI Sensor Tag",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.ti"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-ti-md-e5e.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-ti-md-e5e.json
new file mode 100644
index 0000000..ae104ea
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-ti-md-e5e.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.ti",
+  "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.ti",
+  "title": "TI Sensor Tag",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.ti.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.ti",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.ti",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.ti",
+    "title": "TI Sensor Tag",
+    "sidebar_label": "TI Sensor Tag",
+    "original_id": "org.apache.streampipes.connect.adapters.ti"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Slack",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.slack"
+  },
+  "next": {
+    "title": "Wikipedia Edits",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-wikipedia-edit-md-13e.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-wikipedia-edit-md-13e.json
new file mode 100644
index 0000000..689923e
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-wikipedia-edit-md-13e.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
+  "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
+  "title": "Wikipedia Edits",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.wikipedia.edit",
+    "title": "Wikipedia Edits",
+    "sidebar_label": "Wikipedia Edits",
+    "original_id": "org.apache.streampipes.connect.adapters.wikipedia.edit"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "TI Sensor Tag",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.ti"
+  },
+  "next": {
+    "title": "Wikipedia New Articles",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-wikipedia-new-md-0d1.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-wikipedia-new-md-0d1.json
new file mode 100644
index 0000000..d43acac
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-adapters-wikipedia-new-md-0d1.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.adapters.wikipedia.new",
+  "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new",
+  "title": "Wikipedia New Articles",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.adapters.wikipedia.new",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.adapters.wikipedia.new",
+    "title": "Wikipedia New Articles",
+    "sidebar_label": "Wikipedia New Articles",
+    "original_id": "org.apache.streampipes.connect.adapters.wikipedia.new"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Wikipedia Edits",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit"
+  },
+  "next": {
+    "title": "Absence",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-file-md-8e0.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-file-md-8e0.json
new file mode 100644
index 0000000..ca338a6
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-file-md-8e0.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.file",
+  "id": "version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.file",
+  "title": "File Stream",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.file.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.protocol.stream.file",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.file",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.protocol.stream.file",
+    "title": "File Stream",
+    "sidebar_label": "File Stream",
+    "original_id": "org.apache.streampipes.connect.protocol.stream.file"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Coindesk Bitcoin Price",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.coindesk"
+  },
+  "next": {
+    "title": "File Set",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.protocol.set.file"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-http-md-ade.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-http-md-ade.json
new file mode 100644
index 0000000..368cf6f
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-http-md-ade.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.http",
+  "id": "version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.http",
+  "title": "HTTP Stream",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.http.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.protocol.stream.http",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.http",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.protocol.stream.http",
+    "title": "HTTP Stream",
+    "sidebar_label": "HTTP Stream",
+    "original_id": "org.apache.streampipes.connect.protocol.stream.http"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "HTTP Set",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.protocol.set.http"
+  },
+  "next": {
+    "title": "IEX Cloud News",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iex.news"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-httpserver-md-28d.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-httpserver-md-28d.json
index 787663e..aa0035b 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-httpserver-md-28d.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-httpserver-md-28d.json
@@ -18,5 +18,14 @@
     "title": "HTTP Server",
     "sidebar_label": "HTTP Server",
     "original_id": "org.apache.streampipes.connect.protocol.stream.httpserver"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "GDELT",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.gdelt"
+  },
+  "next": {
+    "title": "HTTP Set",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.protocol.set.http"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-kafka-md-ea2.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-kafka-md-ea2.json
new file mode 100644
index 0000000..e6c63cf
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-kafka-md-ea2.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.kafka",
+  "id": "version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.kafka",
+  "title": "Apache Kafka",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.kafka.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.protocol.stream.kafka",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.kafka",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.protocol.stream.kafka",
+    "title": "Apache Kafka",
+    "sidebar_label": "Apache Kafka",
+    "original_id": "org.apache.streampipes.connect.protocol.stream.kafka"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Configurations",
+    "permalink": "/docs/0.91.0/use-configurations"
+  },
+  "next": {
+    "title": "Apache Pulsar",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-mqtt-md-b21.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-mqtt-md-b21.json
new file mode 100644
index 0000000..6878bd0
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-mqtt-md-b21.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.mqtt",
+  "id": "version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt",
+  "title": "MQTT",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.protocol.stream.mqtt",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.protocol.stream.mqtt",
+    "title": "MQTT",
+    "sidebar_label": "MQTT",
+    "original_id": "org.apache.streampipes.connect.protocol.stream.mqtt"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "InfluxDB Stream Adapter",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream"
+  },
+  "next": {
+    "title": "Machine Data Simulator",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.machine"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-pulsar-md-5da.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-pulsar-md-5da.json
new file mode 100644
index 0000000..c0d4c9d
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-pulsar-md-5da.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.pulsar",
+  "id": "version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar",
+  "title": "Apache Pulsar",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.connect.protocol.stream.pulsar",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.connect.protocol.stream.pulsar",
+    "title": "Apache Pulsar",
+    "sidebar_label": "Apache Pulsar",
+    "original_id": "org.apache.streampipes.connect.protocol.stream.pulsar"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Apache Kafka",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.kafka"
+  },
+  "next": {
+    "title": "Coindesk Bitcoin Price",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.coindesk"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processor-geo-flink-md-664.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processor-geo-flink-md-664.json
new file mode 100644
index 0000000..ca834df
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processor-geo-flink-md-664.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processor.geo.flink",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processor.geo.flink",
+  "title": "Spatial Grid Enrichment",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processor.geo.flink.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processor.geo.flink",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.flink",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processor.geo.flink",
+    "title": "Spatial Grid Enrichment",
+    "sidebar_label": "Spatial Grid Enrichment",
+    "original_id": "org.apache.streampipes.processor.geo.flink"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Size Measure",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure"
+  },
+  "next": {
+    "title": "Speed Calculator",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processor-geo-jvm-geocoding-md-c37.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processor-geo-jvm-geocoding-md-c37.json
index e465091..fb20045 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processor-geo-jvm-geocoding-md-c37.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processor-geo-jvm-geocoding-md-c37.json
@@ -18,5 +18,14 @@
     "title": "Google Maps Geocoder",
     "sidebar_label": "Google Maps Geocoder",
     "original_id": "org.apache.streampipes.processor.geo.jvm.geocoding"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Generic Image Classification",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
+  },
+  "next": {
+    "title": "Image Cropper",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processor-geo-jvm-reversegeocoding-md-76e.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processor-geo-jvm-reversegeocoding-md-76e.json
index ba518be..9f7bc83 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processor-geo-jvm-reversegeocoding-md-76e.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processor-geo-jvm-reversegeocoding-md-76e.json
@@ -18,5 +18,14 @@
     "title": "Reverse Geocoder",
     "sidebar_label": "Reverse Geocoder",
     "original_id": "org.apache.streampipes.processor.geo.jvm.reversegeocoding"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Rate Limit",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.limit"
+  },
+  "next": {
+    "title": "Sentence Detection (English)",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processor-geo-jvm-staticgeocoding-md-7a8.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processor-geo-jvm-staticgeocoding-md-7a8.json
index f4a7cf5..0b590f0 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processor-geo-jvm-staticgeocoding-md-7a8.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processor-geo-jvm-staticgeocoding-md-7a8.json
@@ -18,5 +18,14 @@
     "title": "Static Google Maps Geocoder",
     "sidebar_label": "Static Google Maps Geocoder",
     "original_id": "org.apache.streampipes.processor.geo.jvm.staticgeocoding"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Static Distance Calculator",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator"
+  },
+  "next": {
+    "title": "Static Math",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-md-c5a.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-md-c5a.json
index 08d23f1..c7d9205 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-md-c5a.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-md-c5a.json
@@ -18,5 +18,14 @@
     "title": "Generic Image Classification",
     "sidebar_label": "Generic Image Classification",
     "original_id": "org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Frequency Change",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.frequencychange"
+  },
+  "next": {
+    "title": "Google Maps Geocoder",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-cropper-md-619.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-cropper-md-619.json
new file mode 100644
index 0000000..e2218af
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-cropper-md-619.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
+  "title": "Image Cropper",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
+    "title": "Image Cropper",
+    "sidebar_label": "Image Cropper",
+    "original_id": "org.apache.streampipes.processor.imageclassification.jvm.image-cropper"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Google Maps Geocoder",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding"
+  },
+  "next": {
+    "title": "Image Enricher",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-enricher-md-ee2.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-enricher-md-ee2.json
index 63ae284..2f491e2 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-enricher-md-ee2.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-enricher-md-ee2.json
@@ -18,5 +18,14 @@
     "title": "Image Enricher",
     "sidebar_label": "Image Enricher",
     "original_id": "org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Image Cropper",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper"
+  },
+  "next": {
+    "title": "Language Detection",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processor-imageclassification-qrcode-md-350.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processor-imageclassification-qrcode-md-350.json
index aee3190..f759542 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processor-imageclassification-qrcode-md-350.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processor-imageclassification-qrcode-md-350.json
@@ -18,5 +18,14 @@
     "title": "QR Code Reader",
     "sidebar_label": "QR Code Reader",
     "original_id": "org.apache.streampipes.processor.imageclassification.qrcode"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Projection",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.project"
+  },
+  "next": {
+    "title": "Rate Limit",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.limit"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-aggregation-flink-aggregation-md-f6e.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-aggregation-flink-aggregation-md-f6e.json
index a853f3c..a5e266b 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-aggregation-flink-aggregation-md-f6e.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-aggregation-flink-aggregation-md-f6e.json
@@ -18,5 +18,14 @@
     "title": "Aggregation",
     "sidebar_label": "Aggregation",
     "original_id": "org.apache.streampipes.processors.aggregation.flink.aggregation"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Absence",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence"
+  },
+  "next": {
+    "title": "And",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-aggregation-flink-count-md-159.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-aggregation-flink-count-md-159.json
index 3e33119..f583429 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-aggregation-flink-count-md-159.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-aggregation-flink-count-md-159.json
@@ -18,5 +18,14 @@
     "title": "Count Aggregation",
     "sidebar_label": "Count Aggregation",
     "original_id": "org.apache.streampipes.processors.aggregation.flink.count"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Compose",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.compose"
+  },
+  "next": {
+    "title": "Count Array",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-aggregation-flink-eventcount-md-8d7.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-aggregation-flink-eventcount-md-8d7.json
index a66d5da..aae3ca3 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-aggregation-flink-eventcount-md-8d7.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-aggregation-flink-eventcount-md-8d7.json
@@ -18,5 +18,14 @@
     "title": "Event Counter",
     "sidebar_label": "Event Counter",
     "original_id": "org.apache.streampipes.processors.aggregation.flink.eventcount"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "EPSG Code",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG"
+  },
+  "next": {
+    "title": "Event Rate",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.rate"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-aggregation-flink-rate-md-f04.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-aggregation-flink-rate-md-f04.json
index 68b7430..1282ba3 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-aggregation-flink-rate-md-f04.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-aggregation-flink-rate-md-f04.json
@@ -18,5 +18,14 @@
     "title": "Event Rate",
     "sidebar_label": "Event Rate",
     "original_id": "org.apache.streampipes.processors.aggregation.flink.rate"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Event Counter",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount"
+  },
+  "next": {
+    "title": "Field Converter",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-changedetection-jvm-cusum-md-7f6.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-changedetection-jvm-cusum-md-7f6.json
index c6e6dbb..cb540bf 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-changedetection-jvm-cusum-md-7f6.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-changedetection-jvm-cusum-md-7f6.json
@@ -18,5 +18,14 @@
     "title": "Cusum",
     "sidebar_label": "Cusum",
     "original_id": "org.apache.streampipes.processors.changedetection.jvm.cusum"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Creates JTS Point",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo"
+  },
+  "next": {
+    "title": "Distance Calculator",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-md-4a9.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-md-4a9.json
new file mode 100644
index 0000000..64adc6a
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-md-4a9.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
+  "title": "Math",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
+    "title": "Math",
+    "sidebar_label": "Math",
+    "original_id": "org.apache.streampipes.processors.enricher.flink.processor.math.mathop"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Language Detection",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection"
+  },
+  "next": {
+    "title": "Measure Time Between Two Sensors",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathop-md-be3.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathop-md-be3.json
new file mode 100644
index 0000000..cd4c292
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathop-md-be3.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
+  "title": "Static Math",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
+    "title": "Static Math",
+    "sidebar_label": "Static Math",
+    "original_id": "org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Static Google Maps Geocoder",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding"
+  },
+  "next": {
+    "title": "Statistics Summary",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-enricher-flink-processor-trigonometry-md-0ec.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-enricher-flink-processor-trigonometry-md-0ec.json
new file mode 100644
index 0000000..1393e93
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-enricher-flink-processor-trigonometry-md-0ec.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
+  "title": "Trigonometry Functions",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
+    "title": "Trigonometry Functions",
+    "sidebar_label": "Trigonometry Functions",
+    "original_id": "org.apache.streampipes.processors.enricher.flink.processor.trigonometry"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Trend",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.increase"
+  },
+  "next": {
+    "title": "URL Dereferencing",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-enricher-flink-processor-urldereferencing-md-686.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-enricher-flink-processor-urldereferencing-md-686.json
new file mode 100644
index 0000000..fae866a
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-enricher-flink-processor-urldereferencing-md-686.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
+  "title": "URL Dereferencing",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
+    "title": "URL Dereferencing",
+    "sidebar_label": "URL Dereferencing",
+    "original_id": "org.apache.streampipes.processors.enricher.flink.processor.urldereferencing"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Trigonometry Functions",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry"
+  },
+  "next": {
+    "title": "Value Changed",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-enricher-flink-timestamp-md-6cd.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-enricher-flink-timestamp-md-6cd.json
new file mode 100644
index 0000000..a6fc660
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-enricher-flink-timestamp-md-6cd.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.timestamp",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp",
+  "title": "Timestamp Enricher",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.enricher.flink.timestamp",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.enricher.flink.timestamp",
+    "title": "Timestamp Enricher",
+    "sidebar_label": "Timestamp Enricher",
+    "original_id": "org.apache.streampipes.processors.enricher.flink.timestamp"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Threshold Detector",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.threshold"
+  },
+  "next": {
+    "title": "Timestamp Extractor",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-enricher-jvm-sizemeasure-md-afe.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-enricher-jvm-sizemeasure-md-afe.json
new file mode 100644
index 0000000..4914fcf
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-enricher-jvm-sizemeasure-md-afe.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
+  "title": "Size Measure",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.enricher.jvm.sizemeasure",
+    "title": "Size Measure",
+    "sidebar_label": "Size Measure",
+    "original_id": "org.apache.streampipes.processors.enricher.jvm.sizemeasure"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Single Trajectory Creator",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory"
+  },
+  "next": {
+    "title": "Spatial Grid Enrichment",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.flink"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-compose-md-d53.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-compose-md-d53.json
new file mode 100644
index 0000000..730253e
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-compose-md-d53.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.compose",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.compose",
+  "title": "Compose",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.compose.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.filters.jvm.compose",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.compose",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.filters.jvm.compose",
+    "title": "Compose",
+    "sidebar_label": "Compose",
+    "original_id": "org.apache.streampipes.processors.filters.jvm.compose"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Chunker (English)",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker"
+  },
+  "next": {
+    "title": "Count Aggregation",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.count"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-enrich-md-e2e.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-enrich-md-e2e.json
new file mode 100644
index 0000000..2b812be
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-enrich-md-e2e.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.enrich",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.enrich",
+  "title": "Merge By Enrich",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.enrich.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.filters.jvm.enrich",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.enrich",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.filters.jvm.enrich",
+    "title": "Merge By Enrich",
+    "sidebar_label": "Merge By Enrich",
+    "original_id": "org.apache.streampipes.processors.filters.jvm.enrich"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Measurement Unit Converter",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
+  },
+  "next": {
+    "title": "Name Finder",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-limit-md-26d.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-limit-md-26d.json
index b502075..cfc321c 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-limit-md-26d.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-limit-md-26d.json
@@ -18,5 +18,14 @@
     "title": "Rate Limit",
     "sidebar_label": "Rate Limit",
     "original_id": "org.apache.streampipes.processors.filters.jvm.limit"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "QR Code Reader",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.qrcode"
+  },
+  "next": {
+    "title": "Reverse Geocoder",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-merge-md-7d1.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-merge-md-7d1.json
index 716cd08..80b4c46 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-merge-md-7d1.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-merge-md-7d1.json
@@ -18,5 +18,14 @@
     "title": "Synchronize Two Streams",
     "sidebar_label": "Synchronize Two Streams",
     "original_id": "org.apache.streampipes.processors.filters.jvm.merge"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "String To State",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state"
+  },
+  "next": {
+    "title": "Task Duration",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-numericalfilter-md-8c0.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-numericalfilter-md-8c0.json
new file mode 100644
index 0000000..cfb8466
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-numericalfilter-md-8c0.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
+  "title": "Numerical Filter",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.filters.jvm.numericalfilter",
+    "title": "Numerical Filter",
+    "sidebar_label": "Numerical Filter",
+    "original_id": "org.apache.streampipes.processors.filters.jvm.numericalfilter"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Number Labeler",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number"
+  },
+  "next": {
+    "title": "Numerical Filter (Siddhi)",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-numericaltextfilter-md-161.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-numericaltextfilter-md-161.json
new file mode 100644
index 0000000..91d228c
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-numericaltextfilter-md-161.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
+  "title": "Numerical Text Filter",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
+    "title": "Numerical Text Filter",
+    "sidebar_label": "Numerical Text Filter",
+    "original_id": "org.apache.streampipes.processors.filters.jvm.numericaltextfilter"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Numerical Filter (Siddhi)",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter"
+  },
+  "next": {
+    "title": "Part of Speech (English)",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-project-md-87c.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-project-md-87c.json
new file mode 100644
index 0000000..b684b13
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-project-md-87c.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.project",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.project",
+  "title": "Projection",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.project.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.filters.jvm.project",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.project",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.filters.jvm.project",
+    "title": "Projection",
+    "sidebar_label": "Projection",
+    "original_id": "org.apache.streampipes.processors.filters.jvm.project"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Peak Detection",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
+  },
+  "next": {
+    "title": "QR Code Reader",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.qrcode"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-textfilter-md-cd9.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-textfilter-md-cd9.json
new file mode 100644
index 0000000..939bf21
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-textfilter-md-cd9.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.textfilter",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter",
+  "title": "Text Filter",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.filters.jvm.textfilter",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.filters.jvm.textfilter",
+    "title": "Text Filter",
+    "sidebar_label": "Text Filter",
+    "original_id": "org.apache.streampipes.processors.filters.jvm.textfilter"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Task Duration",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration"
+  },
+  "next": {
+    "title": "Threshold Detector",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.threshold"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-threshold-md-d28.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-threshold-md-d28.json
new file mode 100644
index 0000000..e4f13d7
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-threshold-md-d28.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.threshold",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.threshold",
+  "title": "Threshold Detector",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.threshold.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.filters.jvm.threshold",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.threshold",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.filters.jvm.threshold",
+    "title": "Threshold Detector",
+    "sidebar_label": "Threshold Detector",
+    "original_id": "org.apache.streampipes.processors.filters.jvm.threshold"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Text Filter",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter"
+  },
+  "next": {
+    "title": "Timestamp Enricher",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-lat-lng-to-geo-md-81e.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-lat-lng-to-geo-md-81e.json
new file mode 100644
index 0000000..ad06af0
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-lat-lng-to-geo-md-81e.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
+  "title": "Creates JTS Point",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
+    "title": "Creates JTS Point",
+    "sidebar_label": "Creates JTS Point",
+    "original_id": "org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Count Array",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array"
+  },
+  "next": {
+    "title": "Cusum",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-set-epsg-md-2d2.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-set-epsg-md-2d2.json
new file mode 100644
index 0000000..a633fcd
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-set-epsg-md-2d2.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
+  "title": "EPSG Code",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
+    "title": "EPSG Code",
+    "sidebar_label": "EPSG Code",
+    "original_id": "org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Distance Calculator",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
+  },
+  "next": {
+    "title": "Event Counter",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-trajectory-md-93c.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-trajectory-md-93c.json
new file mode 100644
index 0000000..f0542f1
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-trajectory-md-93c.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
+  "title": "Single Trajectory Creator",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
+    "title": "Single Trajectory Creator",
+    "sidebar_label": "Single Trajectory Creator",
+    "original_id": "org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Signal Edge Filter",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge"
+  },
+  "next": {
+    "title": "Size Measure",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-md-422.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-md-422.json
index 8dca73f..4087371 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-md-422.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-md-422.json
@@ -18,5 +18,14 @@
     "title": "Distance Calculator",
     "sidebar_label": "Distance Calculator",
     "original_id": "org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Cusum",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum"
+  },
+  "next": {
+    "title": "EPSG Code",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-processor-speed-md-f01.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-processor-speed-md-f01.json
new file mode 100644
index 0000000..9c73ba8
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-processor-speed-md-f01.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
+  "title": "Speed Calculator",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.geo.jvm.processor.speed",
+    "title": "Speed Calculator",
+    "sidebar_label": "Speed Calculator",
+    "original_id": "org.apache.streampipes.processors.geo.jvm.processor.speed"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Spatial Grid Enrichment",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.flink"
+  },
+  "next": {
+    "title": "Split Array",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-processor-staticdistancecalculator-md-ad5.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-processor-staticdistancecalculator-md-ad5.json
index 54de6d1..302439b 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-processor-staticdistancecalculator-md-ad5.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-processor-staticdistancecalculator-md-ad5.json
@@ -18,5 +18,14 @@
     "title": "Static Distance Calculator",
     "sidebar_label": "Static Distance Calculator",
     "original_id": "org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "State Buffer Labeler",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer"
+  },
+  "next": {
+    "title": "Static Google Maps Geocoder",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-pattern-detection-flink-absence-md-84f.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-pattern-detection-flink-absence-md-84f.json
index 3fc5f78..8dd3957 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-pattern-detection-flink-absence-md-84f.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-pattern-detection-flink-absence-md-84f.json
@@ -18,5 +18,14 @@
     "title": "Absence",
     "sidebar_label": "Absence",
     "original_id": "org.apache.streampipes.processors.pattern-detection.flink.absence"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Wikipedia New Articles",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new"
+  },
+  "next": {
+    "title": "Aggregation",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-pattern-detection-flink-and-md-173.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-pattern-detection-flink-and-md-173.json
index b7b1b6c..3a628e6 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-pattern-detection-flink-and-md-173.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-pattern-detection-flink-and-md-173.json
@@ -18,5 +18,14 @@
     "title": "And",
     "sidebar_label": "And",
     "original_id": "org.apache.streampipes.processors.pattern-detection.flink.and"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Aggregation",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation"
+  },
+  "next": {
+    "title": "Boilerplate Removal",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-md-f2f.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-md-f2f.json
index ad85b08..21b67e1 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-md-f2f.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-md-f2f.json
@@ -18,5 +18,14 @@
     "title": "Peak Detection",
     "sidebar_label": "Peak Detection",
     "original_id": "org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Part of Speech (English)",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech"
+  },
+  "next": {
+    "title": "Projection",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.project"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-pattern-detection-flink-sequence-md-6f9.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-pattern-detection-flink-sequence-md-6f9.json
index 56ed8c8..85d58ed 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-pattern-detection-flink-sequence-md-6f9.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-pattern-detection-flink-sequence-md-6f9.json
@@ -18,5 +18,14 @@
     "title": "Sequence",
     "sidebar_label": "Sequence",
     "original_id": "org.apache.streampipes.processors.pattern-detection.flink.sequence"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Sentence Detection (English)",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection"
+  },
+  "next": {
+    "title": "Sequence Detection",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.sequence"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-siddhi-frequency-md-91b.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-siddhi-frequency-md-91b.json
index fa74160..fbabbda 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-siddhi-frequency-md-91b.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-siddhi-frequency-md-91b.json
@@ -18,5 +18,14 @@
     "title": "Frequency Calculation",
     "sidebar_label": "Frequency Calculation",
     "original_id": "org.apache.streampipes.processors.siddhi.frequency"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Field Renamer",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer"
+  },
+  "next": {
+    "title": "Frequency Change",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.frequencychange"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-siddhi-frequencychange-md-bf9.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-siddhi-frequencychange-md-bf9.json
index ad8e045..2dbfafc 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-siddhi-frequencychange-md-bf9.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-siddhi-frequencychange-md-bf9.json
@@ -18,5 +18,14 @@
     "title": "Frequency Change",
     "sidebar_label": "Frequency Change",
     "original_id": "org.apache.streampipes.processors.siddhi.frequencychange"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Frequency Calculation",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.frequency"
+  },
+  "next": {
+    "title": "Generic Image Classification",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-siddhi-increase-md-5d9.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-siddhi-increase-md-5d9.json
index ec427e7..2781e23 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-siddhi-increase-md-5d9.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-siddhi-increase-md-5d9.json
@@ -18,5 +18,14 @@
     "title": "Trend",
     "sidebar_label": "Trend",
     "original_id": "org.apache.streampipes.processors.siddhi.increase"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Transform to boolean",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean"
+  },
+  "next": {
+    "title": "Trigonometry Functions",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-siddhi-numericalfilter-md-f28.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-siddhi-numericalfilter-md-f28.json
index 931e3d7..d4342ea 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-siddhi-numericalfilter-md-f28.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-siddhi-numericalfilter-md-f28.json
@@ -18,5 +18,14 @@
     "title": "Numerical Filter (Siddhi)",
     "sidebar_label": "Numerical Filter (Siddhi)",
     "original_id": "org.apache.streampipes.processors.siddhi.numericalfilter"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Numerical Filter",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter"
+  },
+  "next": {
+    "title": "Numerical Text Filter",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-siddhi-sequence-md-449.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-siddhi-sequence-md-449.json
new file mode 100644
index 0000000..4b29f28
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-siddhi-sequence-md-449.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.siddhi.sequence",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.siddhi.sequence",
+  "title": "Sequence Detection",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.siddhi.sequence.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.siddhi.sequence",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.sequence",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.siddhi.sequence",
+    "title": "Sequence Detection",
+    "sidebar_label": "Sequence Detection",
+    "original_id": "org.apache.streampipes.processors.siddhi.sequence"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Sequence",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence"
+  },
+  "next": {
+    "title": "Signal Edge Filter",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-siddhi-stop-md-04e.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-siddhi-stop-md-04e.json
index a5bb54c..5329d4d 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-siddhi-stop-md-04e.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-siddhi-stop-md-04e.json
@@ -18,5 +18,14 @@
     "title": "Stream Stop Detection",
     "sidebar_label": "Stream Stop Detection",
     "original_id": "org.apache.streampipes.processors.siddhi.stop"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Statistics Summary",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary"
+  },
+  "next": {
+    "title": "String Counter",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-statistics-flink-statistics-summary-md-f67.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-statistics-flink-statistics-summary-md-f67.json
new file mode 100644
index 0000000..156bc5c
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-statistics-flink-statistics-summary-md-f67.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
+  "title": "Statistics Summary",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.statistics.flink.statistics-summary",
+    "title": "Statistics Summary",
+    "sidebar_label": "Statistics Summary",
+    "original_id": "org.apache.streampipes.processors.statistics.flink.statistics-summary"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Static Math",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop"
+  },
+  "next": {
+    "title": "Stream Stop Detection",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.stop"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-textmining-flink-languagedetection-md-a2e.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-textmining-flink-languagedetection-md-a2e.json
index 0a477c1..2f302a5 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-textmining-flink-languagedetection-md-a2e.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-textmining-flink-languagedetection-md-a2e.json
@@ -18,5 +18,14 @@
     "title": "Language Detection",
     "sidebar_label": "Language Detection",
     "original_id": "org.apache.streampipes.processors.textmining.flink.languagedetection"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Image Enricher",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
+  },
+  "next": {
+    "title": "Language Detection",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-textmining-flink-wordcount-md-b8f.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-textmining-flink-wordcount-md-b8f.json
index 3a31904..194f576 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-textmining-flink-wordcount-md-b8f.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-textmining-flink-wordcount-md-b8f.json
@@ -18,5 +18,14 @@
     "title": "Word Count",
     "sidebar_label": "Word Count",
     "original_id": "org.apache.streampipes.processors.textmining.flink.wordcount"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Value Changed",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value"
+  },
+  "next": {
+    "title": "Buffered REST Publisher",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-chunker-md-1a5.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-chunker-md-1a5.json
new file mode 100644
index 0000000..47a0b26
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-chunker-md-1a5.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.chunker",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker",
+  "title": "Chunker (English)",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.chunker",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.textmining.jvm.chunker",
+    "title": "Chunker (English)",
+    "sidebar_label": "Chunker (English)",
+    "original_id": "org.apache.streampipes.processors.textmining.jvm.chunker"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Calculate Duration",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value"
+  },
+  "next": {
+    "title": "Compose",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.compose"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-languagedetection-md-e2d.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-languagedetection-md-e2d.json
new file mode 100644
index 0000000..55b9288
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-languagedetection-md-e2d.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
+  "title": "Language Detection",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.textmining.jvm.languagedetection",
+    "title": "Language Detection",
+    "sidebar_label": "Language Detection",
+    "original_id": "org.apache.streampipes.processors.textmining.jvm.languagedetection"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Language Detection",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection"
+  },
+  "next": {
+    "title": "Math",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-namefinder-md-160.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-namefinder-md-160.json
new file mode 100644
index 0000000..f21707b
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-namefinder-md-160.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
+  "title": "Name Finder",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.textmining.jvm.namefinder",
+    "title": "Name Finder",
+    "sidebar_label": "Name Finder",
+    "original_id": "org.apache.streampipes.processors.textmining.jvm.namefinder"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Merge By Enrich",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.enrich"
+  },
+  "next": {
+    "title": "Number Labeler",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-partofspeech-md-d81.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-partofspeech-md-d81.json
new file mode 100644
index 0000000..6659626
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-partofspeech-md-d81.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
+  "title": "Part of Speech (English)",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.textmining.jvm.partofspeech",
+    "title": "Part of Speech (English)",
+    "sidebar_label": "Part of Speech (English)",
+    "original_id": "org.apache.streampipes.processors.textmining.jvm.partofspeech"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Numerical Text Filter",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter"
+  },
+  "next": {
+    "title": "Peak Detection",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-sentencedetection-md-baa.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-sentencedetection-md-baa.json
new file mode 100644
index 0000000..10f41ce
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-sentencedetection-md-baa.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
+  "title": "Sentence Detection (English)",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.textmining.jvm.sentencedetection",
+    "title": "Sentence Detection (English)",
+    "sidebar_label": "Sentence Detection (English)",
+    "original_id": "org.apache.streampipes.processors.textmining.jvm.sentencedetection"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Reverse Geocoder",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding"
+  },
+  "next": {
+    "title": "Sequence",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-tokenizer-md-af1.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-tokenizer-md-af1.json
new file mode 100644
index 0000000..fa73f95
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-tokenizer-md-af1.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
+  "title": "Tokenizer (English)",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.textmining.jvm.tokenizer",
+    "title": "Tokenizer (English)",
+    "sidebar_label": "Tokenizer (English)",
+    "original_id": "org.apache.streampipes.processors.textmining.jvm.tokenizer"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Timestamp Extractor",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor"
+  },
+  "next": {
+    "title": "Transform to boolean",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-field-converter-md-96b.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-field-converter-md-96b.json
index 0f5946d..33f9ea8 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-field-converter-md-96b.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-field-converter-md-96b.json
@@ -18,5 +18,14 @@
     "title": "Field Converter",
     "sidebar_label": "Field Converter",
     "original_id": "org.apache.streampipes.processors.transformation.flink.field-converter"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Event Rate",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.rate"
+  },
+  "next": {
+    "title": "Field Hasher",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-field-mapper-md-34f.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-field-mapper-md-34f.json
new file mode 100644
index 0000000..7cdd99d
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-field-mapper-md-34f.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
+  "title": "Field Mapper",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.transformation.flink.field-mapper",
+    "title": "Field Mapper",
+    "sidebar_label": "Field Mapper",
+    "original_id": "org.apache.streampipes.processors.transformation.flink.field-mapper"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Field Hasher",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher"
+  },
+  "next": {
+    "title": "Field Renamer",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-field-renamer-md-6b6.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-field-renamer-md-6b6.json
index c52772e..b9facd6 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-field-renamer-md-6b6.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-field-renamer-md-6b6.json
@@ -18,5 +18,14 @@
     "title": "Field Renamer",
     "sidebar_label": "Field Renamer",
     "original_id": "org.apache.streampipes.processors.transformation.flink.field-renamer"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Field Mapper",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper"
+  },
+  "next": {
+    "title": "Frequency Calculation",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.frequency"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-fieldhasher-md-070.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-fieldhasher-md-070.json
index d2faf34..2e2603e 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-fieldhasher-md-070.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-fieldhasher-md-070.json
@@ -18,5 +18,14 @@
     "title": "Field Hasher",
     "sidebar_label": "Field Hasher",
     "original_id": "org.apache.streampipes.processors.transformation.flink.fieldhasher"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Field Converter",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter"
+  },
+  "next": {
+    "title": "Field Mapper",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-md-ad7.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-md-ad7.json
index d606f44..14d8cfb 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-md-ad7.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-md-ad7.json
@@ -18,5 +18,14 @@
     "title": "Measurement Unit Converter",
     "sidebar_label": "Measurement Unit Converter",
     "original_id": "org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Measure Time Between Two Sensors",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping"
+  },
+  "next": {
+    "title": "Merge By Enrich",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.enrich"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-processor-boilerplate-md-ef0.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-processor-boilerplate-md-ef0.json
new file mode 100644
index 0000000..4642d1e
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-processor-boilerplate-md-ef0.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
+  "title": "Boilerplate Removal",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
+    "title": "Boilerplate Removal",
+    "sidebar_label": "Boilerplate Removal",
+    "original_id": "org.apache.streampipes.processors.transformation.flink.processor.boilerplate"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "And",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and"
+  },
+  "next": {
+    "title": "Boolean Counter",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-md-1da.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-md-1da.json
index 2427b28..7a99fc3 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-md-1da.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-md-1da.json
@@ -18,5 +18,14 @@
     "title": "Boolean Counter",
     "sidebar_label": "Boolean Counter",
     "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Boilerplate Removal",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate"
+  },
+  "next": {
+    "title": "Boolean Inverter",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-inverter-md-ac2.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-inverter-md-ac2.json
new file mode 100644
index 0000000..b415c44
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-inverter-md-ac2.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
+  "title": "Boolean Inverter",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
+    "title": "Boolean Inverter",
+    "sidebar_label": "Boolean Inverter",
+    "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.inverter"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Boolean Counter",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
+  },
+  "next": {
+    "title": "Boolean Timer",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeeping-md-3e6.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeeping-md-3e6.json
new file mode 100644
index 0000000..374eb2c
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeeping-md-3e6.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
+  "title": "Measure Time Between Two Sensors",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
+    "title": "Measure Time Between Two Sensors",
+    "sidebar_label": "Measure Time Between Two Sensors",
+    "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Math",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop"
+  },
+  "next": {
+    "title": "Measurement Unit Converter",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timer-md-d3e.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timer-md-d3e.json
new file mode 100644
index 0000000..2f5c5d0
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timer-md-d3e.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
+  "title": "Boolean Timer",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
+    "title": "Boolean Timer",
+    "sidebar_label": "Boolean Timer",
+    "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timer"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Boolean Inverter",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter"
+  },
+  "next": {
+    "title": "Boolean To State",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-changed-value-md-5a4.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-changed-value-md-5a4.json
new file mode 100644
index 0000000..8a68d37
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-changed-value-md-5a4.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
+  "title": "Value Changed",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.transformation.jvm.changed-value",
+    "title": "Value Changed",
+    "sidebar_label": "Value Changed",
+    "original_id": "org.apache.streampipes.processors.transformation.jvm.changed-value"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "URL Dereferencing",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing"
+  },
+  "next": {
+    "title": "Word Count",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-count-array-md-411.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-count-array-md-411.json
new file mode 100644
index 0000000..1be5470
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-count-array-md-411.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.count-array",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array",
+  "title": "Count Array",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.count-array",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.transformation.jvm.count-array",
+    "title": "Count Array",
+    "sidebar_label": "Count Array",
+    "original_id": "org.apache.streampipes.processors.transformation.jvm.count-array"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Count Aggregation",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.count"
+  },
+  "next": {
+    "title": "Creates JTS Point",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-csvmetadata-md-e9a.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-csvmetadata-md-e9a.json
new file mode 100644
index 0000000..94ea521
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-csvmetadata-md-e9a.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
+  "title": "CSV Metadata Enricher",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.transformation.jvm.csvmetadata",
+    "title": "CSV Metadata Enricher",
+    "sidebar_label": "CSV Metadata Enricher",
+    "original_id": "org.apache.streampipes.processors.transformation.jvm.csvmetadata"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Boolean To State",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state"
+  },
+  "next": {
+    "title": "Calculate Duration",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-duration-value-md-e74.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-duration-value-md-e74.json
new file mode 100644
index 0000000..b762981
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-duration-value-md-e74.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
+  "title": "Calculate Duration",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.transformation.jvm.duration-value",
+    "title": "Calculate Duration",
+    "sidebar_label": "Calculate Duration",
+    "original_id": "org.apache.streampipes.processors.transformation.jvm.duration-value"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "CSV Metadata Enricher",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata"
+  },
+  "next": {
+    "title": "Chunker (English)",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-edge-md-05d.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-edge-md-05d.json
index 871ee90..6e5015d 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-edge-md-05d.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-edge-md-05d.json
@@ -18,5 +18,14 @@
     "title": "Signal Edge Filter",
     "sidebar_label": "Signal Edge Filter",
     "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Sequence Detection",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.sequence"
+  },
+  "next": {
+    "title": "Single Trajectory Creator",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-state-md-0ce.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-state-md-0ce.json
index 54c87de..431ae36 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-state-md-0ce.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-state-md-0ce.json
@@ -18,5 +18,14 @@
     "title": "Boolean To State",
     "sidebar_label": "Boolean To State",
     "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Boolean Timer",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer"
+  },
+  "next": {
+    "title": "CSV Metadata Enricher",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-buffer-md-550.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-buffer-md-550.json
index 268988a..3d289f3 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-buffer-md-550.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-buffer-md-550.json
@@ -18,5 +18,14 @@
     "title": "State Buffer",
     "sidebar_label": "State Buffer",
     "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.state.buffer"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Split Array",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array"
+  },
+  "next": {
+    "title": "State Buffer Labeler",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-buffer-md-f66.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-buffer-md-f66.json
index d770275..f1805ba 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-buffer-md-f66.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-buffer-md-f66.json
@@ -18,5 +18,14 @@
     "title": "State Buffer Labeler",
     "sidebar_label": "State Buffer Labeler",
     "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "State Buffer",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer"
+  },
+  "next": {
+    "title": "Static Distance Calculator",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-number-md-615.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-number-md-615.json
index ccbc035..1d7fb1d 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-number-md-615.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-number-md-615.json
@@ -18,5 +18,14 @@
     "title": "Number Labeler",
     "sidebar_label": "Number Labeler",
     "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Name Finder",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder"
+  },
+  "next": {
+    "title": "Numerical Filter",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-stringoperator-state-md-27c.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-stringoperator-state-md-27c.json
index 67a01a0..f9cf14e 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-stringoperator-state-md-27c.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-stringoperator-state-md-27c.json
@@ -18,5 +18,14 @@
     "title": "String To State",
     "sidebar_label": "String To State",
     "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "String Timer",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer"
+  },
+  "next": {
+    "title": "Synchronize Two Streams",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.merge"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractor-md-1e6.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractor-md-1e6.json
new file mode 100644
index 0000000..4e7be35
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractor-md-1e6.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
+  "title": "Timestamp Extractor",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
+    "title": "Timestamp Extractor",
+    "sidebar_label": "Timestamp Extractor",
+    "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Timestamp Enricher",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp"
+  },
+  "next": {
+    "title": "Tokenizer (English)",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-split-array-md-0fb.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-split-array-md-0fb.json
index 8235217..59d7f8c 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-split-array-md-0fb.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-split-array-md-0fb.json
@@ -18,5 +18,14 @@
     "title": "Split Array",
     "sidebar_label": "Split Array",
     "original_id": "org.apache.streampipes.processors.transformation.jvm.split-array"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Speed Calculator",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed"
+  },
+  "next": {
+    "title": "State Buffer",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-counter-md-24d.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-counter-md-24d.json
new file mode 100644
index 0000000..6f32440
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-counter-md-24d.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
+  "title": "String Counter",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
+    "title": "String Counter",
+    "sidebar_label": "String Counter",
+    "original_id": "org.apache.streampipes.processors.transformation.jvm.stringoperator.counter"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Stream Stop Detection",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.stop"
+  },
+  "next": {
+    "title": "String Timer",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-timer-md-d49.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-timer-md-d49.json
index aa2f4a0..fa5696e 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-timer-md-d49.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-timer-md-d49.json
@@ -18,5 +18,14 @@
     "title": "String Timer",
     "sidebar_label": "String Timer",
     "original_id": "org.apache.streampipes.processors.transformation.jvm.stringoperator.timer"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "String Counter",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter"
+  },
+  "next": {
+    "title": "String To State",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-taskduration-md-526.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-taskduration-md-526.json
new file mode 100644
index 0000000..07cc37a
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-taskduration-md-526.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
+  "title": "Task Duration",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.transformation.jvm.taskduration",
+    "title": "Task Duration",
+    "sidebar_label": "Task Duration",
+    "original_id": "org.apache.streampipes.processors.transformation.jvm.taskduration"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Synchronize Two Streams",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.merge"
+  },
+  "next": {
+    "title": "Text Filter",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-transform-to-boolean-md-700.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-transform-to-boolean-md-700.json
new file mode 100644
index 0000000..f4567ba
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-transform-to-boolean-md-700.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
+  "id": "version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
+  "title": "Transform to boolean",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
+    "title": "Transform to boolean",
+    "sidebar_label": "Transform to boolean",
+    "original_id": "org.apache.streampipes.processors.transformation.jvm.transform-to-boolean"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Tokenizer (English)",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer"
+  },
+  "next": {
+    "title": "Trend",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.increase"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-protocol-set-file-md-aa2.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-protocol-set-file-md-aa2.json
new file mode 100644
index 0000000..3bd2e8e
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-protocol-set-file-md-aa2.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.protocol.set.file",
+  "id": "version-0.91.0/pe/org.apache.streampipes.protocol.set.file",
+  "title": "File Set",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.protocol.set.file.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.protocol.set.file",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.protocol.set.file",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.protocol.set.file",
+    "title": "File Set",
+    "sidebar_label": "File Set",
+    "original_id": "org.apache.streampipes.protocol.set.file"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "File Stream",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.file"
+  },
+  "next": {
+    "title": "Flic MQTT",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-protocol-set-http-md-886.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-protocol-set-http-md-886.json
new file mode 100644
index 0000000..2455266
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-protocol-set-http-md-886.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.protocol.set.http",
+  "id": "version-0.91.0/pe/org.apache.streampipes.protocol.set.http",
+  "title": "HTTP Set",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.protocol.set.http.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.protocol.set.http",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.protocol.set.http",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.protocol.set.http",
+    "title": "HTTP Set",
+    "sidebar_label": "HTTP Set",
+    "original_id": "org.apache.streampipes.protocol.set.http"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "HTTP Server",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver"
+  },
+  "next": {
+    "title": "HTTP Stream",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.http"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-bufferrest-md-168.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-bufferrest-md-168.json
new file mode 100644
index 0000000..42ae73f
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-bufferrest-md-168.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
+  "id": "version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
+  "title": "Buffered REST Publisher",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.sinks.brokers.jvm.bufferrest",
+    "title": "Buffered REST Publisher",
+    "sidebar_label": "Buffered REST Publisher",
+    "original_id": "org.apache.streampipes.sinks.brokers.jvm.bufferrest"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Word Count",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount"
+  },
+  "next": {
+    "title": "CouchDB",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-jms-md-7e6.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-jms-md-7e6.json
new file mode 100644
index 0000000..6972da4
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-jms-md-7e6.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.jms",
+  "id": "version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms",
+  "title": "JMS Publisher",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.jms",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.sinks.brokers.jvm.jms",
+    "title": "JMS Publisher",
+    "sidebar_label": "JMS Publisher",
+    "original_id": "org.apache.streampipes.sinks.brokers.jvm.jms"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "IoTDB",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb"
+  },
+  "next": {
+    "title": "Kafka Publisher",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-kafka-md-19f.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-kafka-md-19f.json
new file mode 100644
index 0000000..6f26939
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-kafka-md-19f.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
+  "id": "version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
+  "title": "Kafka Publisher",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.sinks.brokers.jvm.kafka",
+    "title": "Kafka Publisher",
+    "sidebar_label": "Kafka Publisher",
+    "original_id": "org.apache.streampipes.sinks.brokers.jvm.kafka"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "JMS Publisher",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms"
+  },
+  "next": {
+    "title": "MySQL Database",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-mqtt-md-5ad.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-mqtt-md-5ad.json
new file mode 100644
index 0000000..3c33017
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-mqtt-md-5ad.json
@@ -0,0 +1,22 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
+  "id": "version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
+  "title": "MQTT Publisher",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.sinks.brokers.jvm.mqtt",
+    "title": "MQTT Publisher",
+    "sidebar_label": "MQTT Publisher",
+    "original_id": "org.apache.streampipes.sinks.brokers.jvm.mqtt"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-nats-md-870.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-nats-md-870.json
index 0527bd1..442b552 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-nats-md-870.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-nats-md-870.json
@@ -18,5 +18,14 @@
     "title": "NATS Publisher",
     "sidebar_label": "NATS Publisher",
     "original_id": "org.apache.streampipes.sinks.brokers.jvm.nats"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "MySQL Database",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql"
+  },
+  "next": {
+    "title": "Notification",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.notification"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-pulsar-md-629.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-pulsar-md-629.json
new file mode 100644
index 0000000..815d006
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-pulsar-md-629.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
+  "id": "version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
+  "title": "Pulsar Publisher",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.sinks.brokers.jvm.pulsar",
+    "title": "Pulsar Publisher",
+    "sidebar_label": "Pulsar Publisher",
+    "original_id": "org.apache.streampipes.sinks.brokers.jvm.pulsar"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "PostgreSQL",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql"
+  },
+  "next": {
+    "title": "REST Publisher",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-md-599.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-md-599.json
index f050c12..bbe0a02 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-md-599.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-md-599.json
@@ -18,5 +18,14 @@
     "title": "RabbitMQ Publisher",
     "sidebar_label": "RabbitMQ Publisher",
     "original_id": "org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "REST Publisher",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest"
+  },
+  "next": {
+    "title": "Slack Notification",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-rest-md-663.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-rest-md-663.json
new file mode 100644
index 0000000..2f7a372
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-rest-md-663.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.rest",
+  "id": "version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest",
+  "title": "REST Publisher",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.rest",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.sinks.brokers.jvm.rest",
+    "title": "REST Publisher",
+    "sidebar_label": "REST Publisher",
+    "original_id": "org.apache.streampipes.sinks.brokers.jvm.rest"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Pulsar Publisher",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar"
+  },
+  "next": {
+    "title": "RabbitMQ Publisher",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-databases-ditto-md-18c.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-databases-ditto-md-18c.json
index c088784..efd6de9 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-databases-ditto-md-18c.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-databases-ditto-md-18c.json
@@ -18,5 +18,14 @@
     "title": "Eclipse Ditto",
     "sidebar_label": "Eclipse Ditto",
     "original_id": "org.apache.streampipes.sinks.databases.ditto"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Data Lake",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake"
+  },
+  "next": {
+    "title": "Elasticsearch",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-databases-flink-elasticsearch-md-b0c.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-databases-flink-elasticsearch-md-b0c.json
new file mode 100644
index 0000000..e6b0d02
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-databases-flink-elasticsearch-md-b0c.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
+  "id": "version-0.91.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
+  "title": "Elasticsearch",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.sinks.databases.flink.elasticsearch",
+    "title": "Elasticsearch",
+    "sidebar_label": "Elasticsearch",
+    "original_id": "org.apache.streampipes.sinks.databases.flink.elasticsearch"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Eclipse Ditto",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.ditto"
+  },
+  "next": {
+    "title": "Email Notification",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.email"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-couchdb-md-e86.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-couchdb-md-e86.json
new file mode 100644
index 0000000..bcf5f0a
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-couchdb-md-e86.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
+  "id": "version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
+  "title": "CouchDB",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.sinks.databases.jvm.couchdb",
+    "title": "CouchDB",
+    "sidebar_label": "CouchDB",
+    "original_id": "org.apache.streampipes.sinks.databases.jvm.couchdb"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Buffered REST Publisher",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest"
+  },
+  "next": {
+    "title": "Dashboard Sink",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-influxdb-md-997.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-influxdb-md-997.json
new file mode 100644
index 0000000..5505e15
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-influxdb-md-997.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
+  "id": "version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
+  "title": "InfluxDB",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.sinks.databases.jvm.influxdb",
+    "title": "InfluxDB",
+    "sidebar_label": "InfluxDB",
+    "original_id": "org.apache.streampipes.sinks.databases.jvm.influxdb"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Email Notification",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.email"
+  },
+  "next": {
+    "title": "IoTDB",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-iotdb-md-ddf.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-iotdb-md-ddf.json
new file mode 100644
index 0000000..d4b3c30
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-iotdb-md-ddf.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
+  "id": "version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
+  "title": "IoTDB",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.sinks.databases.jvm.iotdb",
+    "title": "IoTDB",
+    "sidebar_label": "IoTDB",
+    "original_id": "org.apache.streampipes.sinks.databases.jvm.iotdb"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "InfluxDB",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb"
+  },
+  "next": {
+    "title": "JMS Publisher",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-mysql-md-ed2.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-mysql-md-ed2.json
index f0ebe05..7013fc0 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-mysql-md-ed2.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-mysql-md-ed2.json
@@ -18,5 +18,14 @@
     "title": "MySQL Database",
     "sidebar_label": "MySQL Database",
     "original_id": "org.apache.streampipes.sinks.databases.jvm.mysql"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Kafka Publisher",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka"
+  },
+  "next": {
+    "title": "NATS Publisher",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-opcua-md-4db.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-opcua-md-4db.json
new file mode 100644
index 0000000..45ace8b
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-opcua-md-4db.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.opcua",
+  "id": "version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua",
+  "title": "OPC-UA",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.opcua",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.sinks.databases.jvm.opcua",
+    "title": "OPC-UA",
+    "sidebar_label": "OPC-UA",
+    "original_id": "org.apache.streampipes.sinks.databases.jvm.opcua"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Notification",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.notification"
+  },
+  "next": {
+    "title": "OneSignal",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-postgresql-md-6e4.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-postgresql-md-6e4.json
new file mode 100644
index 0000000..a0f8516
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-postgresql-md-6e4.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
+  "id": "version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
+  "title": "PostgreSQL",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.sinks.databases.jvm.postgresql",
+    "title": "PostgreSQL",
+    "sidebar_label": "PostgreSQL",
+    "original_id": "org.apache.streampipes.sinks.databases.jvm.postgresql"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "OneSignal",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal"
+  },
+  "next": {
+    "title": "Pulsar Publisher",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-internal-jvm-dashboard-md-e40.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-internal-jvm-dashboard-md-e40.json
new file mode 100644
index 0000000..58d912e
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-internal-jvm-dashboard-md-e40.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
+  "id": "version-0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
+  "title": "Dashboard Sink",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.sinks.internal.jvm.dashboard",
+    "title": "Dashboard Sink",
+    "sidebar_label": "Dashboard Sink",
+    "original_id": "org.apache.streampipes.sinks.internal.jvm.dashboard"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "CouchDB",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb"
+  },
+  "next": {
+    "title": "Data Lake",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-internal-jvm-datalake-md-821.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-internal-jvm-datalake-md-821.json
new file mode 100644
index 0000000..3564401
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-internal-jvm-datalake-md-821.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.sinks.internal.jvm.datalake",
+  "id": "version-0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake",
+  "title": "Data Lake",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.sinks.internal.jvm.datalake",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.sinks.internal.jvm.datalake",
+    "title": "Data Lake",
+    "sidebar_label": "Data Lake",
+    "original_id": "org.apache.streampipes.sinks.internal.jvm.datalake"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Dashboard Sink",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard"
+  },
+  "next": {
+    "title": "Eclipse Ditto",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.ditto"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-internal-jvm-notification-md-192.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-internal-jvm-notification-md-192.json
index 529cb4e..53b3eb4 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-internal-jvm-notification-md-192.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-internal-jvm-notification-md-192.json
@@ -18,5 +18,14 @@
     "title": "Notification",
     "sidebar_label": "Notification",
     "original_id": "org.apache.streampipes.sinks.internal.jvm.notification"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "NATS Publisher",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats"
+  },
+  "next": {
+    "title": "OPC-UA",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-notifications-jvm-email-md-b4f.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-notifications-jvm-email-md-b4f.json
new file mode 100644
index 0000000..7b6c536
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-notifications-jvm-email-md-b4f.json
@@ -0,0 +1,31 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.sinks.notifications.jvm.email",
+  "id": "version-0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.email",
+  "title": "Email Notification",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.email.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.sinks.notifications.jvm.email",
+  "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.email",
+  "draft": false,
+  "tags": [],
+  "version": "0.91.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.sinks.notifications.jvm.email",
+    "title": "Email Notification",
+    "sidebar_label": "Email Notification",
+    "original_id": "org.apache.streampipes.sinks.notifications.jvm.email"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Elasticsearch",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch"
+  },
+  "next": {
+    "title": "InfluxDB",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-notifications-jvm-onesignal-md-044.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-notifications-jvm-onesignal-md-044.json
index ce4a9f2..366a293 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-notifications-jvm-onesignal-md-044.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-notifications-jvm-onesignal-md-044.json
@@ -17,5 +17,14 @@
     "id": "org.apache.streampipes.sinks.notifications.jvm.onesignal",
     "title": "OneSignal",
     "sidebar_label": "OneSignal"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "OPC-UA",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua"
+  },
+  "next": {
+    "title": "PostgreSQL",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-notifications-jvm-slack-md-378.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-notifications-jvm-slack-md-378.json
index 264cbb8..0f5842d 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-notifications-jvm-slack-md-378.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-notifications-jvm-slack-md-378.json
@@ -17,5 +17,14 @@
     "id": "org.apache.streampipes.sinks.notifications.jvm.slack",
     "title": "Slack Notification",
     "sidebar_label": "Slack Notification"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "RabbitMQ Publisher",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
+  },
+  "next": {
+    "title": "Telegram Publisher",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-notifications-jvm-telegram-md-bba.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-notifications-jvm-telegram-md-bba.json
index f6d7f4c..6b36232 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-notifications-jvm-telegram-md-bba.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-91-0-pe-org-apache-streampipes-sinks-notifications-jvm-telegram-md-bba.json
@@ -17,5 +17,14 @@
     "id": "org.apache.streampipes.sinks.notifications.jvm.telegram",
     "title": "Telegram Publisher",
     "sidebar_label": "Telegram Publisher"
+  },
+  "sidebar": "documentation",
+  "previous": {
+    "title": "Slack Notification",
+    "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack"
+  },
+  "next": {
+    "title": "Docker Deployment",
+    "permalink": "/docs/0.91.0/deploy-docker"
   }
 }
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-92-0-dev-guide-archetype-md-59b.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-92-0-dev-guide-archetype-md-59b.json
new file mode 100644
index 0000000..f57bb1d
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-92-0-dev-guide-archetype-md-59b.json
@@ -0,0 +1,22 @@
+{
+  "unversionedId": "dev-guide-archetype",
+  "id": "version-0.92.0/dev-guide-archetype",
+  "title": "Start Developing",
+  "description": "",
+  "source": "@site/versioned_docs/version-0.92.0/dev-guide-archetype.md",
+  "sourceDirName": ".",
+  "slug": "/dev-guide-archetype",
+  "permalink": "/docs/dev-guide-archetype",
+  "draft": false,
+  "tags": [],
+  "version": "0.92.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "dev-guide-archetype",
+    "title": "Start Developing",
+    "sidebar_label": "Start Developing",
+    "original_id": "dev-guide-archetype"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-92-0-dev-guide-processor-sdk-md-7d3.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-92-0-dev-guide-processor-sdk-md-7d3.json
new file mode 100644
index 0000000..f66ef8b
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-92-0-dev-guide-processor-sdk-md-7d3.json
@@ -0,0 +1,22 @@
+{
+  "unversionedId": "dev-guide-sdk-guide-processors",
+  "id": "version-0.92.0/dev-guide-sdk-guide-processors",
+  "title": "SDK Guide: Data Processors",
+  "description": "Project Setup",
+  "source": "@site/versioned_docs/version-0.92.0/dev-guide-processor-sdk.md",
+  "sourceDirName": ".",
+  "slug": "/dev-guide-sdk-guide-processors",
+  "permalink": "/docs/dev-guide-sdk-guide-processors",
+  "draft": false,
+  "tags": [],
+  "version": "0.92.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "dev-guide-sdk-guide-processors",
+    "title": "SDK Guide: Data Processors",
+    "sidebar_label": "SDK Guide: Data Processors",
+    "original_id": "dev-guide-sdk-guide-processors"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-92-0-dev-guide-sink-sdk-md-d78.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-92-0-dev-guide-sink-sdk-md-d78.json
new file mode 100644
index 0000000..893aa6e
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-92-0-dev-guide-sink-sdk-md-d78.json
@@ -0,0 +1,22 @@
+{
+  "unversionedId": "dev-guide-sdk-guide-sinks",
+  "id": "version-0.92.0/dev-guide-sdk-guide-sinks",
+  "title": "SDK Guide: Data Sinks",
+  "description": "Project Setup",
+  "source": "@site/versioned_docs/version-0.92.0/dev-guide-sink-sdk.md",
+  "sourceDirName": ".",
+  "slug": "/dev-guide-sdk-guide-sinks",
+  "permalink": "/docs/dev-guide-sdk-guide-sinks",
+  "draft": false,
+  "tags": [],
+  "version": "0.92.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "dev-guide-sdk-guide-sinks",
+    "title": "SDK Guide: Data Sinks",
+    "sidebar_label": "SDK Guide: Data Sinks",
+    "original_id": "dev-guide-sdk-guide-sinks"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-92-0-pe-org-apache-streampipes-sinks-brokers-jvm-mqtt-md-d33.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-92-0-pe-org-apache-streampipes-sinks-brokers-jvm-mqtt-md-d33.json
new file mode 100644
index 0000000..ae4bbc9
--- /dev/null
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/site-versioned-docs-version-0-92-0-pe-org-apache-streampipes-sinks-brokers-jvm-mqtt-md-d33.json
@@ -0,0 +1,22 @@
+{
+  "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
+  "id": "version-0.92.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
+  "title": "MQTT Publisher",
+  "description": "<!--",
+  "source": "@site/versioned_docs/version-0.92.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md",
+  "sourceDirName": "pe",
+  "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
+  "permalink": "/docs/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
+  "draft": false,
+  "tags": [],
+  "version": "0.92.0",
+  "lastUpdatedBy": "Author",
+  "lastUpdatedAt": 1539502055,
+  "formattedLastUpdatedAt": "Oct 14, 2018",
+  "frontMatter": {
+    "id": "org.apache.streampipes.sinks.brokers.jvm.mqtt",
+    "title": "MQTT Publisher",
+    "sidebar_label": "MQTT Publisher",
+    "original_id": "org.apache.streampipes.sinks.brokers.jvm.mqtt"
+  }
+}
\ No newline at end of file
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/version-0-90-0-metadata-prop-75c.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/version-0-90-0-metadata-prop-75c.json
index 53ee92b..bf38820 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/version-0-90-0-metadata-prop-75c.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/version-0-90-0-metadata-prop-75c.json
@@ -7,337 +7,2209 @@
   "noIndex": false,
   "className": "docs-version-0.90.0",
   "isLast": false,
-  "docsSidebars": {},
+  "docsSidebars": {
+    "documentation": [
+      {
+        "type": "category",
+        "label": "🚀 Try StreamPipes",
+        "items": [
+          {
+            "type": "link",
+            "label": "Overview",
+            "href": "/docs/0.90.0/user-guide-introduction",
+            "docId": "user-guide-introduction"
+          },
+          {
+            "type": "link",
+            "label": "Installation",
+            "href": "/docs/0.90.0/try-installation",
+            "docId": "try-installation"
+          }
+        ],
+        "collapsed": true,
+        "collapsible": true
+      },
+      {
+        "type": "category",
+        "label": "💡 Concepts",
+        "items": [
+          {
+            "type": "link",
+            "label": "Overview",
+            "href": "/docs/0.90.0/concepts-overview",
+            "docId": "concepts-overview"
+          }
+        ],
+        "collapsed": true,
+        "collapsible": true
+      },
+      {
+        "type": "category",
+        "label": "🎓 Use StreamPipes",
+        "items": [
+          {
+            "type": "link",
+            "label": "StreamPipes Connect",
+            "href": "/docs/0.90.0/use-connect",
+            "docId": "use-connect"
+          },
+          {
+            "type": "link",
+            "label": "Pipeline Editor",
+            "href": "/docs/0.90.0/use-pipeline-editor",
+            "docId": "use-pipeline-editor"
+          },
+          {
+            "type": "link",
+            "label": "Managing Pipelines",
+            "href": "/docs/0.90.0/use-managing-pipelines",
+            "docId": "use-managing-pipelines"
+          },
+          {
+            "type": "link",
+            "label": "Live Dashboard",
+            "href": "/docs/0.90.0/use-dashboard",
+            "docId": "use-dashboard"
+          },
+          {
+            "type": "link",
+            "label": "Data Explorer",
+            "href": "/docs/0.90.0/use-data-explorer",
+            "docId": "use-data-explorer"
+          },
+          {
+            "type": "link",
+            "label": "Notifications",
+            "href": "/docs/0.90.0/use-notifications",
+            "docId": "use-notifications"
+          },
+          {
+            "type": "link",
+            "label": "Install Pipeline Elements",
+            "href": "/docs/0.90.0/use-install-pipeline-elements",
+            "docId": "use-install-pipeline-elements"
+          },
+          {
+            "type": "link",
+            "label": "Configurations",
+            "href": "/docs/0.90.0/use-configurations",
+            "docId": "use-configurations"
+          }
+        ],
+        "collapsed": true,
+        "collapsible": true
+      },
+      {
+        "type": "category",
+        "label": "📚 Pipeline Elements",
+        "items": [
+          {
+            "type": "category",
+            "label": "Adapters",
+            "items": [
+              {
+                "type": "link",
+                "label": "Apache Kafka",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.kafka",
+                "docId": "pe/org.apache.streampipes.connect.protocol.stream.kafka"
+              },
+              {
+                "type": "link",
+                "label": "Apache Pulsar",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar",
+                "docId": "pe/org.apache.streampipes.connect.protocol.stream.pulsar"
+              },
+              {
+                "type": "link",
+                "label": "Coindesk Bitcoin Price",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.coindesk",
+                "docId": "pe/org.apache.streampipes.connect.adapters.coindesk"
+              },
+              {
+                "type": "link",
+                "label": "File Stream",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.file",
+                "docId": "pe/org.apache.streampipes.connect.protocol.stream.file"
+              },
+              {
+                "type": "link",
+                "label": "File Set",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.protocol.set.file",
+                "docId": "pe/org.apache.streampipes.protocol.set.file"
+              },
+              {
+                "type": "link",
+                "label": "Flic MQTT",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt",
+                "docId": "pe/org.apache.streampipes.connect.adapters.flic.mqtt"
+              },
+              {
+                "type": "link",
+                "label": "GDELT",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.gdelt",
+                "docId": "pe/org.apache.streampipes.connect.adapters.gdelt"
+              },
+              {
+                "type": "link",
+                "label": "HTTP Server",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver",
+                "docId": "pe/org.apache.streampipes.connect.protocol.stream.httpserver"
+              },
+              {
+                "type": "link",
+                "label": "HTTP Set",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.protocol.set.http",
+                "docId": "pe/org.apache.streampipes.protocol.set.http"
+              },
+              {
+                "type": "link",
+                "label": "HTTP Stream",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.http",
+                "docId": "pe/org.apache.streampipes.connect.protocol.stream.http"
+              },
+              {
+                "type": "link",
+                "label": "IEX Cloud News",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iex.news",
+                "docId": "pe/org.apache.streampipes.connect.adapters.iex.news"
+              },
+              {
+                "type": "link",
+                "label": "IEX Cloud Stock Quotes",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iex.stocks",
+                "docId": "pe/org.apache.streampipes.connect.adapters.iex.stocks"
+              },
+              {
+                "type": "link",
+                "label": "ISS Location",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iss",
+                "docId": "pe/org.apache.streampipes.connect.adapters.iss"
+              },
+              {
+                "type": "link",
+                "label": "Image Upload (Set)",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.image.set",
+                "docId": "pe/org.apache.streampipes.connect.adapters.image.set"
+              },
+              {
+                "type": "link",
+                "label": "Image Upload (Stream)",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.image.stream",
+                "docId": "pe/org.apache.streampipes.connect.adapters.image.stream"
+              },
+              {
+                "type": "link",
+                "label": "InfluxDB Set Adapter",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.set",
+                "docId": "pe/org.apache.streampipes.connect.adapters.influxdb.set"
+              },
+              {
+                "type": "link",
+                "label": "InfluxDB Stream Adapter",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream",
+                "docId": "pe/org.apache.streampipes.connect.adapters.influxdb.stream"
+              },
+              {
+                "type": "link",
+                "label": "MQTT",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt",
+                "docId": "pe/org.apache.streampipes.connect.protocol.stream.mqtt"
+              },
+              {
+                "type": "link",
+                "label": "Machine Data Simulator",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.machine",
+                "docId": "pe/org.apache.streampipes.connect.adapters.simulator.machine"
+              },
+              {
+                "type": "link",
+                "label": "MySQL Set Adapter",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.set",
+                "docId": "pe/org.apache.streampipes.connect.adapters.mysql.set"
+              },
+              {
+                "type": "link",
+                "label": "MySql Stream Adapter",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.stream",
+                "docId": "pe/org.apache.streampipes.connect.adapters.mysql.stream"
+              },
+              {
+                "type": "link",
+                "label": "NETIO MQTT M2M",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt",
+                "docId": "pe/org.apache.streampipes.connect.adapters.netio.mqtt"
+              },
+              {
+                "type": "link",
+                "label": "NETIO http JSON",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.netio.rest",
+                "docId": "pe/org.apache.streampipes.connect.adapters.netio.rest"
+              },
+              {
+                "type": "link",
+                "label": "NSW Traffic Cameras",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
+                "docId": "pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera"
+              },
+              {
+                "type": "link",
+                "label": "OPC UA",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.opcua",
+                "docId": "pe/org.apache.streampipes.connect.adapters.opcua"
+              },
+              {
+                "type": "link",
+                "label": "PLC4X MODBUS",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus",
+                "docId": "pe/org.apache.streampipes.connect.adapters.plc4x.modbus"
+              },
+              {
+                "type": "link",
+                "label": "PLC4X S7",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7",
+                "docId": "pe/org.apache.streampipes.connect.adapters.plc4x.s7"
+              },
+              {
+                "type": "link",
+                "label": "ROS Bridge",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.ros",
+                "docId": "pe/org.apache.streampipes.connect.adapters.ros"
+              },
+              {
+                "type": "link",
+                "label": "Random Data Simulator (Set)",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
+                "docId": "pe/org.apache.streampipes.connect.adapters.simulator.randomdataset"
+              },
+              {
+                "type": "link",
+                "label": "Random Data Simulator (Stream)",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
+                "docId": "pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream"
+              },
+              {
+                "type": "link",
+                "label": "Slack",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.slack",
+                "docId": "pe/org.apache.streampipes.connect.adapters.slack"
+              },
+              {
+                "type": "link",
+                "label": "TI Sensor Tag",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.ti",
+                "docId": "pe/org.apache.streampipes.connect.adapters.ti"
+              },
+              {
+                "type": "link",
+                "label": "Wikipedia Edits",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
+                "docId": "pe/org.apache.streampipes.connect.adapters.wikipedia.edit"
+              },
+              {
+                "type": "link",
+                "label": "Wikipedia New Articles",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new",
+                "docId": "pe/org.apache.streampipes.connect.adapters.wikipedia.new"
+              }
+            ],
+            "collapsed": true,
+            "collapsible": true
+          },
+          {
+            "type": "category",
+            "label": "Data Processors",
+            "items": [
+              {
+                "type": "link",
+                "label": "Absence",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
+                "docId": "pe/org.apache.streampipes.processors.pattern-detection.flink.absence"
+              },
+              {
+                "type": "link",
+                "label": "Aggregation",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
+                "docId": "pe/org.apache.streampipes.processors.aggregation.flink.aggregation"
+              },
+              {
+                "type": "link",
+                "label": "And",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and",
+                "docId": "pe/org.apache.streampipes.processors.pattern-detection.flink.and"
+              },
+              {
+                "type": "link",
+                "label": "Boilerplate Removal",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
+                "docId": "pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate"
+              },
+              {
+                "type": "link",
+                "label": "Boolean Counter",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
+              },
+              {
+                "type": "link",
+                "label": "Boolean Inverter",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter"
+              },
+              {
+                "type": "link",
+                "label": "Boolean Timer",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer"
+              },
+              {
+                "type": "link",
+                "label": "Boolean To State",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state"
+              },
+              {
+                "type": "link",
+                "label": "CSV Metadata Enricher",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata"
+              },
+              {
+                "type": "link",
+                "label": "Calculate Duration",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.duration-value"
+              },
+              {
+                "type": "link",
+                "label": "Chunker (English)",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker",
+                "docId": "pe/org.apache.streampipes.processors.textmining.jvm.chunker"
+              },
+              {
+                "type": "link",
+                "label": "Compose",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.compose",
+                "docId": "pe/org.apache.streampipes.processors.filters.jvm.compose"
+              },
+              {
+                "type": "link",
+                "label": "Count Aggregation",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.count",
+                "docId": "pe/org.apache.streampipes.processors.aggregation.flink.count"
+              },
+              {
+                "type": "link",
+                "label": "Count Array",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.count-array"
+              },
+              {
+                "type": "link",
+                "label": "Creates JTS Point",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
+                "docId": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo"
+              },
+              {
+                "type": "link",
+                "label": "Cusum",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum",
+                "docId": "pe/org.apache.streampipes.processors.changedetection.jvm.cusum"
+              },
+              {
+                "type": "link",
+                "label": "Distance Calculator",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
+                "docId": "pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
+              },
+              {
+                "type": "link",
+                "label": "EPSG Code",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
+                "docId": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG"
+              },
+              {
+                "type": "link",
+                "label": "Event Counter",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
+                "docId": "pe/org.apache.streampipes.processors.aggregation.flink.eventcount"
+              },
+              {
+                "type": "link",
+                "label": "Event Rate",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.rate",
+                "docId": "pe/org.apache.streampipes.processors.aggregation.flink.rate"
+              },
+              {
+                "type": "link",
+                "label": "Field Converter",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter",
+                "docId": "pe/org.apache.streampipes.processors.transformation.flink.field-converter"
+              },
+              {
+                "type": "link",
+                "label": "Field Hasher",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
+                "docId": "pe/org.apache.streampipes.processors.transformation.flink.fieldhasher"
+              },
+              {
+                "type": "link",
+                "label": "Field Mapper",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
+                "docId": "pe/org.apache.streampipes.processors.transformation.flink.field-mapper"
+              },
+              {
+                "type": "link",
+                "label": "Field Renamer",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
+                "docId": "pe/org.apache.streampipes.processors.transformation.flink.field-renamer"
+              },
+              {
+                "type": "link",
+                "label": "Frequency Calculation",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.frequency",
+                "docId": "pe/org.apache.streampipes.processors.siddhi.frequency"
+              },
+              {
+                "type": "link",
+                "label": "Frequency Change",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.frequencychange",
+                "docId": "pe/org.apache.streampipes.processors.siddhi.frequencychange"
+              },
+              {
+                "type": "link",
+                "label": "Generic Image Classification",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
+                "docId": "pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
+              },
+              {
+                "type": "link",
+                "label": "Google Maps Geocoder",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding",
+                "docId": "pe/org.apache.streampipes.processor.geo.jvm.geocoding"
+              },
+              {
+                "type": "link",
+                "label": "Image Cropper",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
+                "docId": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper"
+              },
+              {
+                "type": "link",
+                "label": "Image Enricher",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
+                "docId": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
+              },
+              {
+                "type": "link",
+                "label": "Language Detection",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
+                "docId": "pe/org.apache.streampipes.processors.textmining.flink.languagedetection"
+              },
+              {
+                "type": "link",
+                "label": "Language Detection",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
+                "docId": "pe/org.apache.streampipes.processors.textmining.jvm.languagedetection"
+              },
+              {
+                "type": "link",
+                "label": "Math",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
+                "docId": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop"
+              },
+              {
+                "type": "link",
+                "label": "Measure Time Between Two Sensors",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping"
+              },
+              {
+                "type": "link",
+                "label": "Measurement Unit Converter",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
+                "docId": "pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
+              },
+              {
+                "type": "link",
+                "label": "Merge By Enrich",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.enrich",
+                "docId": "pe/org.apache.streampipes.processors.filters.jvm.enrich"
+              },
+              {
+                "type": "link",
+                "label": "Name Finder",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
+                "docId": "pe/org.apache.streampipes.processors.textmining.jvm.namefinder"
+              },
+              {
+                "type": "link",
+                "label": "Number Labeler",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number"
+              },
+              {
+                "type": "link",
+                "label": "Numerical Filter",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
+                "docId": "pe/org.apache.streampipes.processors.filters.jvm.numericalfilter"
+              },
+              {
+                "type": "link",
+                "label": "Numerical Filter (Siddhi)",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter",
+                "docId": "pe/org.apache.streampipes.processors.siddhi.numericalfilter"
+              },
+              {
+                "type": "link",
+                "label": "Numerical Text Filter",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
+                "docId": "pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter"
+              },
+              {
+                "type": "link",
+                "label": "Part of Speech (English)",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
+                "docId": "pe/org.apache.streampipes.processors.textmining.jvm.partofspeech"
+              },
+              {
+                "type": "link",
+                "label": "Peak Detection",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
+                "docId": "pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
+              },
+              {
+                "type": "link",
+                "label": "Projection",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.project",
+                "docId": "pe/org.apache.streampipes.processors.filters.jvm.project"
+              },
+              {
+                "type": "link",
+                "label": "QR Code Reader",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.qrcode",
+                "docId": "pe/org.apache.streampipes.processor.imageclassification.qrcode"
+              },
+              {
+                "type": "link",
+                "label": "Rate Limit",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.limit",
+                "docId": "pe/org.apache.streampipes.processors.filters.jvm.limit"
+              },
+              {
+                "type": "link",
+                "label": "Reverse Geocoder",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
+                "docId": "pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding"
+              },
+              {
+                "type": "link",
+                "label": "Sentence Detection (English)",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
+                "docId": "pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection"
+              },
+              {
+                "type": "link",
+                "label": "Sequence",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
+                "docId": "pe/org.apache.streampipes.processors.pattern-detection.flink.sequence"
+              },
+              {
+                "type": "link",
+                "label": "Sequence Detection",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.sequence",
+                "docId": "pe/org.apache.streampipes.processors.siddhi.sequence"
+              },
+              {
+                "type": "link",
+                "label": "Signal Edge Filter",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge"
+              },
+              {
+                "type": "link",
+                "label": "Single Trajectory Creator",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
+                "docId": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory"
+              },
+              {
+                "type": "link",
+                "label": "Size Measure",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
+                "docId": "pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure"
+              },
+              {
+                "type": "link",
+                "label": "Spatial Grid Enrichment",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.flink",
+                "docId": "pe/org.apache.streampipes.processor.geo.flink"
+              },
+              {
+                "type": "link",
+                "label": "Speed Calculator",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
+                "docId": "pe/org.apache.streampipes.processors.geo.jvm.processor.speed"
+              },
+              {
+                "type": "link",
+                "label": "Split Array",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.split-array"
+              },
+              {
+                "type": "link",
+                "label": "State Buffer",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer"
+              },
+              {
+                "type": "link",
+                "label": "State Buffer Labeler",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer"
+              },
+              {
+                "type": "link",
+                "label": "Static Distance Calculator",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
+                "docId": "pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator"
+              },
+              {
+                "type": "link",
+                "label": "Static Google Maps Geocoder",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
+                "docId": "pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding"
+              },
+              {
+                "type": "link",
+                "label": "Static Math",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
+                "docId": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop"
+              },
+              {
+                "type": "link",
+                "label": "Statistics Summary",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
+                "docId": "pe/org.apache.streampipes.processors.statistics.flink.statistics-summary"
+              },
+              {
+                "type": "link",
+                "label": "Stream Stop Detection",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.stop",
+                "docId": "pe/org.apache.streampipes.processors.siddhi.stop"
+              },
+              {
+                "type": "link",
+                "label": "String Counter",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter"
+              },
+              {
+                "type": "link",
+                "label": "String Timer",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer"
+              },
+              {
+                "type": "link",
+                "label": "String To State",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state"
+              },
+              {
+                "type": "link",
+                "label": "Synchronize Two Streams",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.merge",
+                "docId": "pe/org.apache.streampipes.processors.filters.jvm.merge"
+              },
+              {
+                "type": "link",
+                "label": "Task Duration",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.taskduration"
+              },
+              {
+                "type": "link",
+                "label": "Text Filter",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter",
+                "docId": "pe/org.apache.streampipes.processors.filters.jvm.textfilter"
+              },
+              {
+                "type": "link",
+                "label": "Threshold Detector",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.threshold",
+                "docId": "pe/org.apache.streampipes.processors.filters.jvm.threshold"
+              },
+              {
+                "type": "link",
+                "label": "Timestamp Enricher",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp",
+                "docId": "pe/org.apache.streampipes.processors.enricher.flink.timestamp"
+              },
+              {
+                "type": "link",
+                "label": "Timestamp Extractor",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor"
+              },
+              {
+                "type": "link",
+                "label": "Tokenizer (English)",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
+                "docId": "pe/org.apache.streampipes.processors.textmining.jvm.tokenizer"
+              },
+              {
+                "type": "link",
+                "label": "Transform to boolean",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean"
+              },
+              {
+                "type": "link",
+                "label": "Trend",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.increase",
+                "docId": "pe/org.apache.streampipes.processors.siddhi.increase"
+              },
+              {
+                "type": "link",
+                "label": "Trigonometry Functions",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
+                "docId": "pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry"
+              },
+              {
+                "type": "link",
+                "label": "URL Dereferencing",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
+                "docId": "pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing"
+              },
+              {
+                "type": "link",
+                "label": "Value Changed",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.changed-value"
+              },
+              {
+                "type": "link",
+                "label": "Word Count",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount",
+                "docId": "pe/org.apache.streampipes.processors.textmining.flink.wordcount"
+              }
+            ],
+            "collapsed": true,
+            "collapsible": true
+          },
+          {
+            "type": "category",
+            "label": "Data Sinks",
+            "items": [
+              {
+                "type": "link",
+                "label": "Buffered REST Publisher",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
+                "docId": "pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest"
+              },
+              {
+                "type": "link",
+                "label": "CouchDB",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
+                "docId": "pe/org.apache.streampipes.sinks.databases.jvm.couchdb"
+              },
+              {
+                "type": "link",
+                "label": "Dashboard Sink",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
+                "docId": "pe/org.apache.streampipes.sinks.internal.jvm.dashboard"
+              },
+              {
+                "type": "link",
+                "label": "Data Lake",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake",
+                "docId": "pe/org.apache.streampipes.sinks.internal.jvm.datalake"
+              },
+              {
+                "type": "link",
+                "label": "Eclipse Ditto",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.ditto",
+                "docId": "pe/org.apache.streampipes.sinks.databases.ditto"
+              },
+              {
+                "type": "link",
+                "label": "Elasticsearch",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
+                "docId": "pe/org.apache.streampipes.sinks.databases.flink.elasticsearch"
+              },
+              {
+                "type": "link",
+                "label": "Email Notification",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.email",
+                "docId": "pe/org.apache.streampipes.sinks.notifications.jvm.email"
+              },
+              {
+                "type": "link",
+                "label": "InfluxDB",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
+                "docId": "pe/org.apache.streampipes.sinks.databases.jvm.influxdb"
+              },
+              {
+                "type": "link",
+                "label": "IoTDB",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
+                "docId": "pe/org.apache.streampipes.sinks.databases.jvm.iotdb"
+              },
+              {
+                "type": "link",
+                "label": "JMS Publisher",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms",
+                "docId": "pe/org.apache.streampipes.sinks.brokers.jvm.jms"
+              },
+              {
+                "type": "link",
+                "label": "Kafka Publisher",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
+                "docId": "pe/org.apache.streampipes.sinks.brokers.jvm.kafka"
+              },
+              {
+                "type": "link",
+                "label": "MySQL Database",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql",
+                "docId": "pe/org.apache.streampipes.sinks.databases.jvm.mysql"
+              },
+              {
+                "type": "link",
+                "label": "NATS Publisher",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats",
+                "docId": "pe/org.apache.streampipes.sinks.brokers.jvm.nats"
+              },
+              {
+                "type": "link",
+                "label": "Notification",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.notification",
+                "docId": "pe/org.apache.streampipes.sinks.internal.jvm.notification"
+              },
+              {
+                "type": "link",
+                "label": "OPC-UA",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua",
+                "docId": "pe/org.apache.streampipes.sinks.databases.jvm.opcua"
+              },
+              {
+                "type": "link",
+                "label": "OneSignal",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
+                "docId": "pe/org.apache.streampipes.sinks.notifications.jvm.onesignal"
+              },
+              {
+                "type": "link",
+                "label": "PostgreSQL",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
+                "docId": "pe/org.apache.streampipes.sinks.databases.jvm.postgresql"
+              },
+              {
+                "type": "link",
+                "label": "Pulsar Publisher",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
+                "docId": "pe/org.apache.streampipes.sinks.brokers.jvm.pulsar"
+              },
+              {
+                "type": "link",
+                "label": "REST Publisher",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest",
+                "docId": "pe/org.apache.streampipes.sinks.brokers.jvm.rest"
+              },
+              {
+                "type": "link",
+                "label": "RabbitMQ Publisher",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
+                "docId": "pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
+              },
+              {
+                "type": "link",
+                "label": "Slack Notification",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack",
+                "docId": "pe/org.apache.streampipes.sinks.notifications.jvm.slack"
+              },
+              {
+                "type": "link",
+                "label": "Telegram Publisher",
+                "href": "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram",
+                "docId": "pe/org.apache.streampipes.sinks.notifications.jvm.telegram"
+              }
+            ],
+            "collapsed": true,
+            "collapsible": true
+          }
+        ],
+        "collapsed": true,
+        "collapsible": true
+      },
+      {
+        "type": "category",
+        "label": "⚡ Deploy StreamPipes",
+        "items": [
+          {
+            "type": "link",
+            "label": "Docker Deployment",
+            "href": "/docs/0.90.0/deploy-docker",
+            "docId": "deploy-docker"
+          },
+          {
+            "type": "link",
+            "label": "Kubernetes Deployment",
+            "href": "/docs/0.90.0/deploy-kubernetes",
+            "docId": "deploy-kubernetes"
+          },
+          {
+            "type": "link",
+            "label": "Use SSL",
+            "href": "/docs/0.90.0/deploy-use-ssl",
+            "docId": "deploy-use-ssl"
+          },
+          {
+            "type": "link",
+            "label": "Security",
+            "href": "/docs/0.90.0/deploy-security",
+            "docId": "deploy-security"
+          }
+        ],
+        "collapsed": true,
+        "collapsible": true
+      },
+      {
+        "type": "category",
+        "label": "💻 Extend StreamPipes",
+        "items": [
+          {
+            "type": "link",
+            "label": "Development Setup",
+            "href": "/docs/0.90.0/extend-setup",
+            "docId": "extend-setup"
+          },
+          {
+            "type": "link",
+            "label": "StreamPipes CLI",
+            "href": "/docs/0.90.0/extend-cli",
+            "docId": "extend-cli"
+          },
+          {
+            "type": "link",
+            "label": "Maven Archetypes",
+            "href": "/docs/0.90.0/extend-archetypes",
+            "docId": "extend-archetypes"
+          },
+          {
+            "type": "link",
+            "label": "Your first data processor",
+            "href": "/docs/0.90.0/extend-first-processor",
+            "docId": "extend-first-processor"
+          },
+          {
+            "type": "link",
+            "label": "Tutorial: Data Sources",
+            "href": "/docs/0.90.0/extend-tutorial-data-sources",
+            "docId": "extend-tutorial-data-sources"
+          },
+          {
+            "type": "link",
+            "label": "Tutorial: Data Processors",
+            "href": "/docs/0.90.0/extend-tutorial-data-processors",
+            "docId": "extend-tutorial-data-processors"
+          },
+          {
+            "type": "link",
+            "label": "Tutorial: Data Sinks",
+            "href": "/docs/0.90.0/extend-tutorial-data-sinks",
+            "docId": "extend-tutorial-data-sinks"
+          },
+          {
+            "type": "link",
+            "label": "SDK: Functions",
+            "href": "/docs/0.90.0/extend-sdk-functions",
+            "docId": "extend-sdk-functions"
+          },
+          {
+            "type": "link",
+            "label": "SDK: Event Model",
+            "href": "/docs/0.90.0/extend-sdk-event-model",
+            "docId": "extend-sdk-event-model"
+          },
+          {
+            "type": "link",
+            "label": "SDK: Stream Requirements",
+            "href": "/docs/0.90.0/extend-sdk-stream-requirements",
+            "docId": "extend-sdk-stream-requirements"
+          },
+          {
+            "type": "link",
+            "label": "SDK: Static Properties",
+            "href": "/docs/0.90.0/extend-sdk-static-properties",
+            "docId": "extend-sdk-static-properties"
+          },
+          {
+            "type": "link",
+            "label": "SDK: Output Strategies",
+            "href": "/docs/0.90.0/extend-sdk-output-strategies",
+            "docId": "extend-sdk-output-strategies"
+          },
+          {
+            "type": "link",
+            "label": "Migration Guide: 0.69.0",
+            "href": "/docs/0.90.0/extend-sdk-migration-service-discovery",
+            "docId": "extend-sdk-migration-service-discovery"
+          }
+        ],
+        "collapsed": true,
+        "collapsible": true
+      },
+      {
+        "type": "category",
+        "label": "🔧 Technicals",
+        "items": [
+          {
+            "type": "link",
+            "label": "Architecture",
+            "href": "/docs/0.90.0/technicals-architecture",
+            "docId": "technicals-architecture"
+          },
+          {
+            "type": "link",
+            "label": "User Guidance",
+            "href": "/docs/0.90.0/technicals-user-guidance",
+            "docId": "technicals-user-guidance"
+          },
+          {
+            "type": "link",
+            "label": "Runtime Wrappers",
+            "href": "/docs/0.90.0/technicals-runtime-wrappers",
+            "docId": "technicals-runtime-wrappers"
+          },
+          {
+            "type": "link",
+            "label": "Messaging",
+            "href": "/docs/0.90.0/technicals-messaging",
+            "docId": "technicals-messaging"
+          },
+          {
+            "type": "link",
+            "label": "Configuration",
+            "href": "/docs/0.90.0/technicals-configuration",
+            "docId": "technicals-configuration"
+          }
+        ],
+        "collapsed": true,
+        "collapsible": true
+      },
+      {
+        "type": "category",
+        "label": "👪 Community",
+        "items": [
+          {
+            "type": "link",
+            "label": "Get Help",
+            "href": "/docs/0.90.0/community-get-help",
+            "docId": "community-get-help"
+          },
+          {
+            "type": "link",
+            "label": "Contribute",
+            "href": "/docs/0.90.0/community-contribute",
+            "docId": "community-contribute"
+          }
+        ],
+        "collapsed": true,
+        "collapsible": true
+      }
+    ],
+    "faq": [
+      {
+        "type": "category",
+        "label": "FAQ",
+        "items": [
+          {
+            "type": "link",
+            "label": "Common Problems",
+            "href": "/docs/0.90.0/faq-common-problems",
+            "docId": "faq-common-problems"
+          }
+        ],
+        "collapsed": true,
+        "collapsible": true
+      }
+    ]
+  },
   "docs": {
     "community-contribute": {
       "id": "community-contribute",
       "title": "Contribute",
-      "description": "Contribute"
+      "description": "Contribute",
+      "sidebar": "documentation"
+    },
+    "community-get-help": {
+      "id": "community-get-help",
+      "title": "Get Help",
+      "description": "The Apache StreamPipes community is happy to help with any questions or problems you might have.",
+      "sidebar": "documentation"
+    },
+    "concepts-adapter": {
+      "id": "concepts-adapter",
+      "title": "Data Adapters",
+      "description": "tbd"
+    },
+    "concepts-data-streams": {
+      "id": "concepts-data-streams",
+      "title": "Data Streams",
+      "description": "tbd"
+    },
+    "concepts-glossary": {
+      "id": "concepts-glossary",
+      "title": "Glossary",
+      "description": "tbd"
+    },
+    "concepts-overview": {
+      "id": "concepts-overview",
+      "title": "StreamPipes Concepts",
+      "description": "To understand how StreamPipes works, the knowledge of a few core concepts, illustrated below, will be helpful.",
+      "sidebar": "documentation"
+    },
+    "concepts-pipelines": {
+      "id": "concepts-pipelines",
+      "title": "Pipelines",
+      "description": "tbd"
+    },
+    "debugging-debugging": {
+      "id": "debugging-debugging",
+      "title": "Debugging",
+      "description": "tbd"
+    },
+    "debugging-monitoring": {
+      "id": "debugging-monitoring",
+      "title": "Monitoring",
+      "description": "tbd"
+    },
+    "deploy-docker": {
+      "id": "deploy-docker",
+      "title": "Docker Deployment",
+      "description": "StreamPipes Compose is a simple collection of user-friendly docker-compose files that easily lets gain first-hand experience with Apache StreamPipes.",
+      "sidebar": "documentation"
+    },
+    "deploy-kubernetes": {
+      "id": "deploy-kubernetes",
+      "title": "Kubernetes Deployment",
+      "description": "Prerequisites",
+      "sidebar": "documentation"
+    },
+    "deploy-security": {
+      "id": "deploy-security",
+      "title": "Security",
+      "description": "Overriding default settings",
+      "sidebar": "documentation"
+    },
+    "deploy-use-ssl": {
+      "id": "deploy-use-ssl",
+      "title": "Use SSL",
+      "description": "This page explains how SSL Certificates can be used to provide transport layer security between your Browser and the Streampipes Backend.",
+      "sidebar": "documentation"
+    },
+    "dev-guide-archetype": {
+      "id": "dev-guide-archetype",
+      "title": "Start Developing",
+      "description": ""
+    },
+    "dev-guide-sdk-guide-processors": {
+      "id": "dev-guide-sdk-guide-processors",
+      "title": "SDK Guide: Data Processors",
+      "description": "Project Setup"
+    },
+    "dev-guide-sdk-guide-sinks": {
+      "id": "dev-guide-sdk-guide-sinks",
+      "title": "SDK Guide: Data Sinks",
+      "description": "Project Setup"
+    },
+    "extend-archetypes": {
+      "id": "extend-archetypes",
+      "title": "Maven Archetypes",
+      "description": "In this tutorial we explain how you can use the Maven archetypes to develop your own StreamPipes processors and sinks.",
+      "sidebar": "documentation"
     },
     "extend-cli": {
       "id": "extend-cli",
       "title": "StreamPipes CLI",
-      "description": "The StreamPipes command-line interface (CLI) is focused on developers in order to provide an easy entrypoint to set up a suitable dev environment, either planning on developing"
+      "description": "The StreamPipes command-line interface (CLI) is focused on developers in order to provide an easy entrypoint to set up a suitable dev environment, either planning on developing",
+      "sidebar": "documentation"
+    },
+    "extend-first-processor": {
+      "id": "extend-first-processor",
+      "title": "Your first data processor",
+      "description": "In this section, we will explain how to start a pipeline element service and install it using the StreamPipes UI.",
+      "sidebar": "documentation"
+    },
+    "extend-sdk-event-model": {
+      "id": "extend-sdk-event-model",
+      "title": "SDK Guide: Event Model",
+      "description": "Introduction",
+      "sidebar": "documentation"
     },
     "extend-sdk-functions": {
       "id": "extend-sdk-functions",
       "title": "SDK Guide: Functions",
-      "description": "Introduction"
+      "description": "Introduction",
+      "sidebar": "documentation"
     },
     "extend-sdk-migration-service-discovery": {
       "id": "extend-sdk-migration-service-discovery",
       "title": "Migration Guide: New Service Discovery in 0.69.0",
-      "description": "Introduction"
+      "description": "Introduction",
+      "sidebar": "documentation"
     },
     "extend-sdk-output-strategies": {
       "id": "extend-sdk-output-strategies",
       "title": "SDK Guide: Output Strategies",
-      "description": "Introduction"
+      "description": "Introduction",
+      "sidebar": "documentation"
     },
     "extend-sdk-static-properties": {
       "id": "extend-sdk-static-properties",
       "title": "SDK Guide: Static Properties",
-      "description": "Introduction"
+      "description": "Introduction",
+      "sidebar": "documentation"
     },
     "extend-sdk-stream-requirements": {
       "id": "extend-sdk-stream-requirements",
       "title": "SDK Guide: Stream Requirements",
-      "description": "Introduction"
+      "description": "Introduction",
+      "sidebar": "documentation"
     },
     "extend-setup": {
       "id": "extend-setup",
       "title": "Development Setup",
-      "description": "Pipeline elements in StreamPipes are provided as standalone microservices. New pipeline elements can be easily developed using the provided Maven archetypes and can be installed in StreamPipes at runtime."
+      "description": "Pipeline elements in StreamPipes are provided as standalone microservices. New pipeline elements can be easily developed using the provided Maven archetypes and can be installed in StreamPipes at runtime.",
+      "sidebar": "documentation"
     },
     "extend-tutorial-data-processors": {
       "id": "extend-tutorial-data-processors",
       "title": "Tutorial: Data Processors",
-      "description": "In this tutorial, we will add a new data processor."
+      "description": "In this tutorial, we will add a new data processor.",
+      "sidebar": "documentation"
     },
     "extend-tutorial-data-sinks": {
       "id": "extend-tutorial-data-sinks",
       "title": "Tutorial: Data Sinks",
-      "description": "In this tutorial, we will add a new data sink using the standalone wrapper."
+      "description": "In this tutorial, we will add a new data sink using the standalone wrapper.",
+      "sidebar": "documentation"
     },
     "extend-tutorial-data-sources": {
       "id": "extend-tutorial-data-sources",
       "title": "Tutorial: Data Sources",
-      "description": "In this tutorial, we will add a new data source consisting of a single data stream. The source will be provided as a standalone component (i.e., the description will be accessible through an integrated web server)."
+      "description": "In this tutorial, we will add a new data source consisting of a single data stream. The source will be provided as a standalone component (i.e., the description will be accessible through an integrated web server).",
+      "sidebar": "documentation"
+    },
+    "faq-common-problems": {
+      "id": "faq-common-problems",
+      "title": "Common Problems",
+      "description": "* Windows 10: Consul, Kafka, Zookeeper, or Kafka-Rest did not start",
+      "sidebar": "faq"
+    },
+    "pe/org.apache.streampipes.connect.adapters.coindesk": {
+      "id": "pe/org.apache.streampipes.connect.adapters.coindesk",
+      "title": "Coindesk Bitcoin Price",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.connect.adapters.flic.mqtt": {
       "id": "pe/org.apache.streampipes.connect.adapters.flic.mqtt",
       "title": "Flic MQTT",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.gdelt": {
+      "id": "pe/org.apache.streampipes.connect.adapters.gdelt",
+      "title": "GDELT",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.iex.news": {
+      "id": "pe/org.apache.streampipes.connect.adapters.iex.news",
+      "title": "IEX Cloud News",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.iex.stocks": {
+      "id": "pe/org.apache.streampipes.connect.adapters.iex.stocks",
+      "title": "IEX Cloud Stock Quotes",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.image.set": {
+      "id": "pe/org.apache.streampipes.connect.adapters.image.set",
+      "title": "Image Upload (Set)",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.image.stream": {
+      "id": "pe/org.apache.streampipes.connect.adapters.image.stream",
+      "title": "Image Upload (Stream)",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.influxdb.set": {
+      "id": "pe/org.apache.streampipes.connect.adapters.influxdb.set",
+      "title": "InfluxDB Set Adapter",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.influxdb.stream": {
+      "id": "pe/org.apache.streampipes.connect.adapters.influxdb.stream",
+      "title": "InfluxDB Stream Adapter",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.iss": {
+      "id": "pe/org.apache.streampipes.connect.adapters.iss",
+      "title": "ISS Location",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.mysql.set": {
+      "id": "pe/org.apache.streampipes.connect.adapters.mysql.set",
+      "title": "MySQL Set Adapter",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.mysql.stream": {
+      "id": "pe/org.apache.streampipes.connect.adapters.mysql.stream",
+      "title": "MySql Stream Adapter",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.netio.mqtt": {
+      "id": "pe/org.apache.streampipes.connect.adapters.netio.mqtt",
+      "title": "NETIO MQTT M2M",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.netio.rest": {
+      "id": "pe/org.apache.streampipes.connect.adapters.netio.rest",
+      "title": "NETIO http JSON",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera": {
+      "id": "pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
+      "title": "NSW Traffic Cameras",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.connect.adapters.opcua": {
       "id": "pe/org.apache.streampipes.connect.adapters.opcua",
       "title": "OPC UA",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.connect.adapters.plc4x.modbus": {
       "id": "pe/org.apache.streampipes.connect.adapters.plc4x.modbus",
       "title": "PLC4X MODBUS",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.plc4x.s7": {
+      "id": "pe/org.apache.streampipes.connect.adapters.plc4x.s7",
+      "title": "PLC4X S7",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.ros": {
+      "id": "pe/org.apache.streampipes.connect.adapters.ros",
+      "title": "ROS Bridge",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.connect.adapters.simulator.machine": {
       "id": "pe/org.apache.streampipes.connect.adapters.simulator.machine",
       "title": "Machine Data Simulator",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.simulator.randomdataset": {
+      "id": "pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
+      "title": "Random Data Simulator (Set)",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream": {
+      "id": "pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
+      "title": "Random Data Simulator (Stream)",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.slack": {
+      "id": "pe/org.apache.streampipes.connect.adapters.slack",
+      "title": "Slack",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.ti": {
+      "id": "pe/org.apache.streampipes.connect.adapters.ti",
+      "title": "TI Sensor Tag",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.wikipedia.edit": {
+      "id": "pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
+      "title": "Wikipedia Edits",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.wikipedia.new": {
+      "id": "pe/org.apache.streampipes.connect.adapters.wikipedia.new",
+      "title": "Wikipedia New Articles",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.protocol.stream.file": {
+      "id": "pe/org.apache.streampipes.connect.protocol.stream.file",
+      "title": "File Stream",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.protocol.stream.http": {
+      "id": "pe/org.apache.streampipes.connect.protocol.stream.http",
+      "title": "HTTP Stream",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.connect.protocol.stream.httpserver": {
       "id": "pe/org.apache.streampipes.connect.protocol.stream.httpserver",
       "title": "HTTP Server",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.protocol.stream.kafka": {
+      "id": "pe/org.apache.streampipes.connect.protocol.stream.kafka",
+      "title": "Apache Kafka",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.protocol.stream.mqtt": {
+      "id": "pe/org.apache.streampipes.connect.protocol.stream.mqtt",
+      "title": "MQTT",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.protocol.stream.pulsar": {
+      "id": "pe/org.apache.streampipes.connect.protocol.stream.pulsar",
+      "title": "Apache Pulsar",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processor.geo.flink": {
+      "id": "pe/org.apache.streampipes.processor.geo.flink",
+      "title": "Spatial Grid Enrichment",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processor.geo.jvm.geocoding": {
       "id": "pe/org.apache.streampipes.processor.geo.jvm.geocoding",
       "title": "Google Maps Geocoder",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding": {
       "id": "pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
       "title": "Reverse Geocoder",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding": {
       "id": "pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
       "title": "Static Google Maps Geocoder",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification": {
       "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
       "title": "Generic Image Classification",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper": {
+      "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
+      "title": "Image Cropper",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher": {
       "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
       "title": "Image Enricher",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processor.imageclassification.qrcode": {
       "id": "pe/org.apache.streampipes.processor.imageclassification.qrcode",
       "title": "QR Code Reader",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.aggregation.flink.aggregation": {
       "id": "pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
       "title": "Aggregation",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.aggregation.flink.count": {
       "id": "pe/org.apache.streampipes.processors.aggregation.flink.count",
       "title": "Count Aggregation",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.aggregation.flink.eventcount": {
       "id": "pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
       "title": "Event Counter",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.aggregation.flink.rate": {
       "id": "pe/org.apache.streampipes.processors.aggregation.flink.rate",
       "title": "Event Rate",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.changedetection.jvm.cusum": {
       "id": "pe/org.apache.streampipes.processors.changedetection.jvm.cusum",
       "title": "Cusum",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop": {
+      "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
+      "title": "Math",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop": {
+      "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
+      "title": "Static Math",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry": {
+      "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
+      "title": "Trigonometry Functions",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing": {
+      "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
+      "title": "URL Dereferencing",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.enricher.flink.timestamp": {
+      "id": "pe/org.apache.streampipes.processors.enricher.flink.timestamp",
+      "title": "Timestamp Enricher",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure": {
+      "id": "pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
+      "title": "Size Measure",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.filters.jvm.compose": {
+      "id": "pe/org.apache.streampipes.processors.filters.jvm.compose",
+      "title": "Compose",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.filters.jvm.enrich": {
+      "id": "pe/org.apache.streampipes.processors.filters.jvm.enrich",
+      "title": "Merge By Enrich",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.filters.jvm.limit": {
       "id": "pe/org.apache.streampipes.processors.filters.jvm.limit",
       "title": "Rate Limit",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.filters.jvm.merge": {
       "id": "pe/org.apache.streampipes.processors.filters.jvm.merge",
       "title": "Synchronize Two Streams",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.filters.jvm.numericalfilter": {
+      "id": "pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
+      "title": "Numerical Filter",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter": {
+      "id": "pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
+      "title": "Numerical Text Filter",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.filters.jvm.project": {
+      "id": "pe/org.apache.streampipes.processors.filters.jvm.project",
+      "title": "Projection",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.filters.jvm.textfilter": {
+      "id": "pe/org.apache.streampipes.processors.filters.jvm.textfilter",
+      "title": "Text Filter",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.filters.jvm.threshold": {
+      "id": "pe/org.apache.streampipes.processors.filters.jvm.threshold",
+      "title": "Threshold Detector",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo": {
+      "id": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
+      "title": "Creates JTS Point",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG": {
+      "id": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
+      "title": "EPSG Code",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory": {
+      "id": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
+      "title": "Single Trajectory Creator",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator": {
       "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
       "title": "Distance Calculator",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.geo.jvm.processor.speed": {
+      "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
+      "title": "Speed Calculator",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator": {
       "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
       "title": "Static Distance Calculator",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.pattern-detection.flink.absence": {
       "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
       "title": "Absence",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.pattern-detection.flink.and": {
       "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.and",
       "title": "And",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection": {
       "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
       "title": "Peak Detection",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.pattern-detection.flink.sequence": {
       "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
       "title": "Sequence",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.siddhi.frequency": {
       "id": "pe/org.apache.streampipes.processors.siddhi.frequency",
       "title": "Frequency Calculation",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.siddhi.frequencychange": {
       "id": "pe/org.apache.streampipes.processors.siddhi.frequencychange",
       "title": "Frequency Change",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.siddhi.increase": {
       "id": "pe/org.apache.streampipes.processors.siddhi.increase",
       "title": "Trend",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.siddhi.numericalfilter": {
       "id": "pe/org.apache.streampipes.processors.siddhi.numericalfilter",
       "title": "Numerical Filter (Siddhi)",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.siddhi.sequence": {
+      "id": "pe/org.apache.streampipes.processors.siddhi.sequence",
+      "title": "Sequence Detection",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.siddhi.stop": {
       "id": "pe/org.apache.streampipes.processors.siddhi.stop",
       "title": "Stream Stop Detection",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.statistics.flink.statistics-summary": {
+      "id": "pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
+      "title": "Statistics Summary",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.textmining.flink.languagedetection": {
       "id": "pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
       "title": "Language Detection",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.textmining.flink.wordcount": {
       "id": "pe/org.apache.streampipes.processors.textmining.flink.wordcount",
       "title": "Word Count",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.textmining.jvm.chunker": {
+      "id": "pe/org.apache.streampipes.processors.textmining.jvm.chunker",
+      "title": "Chunker (English)",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.textmining.jvm.languagedetection": {
+      "id": "pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
+      "title": "Language Detection",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.textmining.jvm.namefinder": {
+      "id": "pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
+      "title": "Name Finder",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.textmining.jvm.partofspeech": {
+      "id": "pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
+      "title": "Part of Speech (English)",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection": {
+      "id": "pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
+      "title": "Sentence Detection (English)",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.textmining.jvm.tokenizer": {
+      "id": "pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
+      "title": "Tokenizer (English)",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.transformation.flink.field-converter": {
       "id": "pe/org.apache.streampipes.processors.transformation.flink.field-converter",
       "title": "Field Converter",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.transformation.flink.field-mapper": {
+      "id": "pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
+      "title": "Field Mapper",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.transformation.flink.field-renamer": {
       "id": "pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
       "title": "Field Renamer",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.transformation.flink.fieldhasher": {
       "id": "pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
       "title": "Field Hasher",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter": {
       "id": "pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
       "title": "Measurement Unit Converter",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate": {
+      "id": "pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
+      "title": "Boilerplate Removal",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter": {
       "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
       "title": "Boolean Counter",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter": {
+      "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
+      "title": "Boolean Inverter",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping": {
+      "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
+      "title": "Measure Time Between Two Sensors",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer": {
+      "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
+      "title": "Boolean Timer",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.transformation.jvm.changed-value": {
+      "id": "pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
+      "title": "Value Changed",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.transformation.jvm.count-array": {
+      "id": "pe/org.apache.streampipes.processors.transformation.jvm.count-array",
+      "title": "Count Array",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata": {
+      "id": "pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
+      "title": "CSV Metadata Enricher",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.transformation.jvm.duration-value": {
+      "id": "pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
+      "title": "Calculate Duration",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge": {
       "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
       "title": "Signal Edge Filter",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state": {
       "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state",
       "title": "Boolean To State",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer": {
       "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer",
       "title": "State Buffer",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer": {
       "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer",
       "title": "State Buffer Labeler",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number": {
       "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number",
       "title": "Number Labeler",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state": {
       "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state",
       "title": "String To State",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor": {
+      "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
+      "title": "Timestamp Extractor",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.transformation.jvm.split-array": {
       "id": "pe/org.apache.streampipes.processors.transformation.jvm.split-array",
       "title": "Split Array",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter": {
+      "id": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
+      "title": "String Counter",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer": {
       "id": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
       "title": "String Timer",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.transformation.jvm.taskduration": {
+      "id": "pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
+      "title": "Task Duration",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean": {
+      "id": "pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
+      "title": "Transform to boolean",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.protocol.set.file": {
+      "id": "pe/org.apache.streampipes.protocol.set.file",
+      "title": "File Set",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.protocol.set.http": {
+      "id": "pe/org.apache.streampipes.protocol.set.http",
+      "title": "HTTP Set",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest": {
+      "id": "pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
+      "title": "Buffered REST Publisher",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.sinks.brokers.jvm.jms": {
+      "id": "pe/org.apache.streampipes.sinks.brokers.jvm.jms",
+      "title": "JMS Publisher",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.sinks.brokers.jvm.kafka": {
+      "id": "pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
+      "title": "Kafka Publisher",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.sinks.brokers.jvm.mqtt": {
+      "id": "pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
+      "title": "MQTT Publisher",
       "description": "<!--"
     },
     "pe/org.apache.streampipes.sinks.brokers.jvm.nats": {
       "id": "pe/org.apache.streampipes.sinks.brokers.jvm.nats",
       "title": "NATS Publisher",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.sinks.brokers.jvm.pulsar": {
+      "id": "pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
+      "title": "Pulsar Publisher",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq": {
       "id": "pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
       "title": "RabbitMQ Publisher",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.sinks.brokers.jvm.rest": {
+      "id": "pe/org.apache.streampipes.sinks.brokers.jvm.rest",
+      "title": "REST Publisher",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.sinks.databases.ditto": {
       "id": "pe/org.apache.streampipes.sinks.databases.ditto",
       "title": "Eclipse Ditto",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.sinks.databases.flink.elasticsearch": {
+      "id": "pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
+      "title": "Elasticsearch",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.sinks.databases.jvm.couchdb": {
+      "id": "pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
+      "title": "CouchDB",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.sinks.databases.jvm.influxdb": {
+      "id": "pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
+      "title": "InfluxDB",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.sinks.databases.jvm.iotdb": {
+      "id": "pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
+      "title": "IoTDB",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.sinks.databases.jvm.mysql": {
       "id": "pe/org.apache.streampipes.sinks.databases.jvm.mysql",
       "title": "MySQL Database",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.sinks.databases.jvm.opcua": {
+      "id": "pe/org.apache.streampipes.sinks.databases.jvm.opcua",
+      "title": "OPC-UA",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.sinks.databases.jvm.postgresql": {
+      "id": "pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
+      "title": "PostgreSQL",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.sinks.internal.jvm.dashboard": {
+      "id": "pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
+      "title": "Dashboard Sink",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.sinks.internal.jvm.datalake": {
+      "id": "pe/org.apache.streampipes.sinks.internal.jvm.datalake",
+      "title": "Data Lake",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.sinks.internal.jvm.notification": {
       "id": "pe/org.apache.streampipes.sinks.internal.jvm.notification",
       "title": "Notification",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.sinks.notifications.jvm.email": {
+      "id": "pe/org.apache.streampipes.sinks.notifications.jvm.email",
+      "title": "Email Notification",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.sinks.notifications.jvm.onesignal": {
+      "id": "pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
+      "title": "OneSignal",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.sinks.notifications.jvm.slack": {
       "id": "pe/org.apache.streampipes.sinks.notifications.jvm.slack",
       "title": "Slack Notification",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.sinks.notifications.jvm.telegram": {
       "id": "pe/org.apache.streampipes.sinks.notifications.jvm.telegram",
       "title": "Telegram Publisher",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "technicals-architecture": {
+      "id": "technicals-architecture",
+      "title": "Architecture",
+      "description": "The following picture illustrates the high-level architecture of StreamPipes:",
+      "sidebar": "documentation"
     },
     "technicals-configuration": {
       "id": "technicals-configuration",
       "title": "Configuration",
-      "description": "On this page we explain how the StreamPipes configuration works."
+      "description": "On this page we explain how the StreamPipes configuration works.",
+      "sidebar": "documentation"
+    },
+    "technicals-messaging": {
+      "id": "technicals-messaging",
+      "title": "Messaging",
+      "description": "tbd",
+      "sidebar": "documentation"
+    },
+    "technicals-runtime-wrappers": {
+      "id": "technicals-runtime-wrappers",
+      "title": "Runtime Wrappers",
+      "description": "tbd",
+      "sidebar": "documentation"
+    },
+    "technicals-user-guidance": {
+      "id": "technicals-user-guidance",
+      "title": "User Guidance",
+      "description": "tbd",
+      "sidebar": "documentation"
     },
     "try-installation": {
       "id": "try-installation",
       "title": "Installation",
-      "description": "The easiest way to install StreamPipes is our Docker-based installation. For production-grade deployments, we also"
+      "description": "The easiest way to install StreamPipes is our Docker-based installation. For production-grade deployments, we also",
+      "sidebar": "documentation"
+    },
+    "try-tutorial": {
+      "id": "try-tutorial",
+      "title": "Interactive Tutorial",
+      "description": "Once you've installed StreamPipes and see the home screen, you'll see a number of modules that are part of the StreamPipes toolbox."
+    },
+    "use-configurations": {
+      "id": "use-configurations",
+      "title": "Configurations",
+      "description": "The configuration section is an admin-only interface for system-wide settings.",
+      "sidebar": "documentation"
     },
     "use-connect": {
       "id": "use-connect",
       "title": "StreamPipes Connect",
-      "description": "StreamPipes Connect is the module to connect external data sources with Apache StreamPipes directly from the user interface."
+      "description": "StreamPipes Connect is the module to connect external data sources with Apache StreamPipes directly from the user interface.",
+      "sidebar": "documentation"
+    },
+    "use-dashboard": {
+      "id": "use-dashboard",
+      "title": "Live Dashboard",
+      "description": "The live dashboard can be used to visualize live data of data streams using a set of visualizations",
+      "sidebar": "documentation"
+    },
+    "use-data-explorer": {
+      "id": "use-data-explorer",
+      "title": "Data Explorer",
+      "description": "The data explorer can be used to visualize and explore data streams that are persisted by using the Data Lake sink.",
+      "sidebar": "documentation"
+    },
+    "use-install-pipeline-elements": {
+      "id": "use-install-pipeline-elements",
+      "title": "Install Pipeline Elements",
+      "description": "Install Pipeline Elements",
+      "sidebar": "documentation"
+    },
+    "use-managing-pipelines": {
+      "id": "use-managing-pipelines",
+      "title": "Managing Pipelines",
+      "description": "The pipeline view lists all created pipelines and provides several views and actions to manage the lifecycle of pipelines.",
+      "sidebar": "documentation"
+    },
+    "use-notifications": {
+      "id": "use-notifications",
+      "title": "Notifications",
+      "description": "The notification module can be used to create internal notifications.",
+      "sidebar": "documentation"
     },
     "use-pipeline-editor": {
       "id": "use-pipeline-editor",
       "title": "Pipeline Editor",
-      "description": "The pipeline editor module supports building pipelines that transform a data stream using a set of resuable data processors and data sinks."
+      "description": "The pipeline editor module supports building pipelines that transform a data stream using a set of resuable data processors and data sinks.",
+      "sidebar": "documentation"
     },
     "user-guide-first-steps": {
       "id": "user-guide-first-steps",
@@ -352,7 +2224,8 @@
     "user-guide-introduction": {
       "id": "user-guide-introduction",
       "title": "Apache StreamPipes Documentation",
-      "description": "This is the documentation of Apache StreamPipes."
+      "description": "This is the documentation of Apache StreamPipes.",
+      "sidebar": "documentation"
     },
     "user-guide-introduction-old": {
       "id": "user-guide-introduction-old",
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/version-0-91-0-metadata-prop-bb5.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/version-0-91-0-metadata-prop-bb5.json
index cb33130..7b09cf6 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/version-0-91-0-metadata-prop-bb5.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/version-0-91-0-metadata-prop-bb5.json
@@ -7,282 +7,2214 @@
   "noIndex": false,
   "className": "docs-version-0.91.0",
   "isLast": false,
-  "docsSidebars": {},
+  "docsSidebars": {
+    "documentation": [
+      {
+        "type": "category",
+        "label": "🚀 Try StreamPipes",
+        "items": [
+          {
+            "type": "link",
+            "label": "Overview",
+            "href": "/docs/0.91.0/user-guide-introduction",
+            "docId": "user-guide-introduction"
+          },
+          {
+            "type": "link",
+            "label": "Installation",
+            "href": "/docs/0.91.0/try-installation",
+            "docId": "try-installation"
+          }
+        ],
+        "collapsed": true,
+        "collapsible": true
+      },
+      {
+        "type": "category",
+        "label": "💡 Concepts",
+        "items": [
+          {
+            "type": "link",
+            "label": "Overview",
+            "href": "/docs/0.91.0/concepts-overview",
+            "docId": "concepts-overview"
+          }
+        ],
+        "collapsed": true,
+        "collapsible": true
+      },
+      {
+        "type": "category",
+        "label": "🎓 Use StreamPipes",
+        "items": [
+          {
+            "type": "link",
+            "label": "StreamPipes Connect",
+            "href": "/docs/0.91.0/use-connect",
+            "docId": "use-connect"
+          },
+          {
+            "type": "link",
+            "label": "Pipeline Editor",
+            "href": "/docs/0.91.0/use-pipeline-editor",
+            "docId": "use-pipeline-editor"
+          },
+          {
+            "type": "link",
+            "label": "Managing Pipelines",
+            "href": "/docs/0.91.0/use-managing-pipelines",
+            "docId": "use-managing-pipelines"
+          },
+          {
+            "type": "link",
+            "label": "Live Dashboard",
+            "href": "/docs/0.91.0/use-dashboard",
+            "docId": "use-dashboard"
+          },
+          {
+            "type": "link",
+            "label": "Data Explorer",
+            "href": "/docs/0.91.0/use-data-explorer",
+            "docId": "use-data-explorer"
+          },
+          {
+            "type": "link",
+            "label": "Notifications",
+            "href": "/docs/0.91.0/use-notifications",
+            "docId": "use-notifications"
+          },
+          {
+            "type": "link",
+            "label": "Install Pipeline Elements",
+            "href": "/docs/0.91.0/use-install-pipeline-elements",
+            "docId": "use-install-pipeline-elements"
+          },
+          {
+            "type": "link",
+            "label": "Configurations",
+            "href": "/docs/0.91.0/use-configurations",
+            "docId": "use-configurations"
+          }
+        ],
+        "collapsed": true,
+        "collapsible": true
+      },
+      {
+        "type": "category",
+        "label": "📚 Pipeline Elements",
+        "items": [
+          {
+            "type": "category",
+            "label": "Adapters",
+            "items": [
+              {
+                "type": "link",
+                "label": "Apache Kafka",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.kafka",
+                "docId": "pe/org.apache.streampipes.connect.protocol.stream.kafka"
+              },
+              {
+                "type": "link",
+                "label": "Apache Pulsar",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar",
+                "docId": "pe/org.apache.streampipes.connect.protocol.stream.pulsar"
+              },
+              {
+                "type": "link",
+                "label": "Coindesk Bitcoin Price",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.coindesk",
+                "docId": "pe/org.apache.streampipes.connect.adapters.coindesk"
+              },
+              {
+                "type": "link",
+                "label": "File Stream",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.file",
+                "docId": "pe/org.apache.streampipes.connect.protocol.stream.file"
+              },
+              {
+                "type": "link",
+                "label": "File Set",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.protocol.set.file",
+                "docId": "pe/org.apache.streampipes.protocol.set.file"
+              },
+              {
+                "type": "link",
+                "label": "Flic MQTT",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt",
+                "docId": "pe/org.apache.streampipes.connect.adapters.flic.mqtt"
+              },
+              {
+                "type": "link",
+                "label": "GDELT",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.gdelt",
+                "docId": "pe/org.apache.streampipes.connect.adapters.gdelt"
+              },
+              {
+                "type": "link",
+                "label": "HTTP Server",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver",
+                "docId": "pe/org.apache.streampipes.connect.protocol.stream.httpserver"
+              },
+              {
+                "type": "link",
+                "label": "HTTP Set",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.protocol.set.http",
+                "docId": "pe/org.apache.streampipes.protocol.set.http"
+              },
+              {
+                "type": "link",
+                "label": "HTTP Stream",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.http",
+                "docId": "pe/org.apache.streampipes.connect.protocol.stream.http"
+              },
+              {
+                "type": "link",
+                "label": "IEX Cloud News",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iex.news",
+                "docId": "pe/org.apache.streampipes.connect.adapters.iex.news"
+              },
+              {
+                "type": "link",
+                "label": "IEX Cloud Stock Quotes",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iex.stocks",
+                "docId": "pe/org.apache.streampipes.connect.adapters.iex.stocks"
+              },
+              {
+                "type": "link",
+                "label": "ISS Location",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iss",
+                "docId": "pe/org.apache.streampipes.connect.adapters.iss"
+              },
+              {
+                "type": "link",
+                "label": "Image Upload (Set)",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.image.set",
+                "docId": "pe/org.apache.streampipes.connect.adapters.image.set"
+              },
+              {
+                "type": "link",
+                "label": "Image Upload (Stream)",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.image.stream",
+                "docId": "pe/org.apache.streampipes.connect.adapters.image.stream"
+              },
+              {
+                "type": "link",
+                "label": "InfluxDB Set Adapter",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.set",
+                "docId": "pe/org.apache.streampipes.connect.adapters.influxdb.set"
+              },
+              {
+                "type": "link",
+                "label": "InfluxDB Stream Adapter",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream",
+                "docId": "pe/org.apache.streampipes.connect.adapters.influxdb.stream"
+              },
+              {
+                "type": "link",
+                "label": "MQTT",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt",
+                "docId": "pe/org.apache.streampipes.connect.protocol.stream.mqtt"
+              },
+              {
+                "type": "link",
+                "label": "Machine Data Simulator",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.machine",
+                "docId": "pe/org.apache.streampipes.connect.adapters.simulator.machine"
+              },
+              {
+                "type": "link",
+                "label": "MySQL Set Adapter",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.set",
+                "docId": "pe/org.apache.streampipes.connect.adapters.mysql.set"
+              },
+              {
+                "type": "link",
+                "label": "MySql Stream Adapter",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.stream",
+                "docId": "pe/org.apache.streampipes.connect.adapters.mysql.stream"
+              },
+              {
+                "type": "link",
+                "label": "NETIO MQTT M2M",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt",
+                "docId": "pe/org.apache.streampipes.connect.adapters.netio.mqtt"
+              },
+              {
+                "type": "link",
+                "label": "NETIO http JSON",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.netio.rest",
+                "docId": "pe/org.apache.streampipes.connect.adapters.netio.rest"
+              },
+              {
+                "type": "link",
+                "label": "NSW Traffic Cameras",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
+                "docId": "pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera"
+              },
+              {
+                "type": "link",
+                "label": "OPC UA",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.opcua",
+                "docId": "pe/org.apache.streampipes.connect.adapters.opcua"
+              },
+              {
+                "type": "link",
+                "label": "PLC4X MODBUS",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus",
+                "docId": "pe/org.apache.streampipes.connect.adapters.plc4x.modbus"
+              },
+              {
+                "type": "link",
+                "label": "PLC4X S7",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7",
+                "docId": "pe/org.apache.streampipes.connect.adapters.plc4x.s7"
+              },
+              {
+                "type": "link",
+                "label": "ROS Bridge",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.ros",
+                "docId": "pe/org.apache.streampipes.connect.adapters.ros"
+              },
+              {
+                "type": "link",
+                "label": "Random Data Simulator (Set)",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
+                "docId": "pe/org.apache.streampipes.connect.adapters.simulator.randomdataset"
+              },
+              {
+                "type": "link",
+                "label": "Random Data Simulator (Stream)",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
+                "docId": "pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream"
+              },
+              {
+                "type": "link",
+                "label": "Slack",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.slack",
+                "docId": "pe/org.apache.streampipes.connect.adapters.slack"
+              },
+              {
+                "type": "link",
+                "label": "TI Sensor Tag",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.ti",
+                "docId": "pe/org.apache.streampipes.connect.adapters.ti"
+              },
+              {
+                "type": "link",
+                "label": "Wikipedia Edits",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
+                "docId": "pe/org.apache.streampipes.connect.adapters.wikipedia.edit"
+              },
+              {
+                "type": "link",
+                "label": "Wikipedia New Articles",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new",
+                "docId": "pe/org.apache.streampipes.connect.adapters.wikipedia.new"
+              }
+            ],
+            "collapsed": true,
+            "collapsible": true
+          },
+          {
+            "type": "category",
+            "label": "Data Processors",
+            "items": [
+              {
+                "type": "link",
+                "label": "Absence",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
+                "docId": "pe/org.apache.streampipes.processors.pattern-detection.flink.absence"
+              },
+              {
+                "type": "link",
+                "label": "Aggregation",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
+                "docId": "pe/org.apache.streampipes.processors.aggregation.flink.aggregation"
+              },
+              {
+                "type": "link",
+                "label": "And",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and",
+                "docId": "pe/org.apache.streampipes.processors.pattern-detection.flink.and"
+              },
+              {
+                "type": "link",
+                "label": "Boilerplate Removal",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
+                "docId": "pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate"
+              },
+              {
+                "type": "link",
+                "label": "Boolean Counter",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
+              },
+              {
+                "type": "link",
+                "label": "Boolean Inverter",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter"
+              },
+              {
+                "type": "link",
+                "label": "Boolean Timer",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer"
+              },
+              {
+                "type": "link",
+                "label": "Boolean To State",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state"
+              },
+              {
+                "type": "link",
+                "label": "CSV Metadata Enricher",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata"
+              },
+              {
+                "type": "link",
+                "label": "Calculate Duration",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.duration-value"
+              },
+              {
+                "type": "link",
+                "label": "Chunker (English)",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker",
+                "docId": "pe/org.apache.streampipes.processors.textmining.jvm.chunker"
+              },
+              {
+                "type": "link",
+                "label": "Compose",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.compose",
+                "docId": "pe/org.apache.streampipes.processors.filters.jvm.compose"
+              },
+              {
+                "type": "link",
+                "label": "Count Aggregation",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.count",
+                "docId": "pe/org.apache.streampipes.processors.aggregation.flink.count"
+              },
+              {
+                "type": "link",
+                "label": "Count Array",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.count-array"
+              },
+              {
+                "type": "link",
+                "label": "Creates JTS Point",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
+                "docId": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo"
+              },
+              {
+                "type": "link",
+                "label": "Cusum",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum",
+                "docId": "pe/org.apache.streampipes.processors.changedetection.jvm.cusum"
+              },
+              {
+                "type": "link",
+                "label": "Distance Calculator",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
+                "docId": "pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
+              },
+              {
+                "type": "link",
+                "label": "EPSG Code",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
+                "docId": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG"
+              },
+              {
+                "type": "link",
+                "label": "Event Counter",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
+                "docId": "pe/org.apache.streampipes.processors.aggregation.flink.eventcount"
+              },
+              {
+                "type": "link",
+                "label": "Event Rate",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.rate",
+                "docId": "pe/org.apache.streampipes.processors.aggregation.flink.rate"
+              },
+              {
+                "type": "link",
+                "label": "Field Converter",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter",
+                "docId": "pe/org.apache.streampipes.processors.transformation.flink.field-converter"
+              },
+              {
+                "type": "link",
+                "label": "Field Hasher",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
+                "docId": "pe/org.apache.streampipes.processors.transformation.flink.fieldhasher"
+              },
+              {
+                "type": "link",
+                "label": "Field Mapper",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
+                "docId": "pe/org.apache.streampipes.processors.transformation.flink.field-mapper"
+              },
+              {
+                "type": "link",
+                "label": "Field Renamer",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
+                "docId": "pe/org.apache.streampipes.processors.transformation.flink.field-renamer"
+              },
+              {
+                "type": "link",
+                "label": "Frequency Calculation",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.frequency",
+                "docId": "pe/org.apache.streampipes.processors.siddhi.frequency"
+              },
+              {
+                "type": "link",
+                "label": "Frequency Change",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.frequencychange",
+                "docId": "pe/org.apache.streampipes.processors.siddhi.frequencychange"
+              },
+              {
+                "type": "link",
+                "label": "Generic Image Classification",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
+                "docId": "pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
+              },
+              {
+                "type": "link",
+                "label": "Google Maps Geocoder",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding",
+                "docId": "pe/org.apache.streampipes.processor.geo.jvm.geocoding"
+              },
+              {
+                "type": "link",
+                "label": "Image Cropper",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
+                "docId": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper"
+              },
+              {
+                "type": "link",
+                "label": "Image Enricher",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
+                "docId": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
+              },
+              {
+                "type": "link",
+                "label": "Language Detection",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
+                "docId": "pe/org.apache.streampipes.processors.textmining.flink.languagedetection"
+              },
+              {
+                "type": "link",
+                "label": "Language Detection",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
+                "docId": "pe/org.apache.streampipes.processors.textmining.jvm.languagedetection"
+              },
+              {
+                "type": "link",
+                "label": "Math",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
+                "docId": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop"
+              },
+              {
+                "type": "link",
+                "label": "Measure Time Between Two Sensors",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping"
+              },
+              {
+                "type": "link",
+                "label": "Measurement Unit Converter",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
+                "docId": "pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
+              },
+              {
+                "type": "link",
+                "label": "Merge By Enrich",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.enrich",
+                "docId": "pe/org.apache.streampipes.processors.filters.jvm.enrich"
+              },
+              {
+                "type": "link",
+                "label": "Name Finder",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
+                "docId": "pe/org.apache.streampipes.processors.textmining.jvm.namefinder"
+              },
+              {
+                "type": "link",
+                "label": "Number Labeler",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number"
+              },
+              {
+                "type": "link",
+                "label": "Numerical Filter",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
+                "docId": "pe/org.apache.streampipes.processors.filters.jvm.numericalfilter"
+              },
+              {
+                "type": "link",
+                "label": "Numerical Filter (Siddhi)",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter",
+                "docId": "pe/org.apache.streampipes.processors.siddhi.numericalfilter"
+              },
+              {
+                "type": "link",
+                "label": "Numerical Text Filter",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
+                "docId": "pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter"
+              },
+              {
+                "type": "link",
+                "label": "Part of Speech (English)",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
+                "docId": "pe/org.apache.streampipes.processors.textmining.jvm.partofspeech"
+              },
+              {
+                "type": "link",
+                "label": "Peak Detection",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
+                "docId": "pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
+              },
+              {
+                "type": "link",
+                "label": "Projection",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.project",
+                "docId": "pe/org.apache.streampipes.processors.filters.jvm.project"
+              },
+              {
+                "type": "link",
+                "label": "QR Code Reader",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.qrcode",
+                "docId": "pe/org.apache.streampipes.processor.imageclassification.qrcode"
+              },
+              {
+                "type": "link",
+                "label": "Rate Limit",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.limit",
+                "docId": "pe/org.apache.streampipes.processors.filters.jvm.limit"
+              },
+              {
+                "type": "link",
+                "label": "Reverse Geocoder",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
+                "docId": "pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding"
+              },
+              {
+                "type": "link",
+                "label": "Sentence Detection (English)",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
+                "docId": "pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection"
+              },
+              {
+                "type": "link",
+                "label": "Sequence",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
+                "docId": "pe/org.apache.streampipes.processors.pattern-detection.flink.sequence"
+              },
+              {
+                "type": "link",
+                "label": "Sequence Detection",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.sequence",
+                "docId": "pe/org.apache.streampipes.processors.siddhi.sequence"
+              },
+              {
+                "type": "link",
+                "label": "Signal Edge Filter",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge"
+              },
+              {
+                "type": "link",
+                "label": "Single Trajectory Creator",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
+                "docId": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory"
+              },
+              {
+                "type": "link",
+                "label": "Size Measure",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
+                "docId": "pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure"
+              },
+              {
+                "type": "link",
+                "label": "Spatial Grid Enrichment",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.flink",
+                "docId": "pe/org.apache.streampipes.processor.geo.flink"
+              },
+              {
+                "type": "link",
+                "label": "Speed Calculator",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
+                "docId": "pe/org.apache.streampipes.processors.geo.jvm.processor.speed"
+              },
+              {
+                "type": "link",
+                "label": "Split Array",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.split-array"
+              },
+              {
+                "type": "link",
+                "label": "State Buffer",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer"
+              },
+              {
+                "type": "link",
+                "label": "State Buffer Labeler",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer"
+              },
+              {
+                "type": "link",
+                "label": "Static Distance Calculator",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
+                "docId": "pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator"
+              },
+              {
+                "type": "link",
+                "label": "Static Google Maps Geocoder",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
+                "docId": "pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding"
+              },
+              {
+                "type": "link",
+                "label": "Static Math",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
+                "docId": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop"
+              },
+              {
+                "type": "link",
+                "label": "Statistics Summary",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
+                "docId": "pe/org.apache.streampipes.processors.statistics.flink.statistics-summary"
+              },
+              {
+                "type": "link",
+                "label": "Stream Stop Detection",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.stop",
+                "docId": "pe/org.apache.streampipes.processors.siddhi.stop"
+              },
+              {
+                "type": "link",
+                "label": "String Counter",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter"
+              },
+              {
+                "type": "link",
+                "label": "String Timer",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer"
+              },
+              {
+                "type": "link",
+                "label": "String To State",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state"
+              },
+              {
+                "type": "link",
+                "label": "Synchronize Two Streams",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.merge",
+                "docId": "pe/org.apache.streampipes.processors.filters.jvm.merge"
+              },
+              {
+                "type": "link",
+                "label": "Task Duration",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.taskduration"
+              },
+              {
+                "type": "link",
+                "label": "Text Filter",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter",
+                "docId": "pe/org.apache.streampipes.processors.filters.jvm.textfilter"
+              },
+              {
+                "type": "link",
+                "label": "Threshold Detector",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.threshold",
+                "docId": "pe/org.apache.streampipes.processors.filters.jvm.threshold"
+              },
+              {
+                "type": "link",
+                "label": "Timestamp Enricher",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp",
+                "docId": "pe/org.apache.streampipes.processors.enricher.flink.timestamp"
+              },
+              {
+                "type": "link",
+                "label": "Timestamp Extractor",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor"
+              },
+              {
+                "type": "link",
+                "label": "Tokenizer (English)",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
+                "docId": "pe/org.apache.streampipes.processors.textmining.jvm.tokenizer"
+              },
+              {
+                "type": "link",
+                "label": "Transform to boolean",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean"
+              },
+              {
+                "type": "link",
+                "label": "Trend",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.increase",
+                "docId": "pe/org.apache.streampipes.processors.siddhi.increase"
+              },
+              {
+                "type": "link",
+                "label": "Trigonometry Functions",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
+                "docId": "pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry"
+              },
+              {
+                "type": "link",
+                "label": "URL Dereferencing",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
+                "docId": "pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing"
+              },
+              {
+                "type": "link",
+                "label": "Value Changed",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
+                "docId": "pe/org.apache.streampipes.processors.transformation.jvm.changed-value"
+              },
+              {
+                "type": "link",
+                "label": "Word Count",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount",
+                "docId": "pe/org.apache.streampipes.processors.textmining.flink.wordcount"
+              }
+            ],
+            "collapsed": true,
+            "collapsible": true
+          },
+          {
+            "type": "category",
+            "label": "Data Sinks",
+            "items": [
+              {
+                "type": "link",
+                "label": "Buffered REST Publisher",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
+                "docId": "pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest"
+              },
+              {
+                "type": "link",
+                "label": "CouchDB",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
+                "docId": "pe/org.apache.streampipes.sinks.databases.jvm.couchdb"
+              },
+              {
+                "type": "link",
+                "label": "Dashboard Sink",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
+                "docId": "pe/org.apache.streampipes.sinks.internal.jvm.dashboard"
+              },
+              {
+                "type": "link",
+                "label": "Data Lake",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake",
+                "docId": "pe/org.apache.streampipes.sinks.internal.jvm.datalake"
+              },
+              {
+                "type": "link",
+                "label": "Eclipse Ditto",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.ditto",
+                "docId": "pe/org.apache.streampipes.sinks.databases.ditto"
+              },
+              {
+                "type": "link",
+                "label": "Elasticsearch",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
+                "docId": "pe/org.apache.streampipes.sinks.databases.flink.elasticsearch"
+              },
+              {
+                "type": "link",
+                "label": "Email Notification",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.email",
+                "docId": "pe/org.apache.streampipes.sinks.notifications.jvm.email"
+              },
+              {
+                "type": "link",
+                "label": "InfluxDB",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
+                "docId": "pe/org.apache.streampipes.sinks.databases.jvm.influxdb"
+              },
+              {
+                "type": "link",
+                "label": "IoTDB",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
+                "docId": "pe/org.apache.streampipes.sinks.databases.jvm.iotdb"
+              },
+              {
+                "type": "link",
+                "label": "JMS Publisher",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms",
+                "docId": "pe/org.apache.streampipes.sinks.brokers.jvm.jms"
+              },
+              {
+                "type": "link",
+                "label": "Kafka Publisher",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
+                "docId": "pe/org.apache.streampipes.sinks.brokers.jvm.kafka"
+              },
+              {
+                "type": "link",
+                "label": "MySQL Database",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql",
+                "docId": "pe/org.apache.streampipes.sinks.databases.jvm.mysql"
+              },
+              {
+                "type": "link",
+                "label": "NATS Publisher",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats",
+                "docId": "pe/org.apache.streampipes.sinks.brokers.jvm.nats"
+              },
+              {
+                "type": "link",
+                "label": "Notification",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.notification",
+                "docId": "pe/org.apache.streampipes.sinks.internal.jvm.notification"
+              },
+              {
+                "type": "link",
+                "label": "OPC-UA",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua",
+                "docId": "pe/org.apache.streampipes.sinks.databases.jvm.opcua"
+              },
+              {
+                "type": "link",
+                "label": "OneSignal",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
+                "docId": "pe/org.apache.streampipes.sinks.notifications.jvm.onesignal"
+              },
+              {
+                "type": "link",
+                "label": "PostgreSQL",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
+                "docId": "pe/org.apache.streampipes.sinks.databases.jvm.postgresql"
+              },
+              {
+                "type": "link",
+                "label": "Pulsar Publisher",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
+                "docId": "pe/org.apache.streampipes.sinks.brokers.jvm.pulsar"
+              },
+              {
+                "type": "link",
+                "label": "REST Publisher",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest",
+                "docId": "pe/org.apache.streampipes.sinks.brokers.jvm.rest"
+              },
+              {
+                "type": "link",
+                "label": "RabbitMQ Publisher",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
+                "docId": "pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
+              },
+              {
+                "type": "link",
+                "label": "Slack Notification",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack",
+                "docId": "pe/org.apache.streampipes.sinks.notifications.jvm.slack"
+              },
+              {
+                "type": "link",
+                "label": "Telegram Publisher",
+                "href": "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram",
+                "docId": "pe/org.apache.streampipes.sinks.notifications.jvm.telegram"
+              }
+            ],
+            "collapsed": true,
+            "collapsible": true
+          }
+        ],
+        "collapsed": true,
+        "collapsible": true
+      },
+      {
+        "type": "category",
+        "label": "⚡ Deploy StreamPipes",
+        "items": [
+          {
+            "type": "link",
+            "label": "Docker Deployment",
+            "href": "/docs/0.91.0/deploy-docker",
+            "docId": "deploy-docker"
+          },
+          {
+            "type": "link",
+            "label": "Kubernetes Deployment",
+            "href": "/docs/0.91.0/deploy-kubernetes",
+            "docId": "deploy-kubernetes"
+          },
+          {
+            "type": "link",
+            "label": "Use SSL",
+            "href": "/docs/0.91.0/deploy-use-ssl",
+            "docId": "deploy-use-ssl"
+          },
+          {
+            "type": "link",
+            "label": "Security",
+            "href": "/docs/0.91.0/deploy-security",
+            "docId": "deploy-security"
+          }
+        ],
+        "collapsed": true,
+        "collapsible": true
+      },
+      {
+        "type": "category",
+        "label": "💻 Extend StreamPipes",
+        "items": [
+          {
+            "type": "link",
+            "label": "Development Setup",
+            "href": "/docs/0.91.0/extend-setup",
+            "docId": "extend-setup"
+          },
+          {
+            "type": "link",
+            "label": "StreamPipes CLI",
+            "href": "/docs/0.91.0/extend-cli",
+            "docId": "extend-cli"
+          },
+          {
+            "type": "link",
+            "label": "Maven Archetypes",
+            "href": "/docs/0.91.0/extend-archetypes",
+            "docId": "extend-archetypes"
+          },
+          {
+            "type": "link",
+            "label": "Your first data processor",
+            "href": "/docs/0.91.0/extend-first-processor",
+            "docId": "extend-first-processor"
+          },
+          {
+            "type": "link",
+            "label": "Tutorial: Data Sources",
+            "href": "/docs/0.91.0/extend-tutorial-data-sources",
+            "docId": "extend-tutorial-data-sources"
+          },
+          {
+            "type": "link",
+            "label": "Tutorial: Data Processors",
+            "href": "/docs/0.91.0/extend-tutorial-data-processors",
+            "docId": "extend-tutorial-data-processors"
+          },
+          {
+            "type": "link",
+            "label": "Tutorial: Data Sinks",
+            "href": "/docs/0.91.0/extend-tutorial-data-sinks",
+            "docId": "extend-tutorial-data-sinks"
+          },
+          {
+            "type": "link",
+            "label": "SDK: Functions",
+            "href": "/docs/0.91.0/extend-sdk-functions",
+            "docId": "extend-sdk-functions"
+          },
+          {
+            "type": "link",
+            "label": "SDK: Event Model",
+            "href": "/docs/0.91.0/extend-sdk-event-model",
+            "docId": "extend-sdk-event-model"
+          },
+          {
+            "type": "link",
+            "label": "SDK: Stream Requirements",
+            "href": "/docs/0.91.0/extend-sdk-stream-requirements",
+            "docId": "extend-sdk-stream-requirements"
+          },
+          {
+            "type": "link",
+            "label": "SDK: Static Properties",
+            "href": "/docs/0.91.0/extend-sdk-static-properties",
+            "docId": "extend-sdk-static-properties"
+          },
+          {
+            "type": "link",
+            "label": "SDK: Output Strategies",
+            "href": "/docs/0.91.0/extend-sdk-output-strategies",
+            "docId": "extend-sdk-output-strategies"
+          },
+          {
+            "type": "link",
+            "label": "Migration Guide: 0.69.0",
+            "href": "/docs/0.91.0/extend-sdk-migration-service-discovery",
+            "docId": "extend-sdk-migration-service-discovery"
+          }
+        ],
+        "collapsed": true,
+        "collapsible": true
+      },
+      {
+        "type": "category",
+        "label": "🔧 Technicals",
+        "items": [
+          {
+            "type": "link",
+            "label": "Architecture",
+            "href": "/docs/0.91.0/technicals-architecture",
+            "docId": "technicals-architecture"
+          },
+          {
+            "type": "link",
+            "label": "User Guidance",
+            "href": "/docs/0.91.0/technicals-user-guidance",
+            "docId": "technicals-user-guidance"
+          },
+          {
+            "type": "link",
+            "label": "Runtime Wrappers",
+            "href": "/docs/0.91.0/technicals-runtime-wrappers",
+            "docId": "technicals-runtime-wrappers"
+          },
+          {
+            "type": "link",
+            "label": "Messaging",
+            "href": "/docs/0.91.0/technicals-messaging",
+            "docId": "technicals-messaging"
+          },
+          {
+            "type": "link",
+            "label": "Configuration",
+            "href": "/docs/0.91.0/technicals-configuration",
+            "docId": "technicals-configuration"
+          }
+        ],
+        "collapsed": true,
+        "collapsible": true
+      },
+      {
+        "type": "category",
+        "label": "👪 Community",
+        "items": [
+          {
+            "type": "link",
+            "label": "Get Help",
+            "href": "/docs/0.91.0/community-get-help",
+            "docId": "community-get-help"
+          },
+          {
+            "type": "link",
+            "label": "Contribute",
+            "href": "/docs/0.91.0/community-contribute",
+            "docId": "community-contribute"
+          }
+        ],
+        "collapsed": true,
+        "collapsible": true
+      }
+    ],
+    "faq": [
+      {
+        "type": "category",
+        "label": "FAQ",
+        "items": [
+          {
+            "type": "link",
+            "label": "Common Problems",
+            "href": "/docs/0.91.0/faq-common-problems",
+            "docId": "faq-common-problems"
+          }
+        ],
+        "collapsed": true,
+        "collapsible": true
+      }
+    ]
+  },
   "docs": {
+    "community-contribute": {
+      "id": "community-contribute",
+      "title": "Contribute",
+      "description": "Contribute",
+      "sidebar": "documentation"
+    },
+    "community-get-help": {
+      "id": "community-get-help",
+      "title": "Get Help",
+      "description": "The Apache StreamPipes community is happy to help with any questions or problems you might have.",
+      "sidebar": "documentation"
+    },
+    "concepts-adapter": {
+      "id": "concepts-adapter",
+      "title": "Data Adapters",
+      "description": "tbd"
+    },
+    "concepts-data-streams": {
+      "id": "concepts-data-streams",
+      "title": "Data Streams",
+      "description": "tbd"
+    },
+    "concepts-glossary": {
+      "id": "concepts-glossary",
+      "title": "Glossary",
+      "description": "tbd"
+    },
+    "concepts-overview": {
+      "id": "concepts-overview",
+      "title": "StreamPipes Concepts",
+      "description": "To understand how StreamPipes works, the knowledge of a few core concepts, illustrated below, will be helpful.",
+      "sidebar": "documentation"
+    },
+    "concepts-pipelines": {
+      "id": "concepts-pipelines",
+      "title": "Pipelines",
+      "description": "tbd"
+    },
+    "debugging-debugging": {
+      "id": "debugging-debugging",
+      "title": "Debugging",
+      "description": "tbd"
+    },
+    "debugging-monitoring": {
+      "id": "debugging-monitoring",
+      "title": "Monitoring",
+      "description": "tbd"
+    },
+    "deploy-docker": {
+      "id": "deploy-docker",
+      "title": "Docker Deployment",
+      "description": "StreamPipes Compose is a simple collection of user-friendly docker-compose files that easily lets gain first-hand experience with Apache StreamPipes.",
+      "sidebar": "documentation"
+    },
+    "deploy-kubernetes": {
+      "id": "deploy-kubernetes",
+      "title": "Kubernetes Deployment",
+      "description": "Prerequisites",
+      "sidebar": "documentation"
+    },
+    "deploy-security": {
+      "id": "deploy-security",
+      "title": "Security",
+      "description": "Overriding default settings",
+      "sidebar": "documentation"
+    },
+    "deploy-use-ssl": {
+      "id": "deploy-use-ssl",
+      "title": "Use SSL",
+      "description": "This page explains how SSL Certificates can be used to provide transport layer security between your Browser and the Streampipes Backend.",
+      "sidebar": "documentation"
+    },
+    "dev-guide-archetype": {
+      "id": "dev-guide-archetype",
+      "title": "Start Developing",
+      "description": ""
+    },
+    "dev-guide-sdk-guide-processors": {
+      "id": "dev-guide-sdk-guide-processors",
+      "title": "SDK Guide: Data Processors",
+      "description": "Project Setup"
+    },
+    "dev-guide-sdk-guide-sinks": {
+      "id": "dev-guide-sdk-guide-sinks",
+      "title": "SDK Guide: Data Sinks",
+      "description": "Project Setup"
+    },
+    "extend-archetypes": {
+      "id": "extend-archetypes",
+      "title": "Maven Archetypes",
+      "description": "In this tutorial we explain how you can use the Maven archetypes to develop your own StreamPipes processors and sinks.",
+      "sidebar": "documentation"
+    },
+    "extend-cli": {
+      "id": "extend-cli",
+      "title": "StreamPipes CLI",
+      "description": "The StreamPipes command-line interface (CLI) is focused on developers in order to provide an easy entrypoint to set up a suitable dev environment, either planning on developing",
+      "sidebar": "documentation"
+    },
+    "extend-first-processor": {
+      "id": "extend-first-processor",
+      "title": "Your first data processor",
+      "description": "In this section, we will explain how to start a pipeline element service and install it using the StreamPipes UI.",
+      "sidebar": "documentation"
+    },
+    "extend-sdk-event-model": {
+      "id": "extend-sdk-event-model",
+      "title": "SDK Guide: Event Model",
+      "description": "Introduction",
+      "sidebar": "documentation"
+    },
+    "extend-sdk-functions": {
+      "id": "extend-sdk-functions",
+      "title": "SDK Guide: Functions",
+      "description": "Introduction",
+      "sidebar": "documentation"
+    },
+    "extend-sdk-migration-service-discovery": {
+      "id": "extend-sdk-migration-service-discovery",
+      "title": "Migration Guide: New Service Discovery in 0.69.0",
+      "description": "Introduction",
+      "sidebar": "documentation"
+    },
+    "extend-sdk-output-strategies": {
+      "id": "extend-sdk-output-strategies",
+      "title": "SDK Guide: Output Strategies",
+      "description": "Introduction",
+      "sidebar": "documentation"
+    },
+    "extend-sdk-static-properties": {
+      "id": "extend-sdk-static-properties",
+      "title": "SDK Guide: Static Properties",
+      "description": "Introduction",
+      "sidebar": "documentation"
+    },
+    "extend-sdk-stream-requirements": {
+      "id": "extend-sdk-stream-requirements",
+      "title": "SDK Guide: Stream Requirements",
+      "description": "Introduction",
+      "sidebar": "documentation"
+    },
     "extend-setup": {
       "id": "extend-setup",
       "title": "Development Setup",
-      "description": "Pipeline elements in StreamPipes are provided as standalone microservices. New pipeline elements can be easily developed using the provided Maven archetypes and can be installed in StreamPipes at runtime."
+      "description": "Pipeline elements in StreamPipes are provided as standalone microservices. New pipeline elements can be easily developed using the provided Maven archetypes and can be installed in StreamPipes at runtime.",
+      "sidebar": "documentation"
+    },
+    "extend-tutorial-data-processors": {
+      "id": "extend-tutorial-data-processors",
+      "title": "Tutorial: Data Processors",
+      "description": "In this tutorial, we will add a new data processor.",
+      "sidebar": "documentation"
+    },
+    "extend-tutorial-data-sinks": {
+      "id": "extend-tutorial-data-sinks",
+      "title": "Tutorial: Data Sinks",
+      "description": "In this tutorial, we will add a new data sink using the standalone wrapper.",
+      "sidebar": "documentation"
+    },
+    "extend-tutorial-data-sources": {
+      "id": "extend-tutorial-data-sources",
+      "title": "Tutorial: Data Sources",
+      "description": "In this tutorial, we will add a new data source consisting of a single data stream. The source will be provided as a standalone component (i.e., the description will be accessible through an integrated web server).",
+      "sidebar": "documentation"
+    },
+    "faq-common-problems": {
+      "id": "faq-common-problems",
+      "title": "Common Problems",
+      "description": "* Windows 10: Consul, Kafka, Zookeeper, or Kafka-Rest did not start",
+      "sidebar": "faq"
+    },
+    "pe/org.apache.streampipes.connect.adapters.coindesk": {
+      "id": "pe/org.apache.streampipes.connect.adapters.coindesk",
+      "title": "Coindesk Bitcoin Price",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.connect.adapters.flic.mqtt": {
       "id": "pe/org.apache.streampipes.connect.adapters.flic.mqtt",
       "title": "Flic MQTT",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.gdelt": {
+      "id": "pe/org.apache.streampipes.connect.adapters.gdelt",
+      "title": "GDELT",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.iex.news": {
+      "id": "pe/org.apache.streampipes.connect.adapters.iex.news",
+      "title": "IEX Cloud News",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.iex.stocks": {
+      "id": "pe/org.apache.streampipes.connect.adapters.iex.stocks",
+      "title": "IEX Cloud Stock Quotes",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.image.set": {
+      "id": "pe/org.apache.streampipes.connect.adapters.image.set",
+      "title": "Image Upload (Set)",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.image.stream": {
+      "id": "pe/org.apache.streampipes.connect.adapters.image.stream",
+      "title": "Image Upload (Stream)",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.influxdb.set": {
+      "id": "pe/org.apache.streampipes.connect.adapters.influxdb.set",
+      "title": "InfluxDB Set Adapter",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.influxdb.stream": {
+      "id": "pe/org.apache.streampipes.connect.adapters.influxdb.stream",
+      "title": "InfluxDB Stream Adapter",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.iss": {
+      "id": "pe/org.apache.streampipes.connect.adapters.iss",
+      "title": "ISS Location",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.mysql.set": {
+      "id": "pe/org.apache.streampipes.connect.adapters.mysql.set",
+      "title": "MySQL Set Adapter",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.mysql.stream": {
+      "id": "pe/org.apache.streampipes.connect.adapters.mysql.stream",
+      "title": "MySql Stream Adapter",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.netio.mqtt": {
+      "id": "pe/org.apache.streampipes.connect.adapters.netio.mqtt",
+      "title": "NETIO MQTT M2M",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.netio.rest": {
+      "id": "pe/org.apache.streampipes.connect.adapters.netio.rest",
+      "title": "NETIO http JSON",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera": {
+      "id": "pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
+      "title": "NSW Traffic Cameras",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.connect.adapters.opcua": {
       "id": "pe/org.apache.streampipes.connect.adapters.opcua",
       "title": "OPC UA",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.connect.adapters.plc4x.modbus": {
       "id": "pe/org.apache.streampipes.connect.adapters.plc4x.modbus",
       "title": "PLC4X MODBUS",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.plc4x.s7": {
+      "id": "pe/org.apache.streampipes.connect.adapters.plc4x.s7",
+      "title": "PLC4X S7",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.ros": {
+      "id": "pe/org.apache.streampipes.connect.adapters.ros",
+      "title": "ROS Bridge",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.connect.adapters.simulator.machine": {
       "id": "pe/org.apache.streampipes.connect.adapters.simulator.machine",
       "title": "Machine Data Simulator",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.simulator.randomdataset": {
+      "id": "pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
+      "title": "Random Data Simulator (Set)",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream": {
+      "id": "pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
+      "title": "Random Data Simulator (Stream)",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.slack": {
+      "id": "pe/org.apache.streampipes.connect.adapters.slack",
+      "title": "Slack",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.ti": {
+      "id": "pe/org.apache.streampipes.connect.adapters.ti",
+      "title": "TI Sensor Tag",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.wikipedia.edit": {
+      "id": "pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
+      "title": "Wikipedia Edits",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.adapters.wikipedia.new": {
+      "id": "pe/org.apache.streampipes.connect.adapters.wikipedia.new",
+      "title": "Wikipedia New Articles",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.protocol.stream.file": {
+      "id": "pe/org.apache.streampipes.connect.protocol.stream.file",
+      "title": "File Stream",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.protocol.stream.http": {
+      "id": "pe/org.apache.streampipes.connect.protocol.stream.http",
+      "title": "HTTP Stream",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.connect.protocol.stream.httpserver": {
       "id": "pe/org.apache.streampipes.connect.protocol.stream.httpserver",
       "title": "HTTP Server",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.protocol.stream.kafka": {
+      "id": "pe/org.apache.streampipes.connect.protocol.stream.kafka",
+      "title": "Apache Kafka",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.protocol.stream.mqtt": {
+      "id": "pe/org.apache.streampipes.connect.protocol.stream.mqtt",
+      "title": "MQTT",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.connect.protocol.stream.pulsar": {
+      "id": "pe/org.apache.streampipes.connect.protocol.stream.pulsar",
+      "title": "Apache Pulsar",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processor.geo.flink": {
+      "id": "pe/org.apache.streampipes.processor.geo.flink",
+      "title": "Spatial Grid Enrichment",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processor.geo.jvm.geocoding": {
       "id": "pe/org.apache.streampipes.processor.geo.jvm.geocoding",
       "title": "Google Maps Geocoder",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding": {
       "id": "pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
       "title": "Reverse Geocoder",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding": {
       "id": "pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
       "title": "Static Google Maps Geocoder",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification": {
       "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
       "title": "Generic Image Classification",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper": {
+      "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
+      "title": "Image Cropper",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher": {
       "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
       "title": "Image Enricher",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processor.imageclassification.qrcode": {
       "id": "pe/org.apache.streampipes.processor.imageclassification.qrcode",
       "title": "QR Code Reader",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.aggregation.flink.aggregation": {
       "id": "pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
       "title": "Aggregation",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.aggregation.flink.count": {
       "id": "pe/org.apache.streampipes.processors.aggregation.flink.count",
       "title": "Count Aggregation",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.aggregation.flink.eventcount": {
       "id": "pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
       "title": "Event Counter",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.aggregation.flink.rate": {
       "id": "pe/org.apache.streampipes.processors.aggregation.flink.rate",
       "title": "Event Rate",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.changedetection.jvm.cusum": {
       "id": "pe/org.apache.streampipes.processors.changedetection.jvm.cusum",
       "title": "Cusum",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop": {
+      "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
+      "title": "Math",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop": {
+      "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
+      "title": "Static Math",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry": {
+      "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
+      "title": "Trigonometry Functions",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing": {
+      "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
+      "title": "URL Dereferencing",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.enricher.flink.timestamp": {
+      "id": "pe/org.apache.streampipes.processors.enricher.flink.timestamp",
+      "title": "Timestamp Enricher",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure": {
+      "id": "pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
+      "title": "Size Measure",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.filters.jvm.compose": {
+      "id": "pe/org.apache.streampipes.processors.filters.jvm.compose",
+      "title": "Compose",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.filters.jvm.enrich": {
+      "id": "pe/org.apache.streampipes.processors.filters.jvm.enrich",
+      "title": "Merge By Enrich",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.filters.jvm.limit": {
       "id": "pe/org.apache.streampipes.processors.filters.jvm.limit",
       "title": "Rate Limit",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.filters.jvm.merge": {
       "id": "pe/org.apache.streampipes.processors.filters.jvm.merge",
       "title": "Synchronize Two Streams",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.filters.jvm.numericalfilter": {
+      "id": "pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
+      "title": "Numerical Filter",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter": {
+      "id": "pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
+      "title": "Numerical Text Filter",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.filters.jvm.project": {
+      "id": "pe/org.apache.streampipes.processors.filters.jvm.project",
+      "title": "Projection",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.filters.jvm.textfilter": {
+      "id": "pe/org.apache.streampipes.processors.filters.jvm.textfilter",
+      "title": "Text Filter",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.filters.jvm.threshold": {
+      "id": "pe/org.apache.streampipes.processors.filters.jvm.threshold",
+      "title": "Threshold Detector",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo": {
+      "id": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
+      "title": "Creates JTS Point",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG": {
+      "id": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
+      "title": "EPSG Code",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory": {
+      "id": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
+      "title": "Single Trajectory Creator",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator": {
       "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
       "title": "Distance Calculator",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.geo.jvm.processor.speed": {
+      "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
+      "title": "Speed Calculator",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator": {
       "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
       "title": "Static Distance Calculator",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.pattern-detection.flink.absence": {
       "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
       "title": "Absence",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.pattern-detection.flink.and": {
       "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.and",
       "title": "And",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection": {
       "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
       "title": "Peak Detection",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.pattern-detection.flink.sequence": {
       "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
       "title": "Sequence",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.siddhi.frequency": {
       "id": "pe/org.apache.streampipes.processors.siddhi.frequency",
       "title": "Frequency Calculation",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.siddhi.frequencychange": {
       "id": "pe/org.apache.streampipes.processors.siddhi.frequencychange",
       "title": "Frequency Change",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.siddhi.increase": {
       "id": "pe/org.apache.streampipes.processors.siddhi.increase",
       "title": "Trend",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.siddhi.numericalfilter": {
       "id": "pe/org.apache.streampipes.processors.siddhi.numericalfilter",
       "title": "Numerical Filter (Siddhi)",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.siddhi.sequence": {
+      "id": "pe/org.apache.streampipes.processors.siddhi.sequence",
+      "title": "Sequence Detection",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.siddhi.stop": {
       "id": "pe/org.apache.streampipes.processors.siddhi.stop",
       "title": "Stream Stop Detection",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.statistics.flink.statistics-summary": {
+      "id": "pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
+      "title": "Statistics Summary",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.textmining.flink.languagedetection": {
       "id": "pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
       "title": "Language Detection",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.textmining.flink.wordcount": {
       "id": "pe/org.apache.streampipes.processors.textmining.flink.wordcount",
       "title": "Word Count",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.textmining.jvm.chunker": {
+      "id": "pe/org.apache.streampipes.processors.textmining.jvm.chunker",
+      "title": "Chunker (English)",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.textmining.jvm.languagedetection": {
+      "id": "pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
+      "title": "Language Detection",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.textmining.jvm.namefinder": {
+      "id": "pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
+      "title": "Name Finder",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.textmining.jvm.partofspeech": {
+      "id": "pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
+      "title": "Part of Speech (English)",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection": {
+      "id": "pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
+      "title": "Sentence Detection (English)",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.textmining.jvm.tokenizer": {
+      "id": "pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
+      "title": "Tokenizer (English)",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.transformation.flink.field-converter": {
       "id": "pe/org.apache.streampipes.processors.transformation.flink.field-converter",
       "title": "Field Converter",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.transformation.flink.field-mapper": {
+      "id": "pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
+      "title": "Field Mapper",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.transformation.flink.field-renamer": {
       "id": "pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
       "title": "Field Renamer",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.transformation.flink.fieldhasher": {
       "id": "pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
       "title": "Field Hasher",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter": {
       "id": "pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
       "title": "Measurement Unit Converter",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate": {
+      "id": "pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
+      "title": "Boilerplate Removal",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter": {
       "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
       "title": "Boolean Counter",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter": {
+      "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
+      "title": "Boolean Inverter",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping": {
+      "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
+      "title": "Measure Time Between Two Sensors",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer": {
+      "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
+      "title": "Boolean Timer",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.transformation.jvm.changed-value": {
+      "id": "pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
+      "title": "Value Changed",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.transformation.jvm.count-array": {
+      "id": "pe/org.apache.streampipes.processors.transformation.jvm.count-array",
+      "title": "Count Array",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata": {
+      "id": "pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
+      "title": "CSV Metadata Enricher",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.transformation.jvm.duration-value": {
+      "id": "pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
+      "title": "Calculate Duration",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge": {
       "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
       "title": "Signal Edge Filter",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state": {
       "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state",
       "title": "Boolean To State",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer": {
       "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer",
       "title": "State Buffer",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer": {
       "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer",
       "title": "State Buffer Labeler",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number": {
       "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number",
       "title": "Number Labeler",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state": {
       "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state",
       "title": "String To State",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor": {
+      "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
+      "title": "Timestamp Extractor",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.transformation.jvm.split-array": {
       "id": "pe/org.apache.streampipes.processors.transformation.jvm.split-array",
       "title": "Split Array",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter": {
+      "id": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
+      "title": "String Counter",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer": {
       "id": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
       "title": "String Timer",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.transformation.jvm.taskduration": {
+      "id": "pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
+      "title": "Task Duration",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean": {
+      "id": "pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
+      "title": "Transform to boolean",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.protocol.set.file": {
+      "id": "pe/org.apache.streampipes.protocol.set.file",
+      "title": "File Set",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.protocol.set.http": {
+      "id": "pe/org.apache.streampipes.protocol.set.http",
+      "title": "HTTP Set",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest": {
+      "id": "pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
+      "title": "Buffered REST Publisher",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.sinks.brokers.jvm.jms": {
+      "id": "pe/org.apache.streampipes.sinks.brokers.jvm.jms",
+      "title": "JMS Publisher",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.sinks.brokers.jvm.kafka": {
+      "id": "pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
+      "title": "Kafka Publisher",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.sinks.brokers.jvm.mqtt": {
+      "id": "pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
+      "title": "MQTT Publisher",
       "description": "<!--"
     },
     "pe/org.apache.streampipes.sinks.brokers.jvm.nats": {
       "id": "pe/org.apache.streampipes.sinks.brokers.jvm.nats",
       "title": "NATS Publisher",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.sinks.brokers.jvm.pulsar": {
+      "id": "pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
+      "title": "Pulsar Publisher",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq": {
       "id": "pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
       "title": "RabbitMQ Publisher",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.sinks.brokers.jvm.rest": {
+      "id": "pe/org.apache.streampipes.sinks.brokers.jvm.rest",
+      "title": "REST Publisher",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.sinks.databases.ditto": {
       "id": "pe/org.apache.streampipes.sinks.databases.ditto",
       "title": "Eclipse Ditto",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.sinks.databases.flink.elasticsearch": {
+      "id": "pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
+      "title": "Elasticsearch",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.sinks.databases.jvm.couchdb": {
+      "id": "pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
+      "title": "CouchDB",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.sinks.databases.jvm.influxdb": {
+      "id": "pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
+      "title": "InfluxDB",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.sinks.databases.jvm.iotdb": {
+      "id": "pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
+      "title": "IoTDB",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.sinks.databases.jvm.mysql": {
       "id": "pe/org.apache.streampipes.sinks.databases.jvm.mysql",
       "title": "MySQL Database",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.sinks.databases.jvm.opcua": {
+      "id": "pe/org.apache.streampipes.sinks.databases.jvm.opcua",
+      "title": "OPC-UA",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.sinks.databases.jvm.postgresql": {
+      "id": "pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
+      "title": "PostgreSQL",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.sinks.internal.jvm.dashboard": {
+      "id": "pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
+      "title": "Dashboard Sink",
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.sinks.internal.jvm.datalake": {
+      "id": "pe/org.apache.streampipes.sinks.internal.jvm.datalake",
+      "title": "Data Lake",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.sinks.internal.jvm.notification": {
       "id": "pe/org.apache.streampipes.sinks.internal.jvm.notification",
       "title": "Notification",
-      "description": "<!--"
+      "description": "<!--",
+      "sidebar": "documentation"
+    },
+    "pe/org.apache.streampipes.sinks.notifications.jvm.email": {
+      "id": "pe/org.apache.streampipes.sinks.notifications.jvm.email",
+      "title": "Email Notification",
+      "description": "<!--",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.sinks.notifications.jvm.onesignal": {
       "id": "pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
       "title": "OneSignal",
-      "description": "~ Licensed to the Apache Software Foundation (ASF) under one or more"
+      "description": "~ Licensed to the Apache Software Foundation (ASF) under one or more",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.sinks.notifications.jvm.slack": {
       "id": "pe/org.apache.streampipes.sinks.notifications.jvm.slack",
       "title": "Slack Notification",
-      "description": "~ Licensed to the Apache Software Foundation (ASF) under one or more"
+      "description": "~ Licensed to the Apache Software Foundation (ASF) under one or more",
+      "sidebar": "documentation"
     },
     "pe/org.apache.streampipes.sinks.notifications.jvm.telegram": {
       "id": "pe/org.apache.streampipes.sinks.notifications.jvm.telegram",
       "title": "Telegram Publisher",
-      "description": "~ Licensed to the Apache Software Foundation (ASF) under one or more"
+      "description": "~ Licensed to the Apache Software Foundation (ASF) under one or more",
+      "sidebar": "documentation"
     },
     "privacy": {
       "id": "privacy",
       "title": "Datenschutzerklärung",
       "description": "Verantwortliche Stelle"
     },
+    "technicals-architecture": {
+      "id": "technicals-architecture",
+      "title": "Architecture",
+      "description": "The following picture illustrates the high-level architecture of StreamPipes:",
+      "sidebar": "documentation"
+    },
+    "technicals-configuration": {
+      "id": "technicals-configuration",
+      "title": "Configuration",
+      "description": "On this page we explain how the StreamPipes configuration works.",
+      "sidebar": "documentation"
+    },
+    "technicals-messaging": {
+      "id": "technicals-messaging",
+      "title": "Messaging",
+      "description": "tbd",
+      "sidebar": "documentation"
+    },
+    "technicals-runtime-wrappers": {
+      "id": "technicals-runtime-wrappers",
+      "title": "Runtime Wrappers",
+      "description": "tbd",
+      "sidebar": "documentation"
+    },
+    "technicals-user-guidance": {
+      "id": "technicals-user-guidance",
+      "title": "User Guidance",
+      "description": "tbd",
+      "sidebar": "documentation"
+    },
     "try-installation": {
       "id": "try-installation",
       "title": "Installation",
-      "description": "The easiest way to install StreamPipes is our Docker-based installation. For production-grade deployments, we also"
+      "description": "The easiest way to install StreamPipes is our Docker-based installation. For production-grade deployments, we also",
+      "sidebar": "documentation"
+    },
+    "try-tutorial": {
+      "id": "try-tutorial",
+      "title": "Interactive Tutorial",
+      "description": "Once you've installed StreamPipes and see the home screen, you'll see a number of modules that are part of the StreamPipes toolbox."
+    },
+    "use-configurations": {
+      "id": "use-configurations",
+      "title": "Configurations",
+      "description": "The configuration section is an admin-only interface for system-wide settings.",
+      "sidebar": "documentation"
+    },
+    "use-connect": {
+      "id": "use-connect",
+      "title": "StreamPipes Connect",
+      "description": "StreamPipes Connect is the module to connect external data sources with Apache StreamPipes directly from the user interface.",
+      "sidebar": "documentation"
+    },
+    "use-dashboard": {
+      "id": "use-dashboard",
+      "title": "Live Dashboard",
+      "description": "The live dashboard can be used to visualize live data of data streams using a set of visualizations",
+      "sidebar": "documentation"
+    },
+    "use-data-explorer": {
+      "id": "use-data-explorer",
+      "title": "Data Explorer",
+      "description": "The data explorer can be used to visualize and explore data streams that are persisted by using the Data Lake sink.",
+      "sidebar": "documentation"
+    },
+    "use-install-pipeline-elements": {
+      "id": "use-install-pipeline-elements",
+      "title": "Install Pipeline Elements",
+      "description": "Install Pipeline Elements",
+      "sidebar": "documentation"
+    },
+    "use-managing-pipelines": {
+      "id": "use-managing-pipelines",
+      "title": "Managing Pipelines",
+      "description": "The pipeline view lists all created pipelines and provides several views and actions to manage the lifecycle of pipelines.",
+      "sidebar": "documentation"
+    },
+    "use-notifications": {
+      "id": "use-notifications",
+      "title": "Notifications",
+      "description": "The notification module can be used to create internal notifications.",
+      "sidebar": "documentation"
+    },
+    "use-pipeline-editor": {
+      "id": "use-pipeline-editor",
+      "title": "Pipeline Editor",
+      "description": "The pipeline editor module supports building pipelines that transform a data stream using a set of resuable data processors and data sinks.",
+      "sidebar": "documentation"
     },
     "user-guide-first-steps": {
       "id": "user-guide-first-steps",
@@ -297,7 +2229,8 @@
     "user-guide-introduction": {
       "id": "user-guide-introduction",
       "title": "Apache StreamPipes Documentation",
-      "description": "This is the documentation of Apache StreamPipes."
+      "description": "This is the documentation of Apache StreamPipes.",
+      "sidebar": "documentation"
     },
     "user-guide-introduction-old": {
       "id": "user-guide-introduction-old",
diff --git a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/version-0-92-0-metadata-prop-304.json b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/version-0-92-0-metadata-prop-304.json
index acfee85..7be3c70 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/version-0-92-0-metadata-prop-304.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-content-docs/default/version-0-92-0-metadata-prop-304.json
@@ -1219,11 +1219,26 @@
       "description": "This page explains how SSL Certificates can be used to provide transport layer security between your Browser and the Streampipes Backend.",
       "sidebar": "documentation"
     },
+    "dev-guide-archetype": {
+      "id": "dev-guide-archetype",
+      "title": "Start Developing",
+      "description": ""
+    },
     "dev-guide-introduction": {
       "id": "dev-guide-introduction",
       "title": "Introduction",
       "description": "StreamPipes is an open platform which can be easily extended at runtime by adding new data streams, data processors and data sinks."
     },
+    "dev-guide-sdk-guide-processors": {
+      "id": "dev-guide-sdk-guide-processors",
+      "title": "SDK Guide: Data Processors",
+      "description": "Project Setup"
+    },
+    "dev-guide-sdk-guide-sinks": {
+      "id": "dev-guide-sdk-guide-sinks",
+      "title": "SDK Guide: Data Sinks",
+      "description": "Project Setup"
+    },
     "extend-archetypes": {
       "id": "extend-archetypes",
       "title": "Maven Archetypes",
@@ -2015,6 +2030,11 @@
       "description": "<!--",
       "sidebar": "documentation"
     },
+    "pe/org.apache.streampipes.sinks.brokers.jvm.mqtt": {
+      "id": "pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
+      "title": "MQTT Publisher",
+      "description": "<!--"
+    },
     "pe/org.apache.streampipes.sinks.brokers.jvm.nats": {
       "id": "pe/org.apache.streampipes.sinks.brokers.jvm.nats",
       "title": "NATS Publisher",
diff --git a/website-v2/.docusaurus/docusaurus-plugin-debug/default/docusaurus-debug-all-content-673.json b/website-v2/.docusaurus/docusaurus-plugin-debug/default/docusaurus-debug-all-content-673.json
index faadc39..2de3f80 100644
--- a/website-v2/.docusaurus/docusaurus-plugin-debug/default/docusaurus-debug-all-content-673.json
+++ b/website-v2/.docusaurus/docusaurus-plugin-debug/default/docusaurus-debug-all-content-673.json
@@ -6683,6 +6683,28 @@
               }
             },
             {
+              "unversionedId": "dev-guide-archetype",
+              "id": "version-0.92.0/dev-guide-archetype",
+              "title": "Start Developing",
+              "description": "",
+              "source": "@site/versioned_docs/version-0.92.0/dev-guide-archetype.md",
+              "sourceDirName": ".",
+              "slug": "/dev-guide-archetype",
+              "permalink": "/docs/dev-guide-archetype",
+              "draft": false,
+              "tags": [],
+              "version": "0.92.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "dev-guide-archetype",
+                "title": "Start Developing",
+                "sidebar_label": "Start Developing",
+                "original_id": "dev-guide-archetype"
+              }
+            },
+            {
               "unversionedId": "dev-guide-introduction",
               "id": "version-0.92.0/dev-guide-introduction",
               "title": "Introduction",
@@ -6704,6 +6726,50 @@
               }
             },
             {
+              "unversionedId": "dev-guide-sdk-guide-processors",
+              "id": "version-0.92.0/dev-guide-sdk-guide-processors",
+              "title": "SDK Guide: Data Processors",
+              "description": "Project Setup",
+              "source": "@site/versioned_docs/version-0.92.0/dev-guide-processor-sdk.md",
+              "sourceDirName": ".",
+              "slug": "/dev-guide-sdk-guide-processors",
+              "permalink": "/docs/dev-guide-sdk-guide-processors",
+              "draft": false,
+              "tags": [],
+              "version": "0.92.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "dev-guide-sdk-guide-processors",
+                "title": "SDK Guide: Data Processors",
+                "sidebar_label": "SDK Guide: Data Processors",
+                "original_id": "dev-guide-sdk-guide-processors"
+              }
+            },
+            {
+              "unversionedId": "dev-guide-sdk-guide-sinks",
+              "id": "version-0.92.0/dev-guide-sdk-guide-sinks",
+              "title": "SDK Guide: Data Sinks",
+              "description": "Project Setup",
+              "source": "@site/versioned_docs/version-0.92.0/dev-guide-sink-sdk.md",
+              "sourceDirName": ".",
+              "slug": "/dev-guide-sdk-guide-sinks",
+              "permalink": "/docs/dev-guide-sdk-guide-sinks",
+              "draft": false,
+              "tags": [],
+              "version": "0.92.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "dev-guide-sdk-guide-sinks",
+                "title": "SDK Guide: Data Sinks",
+                "sidebar_label": "SDK Guide: Data Sinks",
+                "original_id": "dev-guide-sdk-guide-sinks"
+              }
+            },
+            {
               "unversionedId": "extend-archetypes",
               "id": "version-0.92.0/extend-archetypes",
               "title": "Maven Archetypes",
@@ -10658,6 +10724,28 @@
               }
             },
             {
+              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
+              "id": "version-0.92.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
+              "title": "MQTT Publisher",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.92.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
+              "permalink": "/docs/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
+              "draft": false,
+              "tags": [],
+              "version": "0.92.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.sinks.brokers.jvm.mqtt",
+                "title": "MQTT Publisher",
+                "sidebar_label": "MQTT Publisher",
+                "original_id": "org.apache.streampipes.sinks.brokers.jvm.mqtt"
+              }
+            },
+            {
               "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.nats",
               "id": "version-0.92.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats",
               "title": "NATS Publisher",
@@ -12645,6 +12733,718 @@
           "contentPathLocalized": "C:\\git\\apache\\incubator-streampipes-website\\website-v2\\i18n\\en\\docusaurus-plugin-content-docs\\version-0.91.0",
           "docs": [
             {
+              "unversionedId": "community-contribute",
+              "id": "version-0.91.0/community-contribute",
+              "title": "Contribute",
+              "description": "Contribute",
+              "source": "@site/versioned_docs/version-0.91.0/09_contribute.md",
+              "sourceDirName": ".",
+              "slug": "/community-contribute",
+              "permalink": "/docs/0.91.0/community-contribute",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 9,
+              "frontMatter": {
+                "id": "community-contribute",
+                "title": "Contribute",
+                "sidebar_label": "Contribute",
+                "original_id": "community-contribute"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Get Help",
+                "permalink": "/docs/0.91.0/community-get-help"
+              }
+            },
+            {
+              "unversionedId": "community-get-help",
+              "id": "version-0.91.0/community-get-help",
+              "title": "Get Help",
+              "description": "The Apache StreamPipes community is happy to help with any questions or problems you might have.",
+              "source": "@site/versioned_docs/version-0.91.0/09_get-help.md",
+              "sourceDirName": ".",
+              "slug": "/community-get-help",
+              "permalink": "/docs/0.91.0/community-get-help",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 9,
+              "frontMatter": {
+                "id": "community-get-help",
+                "title": "Get Help",
+                "sidebar_label": "Get Help",
+                "original_id": "community-get-help"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Configuration",
+                "permalink": "/docs/0.91.0/technicals-configuration"
+              },
+              "next": {
+                "title": "Contribute",
+                "permalink": "/docs/0.91.0/community-contribute"
+              }
+            },
+            {
+              "unversionedId": "concepts-adapter",
+              "id": "version-0.91.0/concepts-adapter",
+              "title": "Data Adapters",
+              "description": "tbd",
+              "source": "@site/versioned_docs/version-0.91.0/02_concepts-adapter.md",
+              "sourceDirName": ".",
+              "slug": "/concepts-adapter",
+              "permalink": "/docs/0.91.0/concepts-adapter",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 2,
+              "frontMatter": {
+                "id": "concepts-adapter",
+                "title": "Data Adapters",
+                "sidebar_label": "Data Adapters",
+                "original_id": "concepts-adapter"
+              }
+            },
+            {
+              "unversionedId": "concepts-data-streams",
+              "id": "version-0.91.0/concepts-data-streams",
+              "title": "Data Streams",
+              "description": "tbd",
+              "source": "@site/versioned_docs/version-0.91.0/02_concepts-data-streams.md",
+              "sourceDirName": ".",
+              "slug": "/concepts-data-streams",
+              "permalink": "/docs/0.91.0/concepts-data-streams",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 2,
+              "frontMatter": {
+                "id": "concepts-data-streams",
+                "title": "Data Streams",
+                "sidebar_label": "Data Streams",
+                "original_id": "concepts-data-streams"
+              }
+            },
+            {
+              "unversionedId": "concepts-glossary",
+              "id": "version-0.91.0/concepts-glossary",
+              "title": "Glossary",
+              "description": "tbd",
+              "source": "@site/versioned_docs/version-0.91.0/02_concepts-glossary.md",
+              "sourceDirName": ".",
+              "slug": "/concepts-glossary",
+              "permalink": "/docs/0.91.0/concepts-glossary",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 2,
+              "frontMatter": {
+                "id": "concepts-glossary",
+                "title": "Glossary",
+                "sidebar_label": "Glossary",
+                "original_id": "concepts-glossary"
+              }
+            },
+            {
+              "unversionedId": "concepts-overview",
+              "id": "version-0.91.0/concepts-overview",
+              "title": "StreamPipes Concepts",
+              "description": "To understand how StreamPipes works, the knowledge of a few core concepts, illustrated below, will be helpful.",
+              "source": "@site/versioned_docs/version-0.91.0/02_concepts-overview.md",
+              "sourceDirName": ".",
+              "slug": "/concepts-overview",
+              "permalink": "/docs/0.91.0/concepts-overview",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 2,
+              "frontMatter": {
+                "id": "concepts-overview",
+                "title": "StreamPipes Concepts",
+                "sidebar_label": "Overview",
+                "original_id": "concepts-overview"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Installation",
+                "permalink": "/docs/0.91.0/try-installation"
+              },
+              "next": {
+                "title": "StreamPipes Connect",
+                "permalink": "/docs/0.91.0/use-connect"
+              }
+            },
+            {
+              "unversionedId": "concepts-pipelines",
+              "id": "version-0.91.0/concepts-pipelines",
+              "title": "Pipelines",
+              "description": "tbd",
+              "source": "@site/versioned_docs/version-0.91.0/02_concepts-pipeline.md",
+              "sourceDirName": ".",
+              "slug": "/concepts-pipelines",
+              "permalink": "/docs/0.91.0/concepts-pipelines",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 2,
+              "frontMatter": {
+                "id": "concepts-pipelines",
+                "title": "Pipelines",
+                "sidebar_label": "Pipelines",
+                "original_id": "concepts-pipelines"
+              }
+            },
+            {
+              "unversionedId": "debugging-debugging",
+              "id": "version-0.91.0/debugging-debugging",
+              "title": "Debugging",
+              "description": "tbd",
+              "source": "@site/versioned_docs/version-0.91.0/08_debugging.md",
+              "sourceDirName": ".",
+              "slug": "/debugging-debugging",
+              "permalink": "/docs/0.91.0/debugging-debugging",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 8,
+              "frontMatter": {
+                "id": "debugging-debugging",
+                "title": "Debugging",
+                "sidebar_label": "Debugging",
+                "original_id": "debugging-debugging"
+              }
+            },
+            {
+              "unversionedId": "debugging-monitoring",
+              "id": "version-0.91.0/debugging-monitoring",
+              "title": "Monitoring",
+              "description": "tbd",
+              "source": "@site/versioned_docs/version-0.91.0/08_monitoring.md",
+              "sourceDirName": ".",
+              "slug": "/debugging-monitoring",
+              "permalink": "/docs/0.91.0/debugging-monitoring",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 8,
+              "frontMatter": {
+                "id": "debugging-monitoring",
+                "title": "Monitoring",
+                "sidebar_label": "Monitoring",
+                "original_id": "debugging-monitoring"
+              }
+            },
+            {
+              "unversionedId": "deploy-docker",
+              "id": "version-0.91.0/deploy-docker",
+              "title": "Docker Deployment",
+              "description": "StreamPipes Compose is a simple collection of user-friendly docker-compose files that easily lets gain first-hand experience with Apache StreamPipes.",
+              "source": "@site/versioned_docs/version-0.91.0/05_deploy-docker.md",
+              "sourceDirName": ".",
+              "slug": "/deploy-docker",
+              "permalink": "/docs/0.91.0/deploy-docker",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 5,
+              "frontMatter": {
+                "id": "deploy-docker",
+                "title": "Docker Deployment",
+                "sidebar_label": "Docker Deployment",
+                "original_id": "deploy-docker"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Telegram Publisher",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram"
+              },
+              "next": {
+                "title": "Kubernetes Deployment",
+                "permalink": "/docs/0.91.0/deploy-kubernetes"
+              }
+            },
+            {
+              "unversionedId": "deploy-kubernetes",
+              "id": "version-0.91.0/deploy-kubernetes",
+              "title": "Kubernetes Deployment",
+              "description": "Prerequisites",
+              "source": "@site/versioned_docs/version-0.91.0/05_deploy-kubernetes.md",
+              "sourceDirName": ".",
+              "slug": "/deploy-kubernetes",
+              "permalink": "/docs/0.91.0/deploy-kubernetes",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 5,
+              "frontMatter": {
+                "id": "deploy-kubernetes",
+                "title": "Kubernetes Deployment",
+                "sidebar_label": "Kubernetes Deployment",
+                "original_id": "deploy-kubernetes"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Docker Deployment",
+                "permalink": "/docs/0.91.0/deploy-docker"
+              },
+              "next": {
+                "title": "Use SSL",
+                "permalink": "/docs/0.91.0/deploy-use-ssl"
+              }
+            },
+            {
+              "unversionedId": "deploy-security",
+              "id": "version-0.91.0/deploy-security",
+              "title": "Security",
+              "description": "Overriding default settings",
+              "source": "@site/versioned_docs/version-0.91.0/05_deploy-security.md",
+              "sourceDirName": ".",
+              "slug": "/deploy-security",
+              "permalink": "/docs/0.91.0/deploy-security",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 5,
+              "frontMatter": {
+                "id": "deploy-security",
+                "title": "Security",
+                "sidebar_label": "Security",
+                "original_id": "deploy-security"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Use SSL",
+                "permalink": "/docs/0.91.0/deploy-use-ssl"
+              },
+              "next": {
+                "title": "Development Setup",
+                "permalink": "/docs/0.91.0/extend-setup"
+              }
+            },
+            {
+              "unversionedId": "deploy-use-ssl",
+              "id": "version-0.91.0/deploy-use-ssl",
+              "title": "Use SSL",
+              "description": "This page explains how SSL Certificates can be used to provide transport layer security between your Browser and the Streampipes Backend.",
+              "source": "@site/versioned_docs/version-0.91.0/05_deploy-use-ssl.md",
+              "sourceDirName": ".",
+              "slug": "/deploy-use-ssl",
+              "permalink": "/docs/0.91.0/deploy-use-ssl",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 5,
+              "frontMatter": {
+                "id": "deploy-use-ssl",
+                "title": "Use SSL",
+                "sidebar_label": "Use SSL",
+                "original_id": "deploy-use-ssl"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Kubernetes Deployment",
+                "permalink": "/docs/0.91.0/deploy-kubernetes"
+              },
+              "next": {
+                "title": "Security",
+                "permalink": "/docs/0.91.0/deploy-security"
+              }
+            },
+            {
+              "unversionedId": "dev-guide-archetype",
+              "id": "version-0.91.0/dev-guide-archetype",
+              "title": "Start Developing",
+              "description": "",
+              "source": "@site/versioned_docs/version-0.91.0/dev-guide-archetype.md",
+              "sourceDirName": ".",
+              "slug": "/dev-guide-archetype",
+              "permalink": "/docs/0.91.0/dev-guide-archetype",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "dev-guide-archetype",
+                "title": "Start Developing",
+                "sidebar_label": "Start Developing",
+                "original_id": "dev-guide-archetype"
+              }
+            },
+            {
+              "unversionedId": "dev-guide-sdk-guide-processors",
+              "id": "version-0.91.0/dev-guide-sdk-guide-processors",
+              "title": "SDK Guide: Data Processors",
+              "description": "Project Setup",
+              "source": "@site/versioned_docs/version-0.91.0/dev-guide-processor-sdk.md",
+              "sourceDirName": ".",
+              "slug": "/dev-guide-sdk-guide-processors",
+              "permalink": "/docs/0.91.0/dev-guide-sdk-guide-processors",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "dev-guide-sdk-guide-processors",
+                "title": "SDK Guide: Data Processors",
+                "sidebar_label": "SDK Guide: Data Processors",
+                "original_id": "dev-guide-sdk-guide-processors"
+              }
+            },
+            {
+              "unversionedId": "dev-guide-sdk-guide-sinks",
+              "id": "version-0.91.0/dev-guide-sdk-guide-sinks",
+              "title": "SDK Guide: Data Sinks",
+              "description": "Project Setup",
+              "source": "@site/versioned_docs/version-0.91.0/dev-guide-sink-sdk.md",
+              "sourceDirName": ".",
+              "slug": "/dev-guide-sdk-guide-sinks",
+              "permalink": "/docs/0.91.0/dev-guide-sdk-guide-sinks",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "dev-guide-sdk-guide-sinks",
+                "title": "SDK Guide: Data Sinks",
+                "sidebar_label": "SDK Guide: Data Sinks",
+                "original_id": "dev-guide-sdk-guide-sinks"
+              }
+            },
+            {
+              "unversionedId": "extend-archetypes",
+              "id": "version-0.91.0/extend-archetypes",
+              "title": "Maven Archetypes",
+              "description": "In this tutorial we explain how you can use the Maven archetypes to develop your own StreamPipes processors and sinks.",
+              "source": "@site/versioned_docs/version-0.91.0/06_extend-archetypes.md",
+              "sourceDirName": ".",
+              "slug": "/extend-archetypes",
+              "permalink": "/docs/0.91.0/extend-archetypes",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 6,
+              "frontMatter": {
+                "id": "extend-archetypes",
+                "title": "Maven Archetypes",
+                "sidebar_label": "Maven Archetypes",
+                "original_id": "extend-archetypes"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "StreamPipes CLI",
+                "permalink": "/docs/0.91.0/extend-cli"
+              },
+              "next": {
+                "title": "Your first data processor",
+                "permalink": "/docs/0.91.0/extend-first-processor"
+              }
+            },
+            {
+              "unversionedId": "extend-cli",
+              "id": "version-0.91.0/extend-cli",
+              "title": "StreamPipes CLI",
+              "description": "The StreamPipes command-line interface (CLI) is focused on developers in order to provide an easy entrypoint to set up a suitable dev environment, either planning on developing",
+              "source": "@site/versioned_docs/version-0.91.0/06_extend-cli.md",
+              "sourceDirName": ".",
+              "slug": "/extend-cli",
+              "permalink": "/docs/0.91.0/extend-cli",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 6,
+              "frontMatter": {
+                "id": "extend-cli",
+                "title": "StreamPipes CLI",
+                "sidebar_label": "StreamPipes CLI",
+                "original_id": "extend-cli"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Development Setup",
+                "permalink": "/docs/0.91.0/extend-setup"
+              },
+              "next": {
+                "title": "Maven Archetypes",
+                "permalink": "/docs/0.91.0/extend-archetypes"
+              }
+            },
+            {
+              "unversionedId": "extend-first-processor",
+              "id": "version-0.91.0/extend-first-processor",
+              "title": "Your first data processor",
+              "description": "In this section, we will explain how to start a pipeline element service and install it using the StreamPipes UI.",
+              "source": "@site/versioned_docs/version-0.91.0/06_extend-first-processor.md",
+              "sourceDirName": ".",
+              "slug": "/extend-first-processor",
+              "permalink": "/docs/0.91.0/extend-first-processor",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 6,
+              "frontMatter": {
+                "id": "extend-first-processor",
+                "title": "Your first data processor",
+                "sidebar_label": "Your first data processor",
+                "original_id": "extend-first-processor"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Maven Archetypes",
+                "permalink": "/docs/0.91.0/extend-archetypes"
+              },
+              "next": {
+                "title": "Tutorial: Data Sources",
+                "permalink": "/docs/0.91.0/extend-tutorial-data-sources"
+              }
+            },
+            {
+              "unversionedId": "extend-sdk-event-model",
+              "id": "version-0.91.0/extend-sdk-event-model",
+              "title": "SDK Guide: Event Model",
+              "description": "Introduction",
+              "source": "@site/versioned_docs/version-0.91.0/06_extend-sdk-event-model.md",
+              "sourceDirName": ".",
+              "slug": "/extend-sdk-event-model",
+              "permalink": "/docs/0.91.0/extend-sdk-event-model",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 6,
+              "frontMatter": {
+                "id": "extend-sdk-event-model",
+                "title": "SDK Guide: Event Model",
+                "sidebar_label": "SDK: Event Model",
+                "original_id": "extend-sdk-event-model"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "SDK: Functions",
+                "permalink": "/docs/0.91.0/extend-sdk-functions"
+              },
+              "next": {
+                "title": "SDK: Stream Requirements",
+                "permalink": "/docs/0.91.0/extend-sdk-stream-requirements"
+              }
+            },
+            {
+              "unversionedId": "extend-sdk-functions",
+              "id": "version-0.91.0/extend-sdk-functions",
+              "title": "SDK Guide: Functions",
+              "description": "Introduction",
+              "source": "@site/versioned_docs/version-0.91.0/06_extend-sdk-functions.md",
+              "sourceDirName": ".",
+              "slug": "/extend-sdk-functions",
+              "permalink": "/docs/0.91.0/extend-sdk-functions",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 6,
+              "frontMatter": {
+                "id": "extend-sdk-functions",
+                "title": "SDK Guide: Functions",
+                "sidebar_label": "SDK: Functions",
+                "original_id": "extend-sdk-functions"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Tutorial: Data Sinks",
+                "permalink": "/docs/0.91.0/extend-tutorial-data-sinks"
+              },
+              "next": {
+                "title": "SDK: Event Model",
+                "permalink": "/docs/0.91.0/extend-sdk-event-model"
+              }
+            },
+            {
+              "unversionedId": "extend-sdk-migration-service-discovery",
+              "id": "version-0.91.0/extend-sdk-migration-service-discovery",
+              "title": "Migration Guide: New Service Discovery in 0.69.0",
+              "description": "Introduction",
+              "source": "@site/versioned_docs/version-0.91.0/06_extend-sdk-migration-sd.md",
+              "sourceDirName": ".",
+              "slug": "/extend-sdk-migration-service-discovery",
+              "permalink": "/docs/0.91.0/extend-sdk-migration-service-discovery",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 6,
+              "frontMatter": {
+                "id": "extend-sdk-migration-service-discovery",
+                "title": "Migration Guide: New Service Discovery in 0.69.0",
+                "sidebar_label": "Migration Guide: 0.69.0",
+                "original_id": "extend-sdk-migration-service-discovery"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "SDK: Output Strategies",
+                "permalink": "/docs/0.91.0/extend-sdk-output-strategies"
+              },
+              "next": {
+                "title": "Architecture",
+                "permalink": "/docs/0.91.0/technicals-architecture"
+              }
+            },
+            {
+              "unversionedId": "extend-sdk-output-strategies",
+              "id": "version-0.91.0/extend-sdk-output-strategies",
+              "title": "SDK Guide: Output Strategies",
+              "description": "Introduction",
+              "source": "@site/versioned_docs/version-0.91.0/06_extend-sdk-output-strategies.md",
+              "sourceDirName": ".",
+              "slug": "/extend-sdk-output-strategies",
+              "permalink": "/docs/0.91.0/extend-sdk-output-strategies",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 6,
+              "frontMatter": {
+                "id": "extend-sdk-output-strategies",
+                "title": "SDK Guide: Output Strategies",
+                "sidebar_label": "SDK: Output Strategies",
+                "original_id": "extend-sdk-output-strategies"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "SDK: Static Properties",
+                "permalink": "/docs/0.91.0/extend-sdk-static-properties"
+              },
+              "next": {
+                "title": "Migration Guide: 0.69.0",
+                "permalink": "/docs/0.91.0/extend-sdk-migration-service-discovery"
+              }
+            },
+            {
+              "unversionedId": "extend-sdk-static-properties",
+              "id": "version-0.91.0/extend-sdk-static-properties",
+              "title": "SDK Guide: Static Properties",
+              "description": "Introduction",
+              "source": "@site/versioned_docs/version-0.91.0/06_extend-sdk-static-properties.md",
+              "sourceDirName": ".",
+              "slug": "/extend-sdk-static-properties",
+              "permalink": "/docs/0.91.0/extend-sdk-static-properties",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 6,
+              "frontMatter": {
+                "id": "extend-sdk-static-properties",
+                "title": "SDK Guide: Static Properties",
+                "sidebar_label": "SDK: Static Properties",
+                "original_id": "extend-sdk-static-properties"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "SDK: Stream Requirements",
+                "permalink": "/docs/0.91.0/extend-sdk-stream-requirements"
+              },
+              "next": {
+                "title": "SDK: Output Strategies",
+                "permalink": "/docs/0.91.0/extend-sdk-output-strategies"
+              }
+            },
+            {
+              "unversionedId": "extend-sdk-stream-requirements",
+              "id": "version-0.91.0/extend-sdk-stream-requirements",
+              "title": "SDK Guide: Stream Requirements",
+              "description": "Introduction",
+              "source": "@site/versioned_docs/version-0.91.0/06_extend-sdk-stream-requirements.md",
+              "sourceDirName": ".",
+              "slug": "/extend-sdk-stream-requirements",
+              "permalink": "/docs/0.91.0/extend-sdk-stream-requirements",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 6,
+              "frontMatter": {
+                "id": "extend-sdk-stream-requirements",
+                "title": "SDK Guide: Stream Requirements",
+                "sidebar_label": "SDK: Stream Requirements",
+                "original_id": "extend-sdk-stream-requirements"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "SDK: Event Model",
+                "permalink": "/docs/0.91.0/extend-sdk-event-model"
+              },
+              "next": {
+                "title": "SDK: Static Properties",
+                "permalink": "/docs/0.91.0/extend-sdk-static-properties"
+              }
+            },
+            {
               "unversionedId": "extend-setup",
               "id": "version-0.91.0/extend-setup",
               "title": "Development Setup",
@@ -12665,6 +13465,165 @@
                 "title": "Development Setup",
                 "sidebar_label": "Development Setup",
                 "original_id": "extend-setup"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Security",
+                "permalink": "/docs/0.91.0/deploy-security"
+              },
+              "next": {
+                "title": "StreamPipes CLI",
+                "permalink": "/docs/0.91.0/extend-cli"
+              }
+            },
+            {
+              "unversionedId": "extend-tutorial-data-processors",
+              "id": "version-0.91.0/extend-tutorial-data-processors",
+              "title": "Tutorial: Data Processors",
+              "description": "In this tutorial, we will add a new data processor.",
+              "source": "@site/versioned_docs/version-0.91.0/06_extend-tutorial-data-processors.md",
+              "sourceDirName": ".",
+              "slug": "/extend-tutorial-data-processors",
+              "permalink": "/docs/0.91.0/extend-tutorial-data-processors",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 6,
+              "frontMatter": {
+                "id": "extend-tutorial-data-processors",
+                "title": "Tutorial: Data Processors",
+                "sidebar_label": "Tutorial: Data Processors",
+                "original_id": "extend-tutorial-data-processors"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Tutorial: Data Sources",
+                "permalink": "/docs/0.91.0/extend-tutorial-data-sources"
+              },
+              "next": {
+                "title": "Tutorial: Data Sinks",
+                "permalink": "/docs/0.91.0/extend-tutorial-data-sinks"
+              }
+            },
+            {
+              "unversionedId": "extend-tutorial-data-sinks",
+              "id": "version-0.91.0/extend-tutorial-data-sinks",
+              "title": "Tutorial: Data Sinks",
+              "description": "In this tutorial, we will add a new data sink using the standalone wrapper.",
+              "source": "@site/versioned_docs/version-0.91.0/06_extend-tutorial-data-sinks.md",
+              "sourceDirName": ".",
+              "slug": "/extend-tutorial-data-sinks",
+              "permalink": "/docs/0.91.0/extend-tutorial-data-sinks",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 6,
+              "frontMatter": {
+                "id": "extend-tutorial-data-sinks",
+                "title": "Tutorial: Data Sinks",
+                "sidebar_label": "Tutorial: Data Sinks",
+                "original_id": "extend-tutorial-data-sinks"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Tutorial: Data Processors",
+                "permalink": "/docs/0.91.0/extend-tutorial-data-processors"
+              },
+              "next": {
+                "title": "SDK: Functions",
+                "permalink": "/docs/0.91.0/extend-sdk-functions"
+              }
+            },
+            {
+              "unversionedId": "extend-tutorial-data-sources",
+              "id": "version-0.91.0/extend-tutorial-data-sources",
+              "title": "Tutorial: Data Sources",
+              "description": "In this tutorial, we will add a new data source consisting of a single data stream. The source will be provided as a standalone component (i.e., the description will be accessible through an integrated web server).",
+              "source": "@site/versioned_docs/version-0.91.0/06_extend-tutorial-data-sources.md",
+              "sourceDirName": ".",
+              "slug": "/extend-tutorial-data-sources",
+              "permalink": "/docs/0.91.0/extend-tutorial-data-sources",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 6,
+              "frontMatter": {
+                "id": "extend-tutorial-data-sources",
+                "title": "Tutorial: Data Sources",
+                "sidebar_label": "Tutorial: Data Sources",
+                "original_id": "extend-tutorial-data-sources"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Your first data processor",
+                "permalink": "/docs/0.91.0/extend-first-processor"
+              },
+              "next": {
+                "title": "Tutorial: Data Processors",
+                "permalink": "/docs/0.91.0/extend-tutorial-data-processors"
+              }
+            },
+            {
+              "unversionedId": "faq-common-problems",
+              "id": "version-0.91.0/faq-common-problems",
+              "title": "Common Problems",
+              "description": "* Windows 10: Consul, Kafka, Zookeeper, or Kafka-Rest did not start",
+              "source": "@site/versioned_docs/version-0.91.0/faq-common-problems.md",
+              "sourceDirName": ".",
+              "slug": "/faq-common-problems",
+              "permalink": "/docs/0.91.0/faq-common-problems",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "faq-common-problems",
+                "title": "Common Problems",
+                "sidebar_label": "Common Problems",
+                "original_id": "faq-common-problems"
+              },
+              "sidebar": "faq"
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.coindesk",
+              "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.coindesk",
+              "title": "Coindesk Bitcoin Price",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.coindesk.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.coindesk",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.coindesk",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.coindesk",
+                "title": "Coindesk Bitcoin Price",
+                "sidebar_label": "Coindesk Bitcoin Price",
+                "original_id": "org.apache.streampipes.connect.adapters.coindesk"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Apache Pulsar",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar"
+              },
+              "next": {
+                "title": "File Stream",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.file"
               }
             },
             {
@@ -12687,6 +13646,418 @@
                 "title": "Flic MQTT",
                 "sidebar_label": "Flic MQTT",
                 "original_id": "org.apache.streampipes.connect.adapters.flic.mqtt"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "File Set",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.protocol.set.file"
+              },
+              "next": {
+                "title": "GDELT",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.gdelt"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.gdelt",
+              "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.gdelt",
+              "title": "GDELT",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.gdelt.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.gdelt",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.gdelt",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.gdelt",
+                "title": "GDELT",
+                "sidebar_label": "GDELT",
+                "original_id": "org.apache.streampipes.connect.adapters.gdelt"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Flic MQTT",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt"
+              },
+              "next": {
+                "title": "HTTP Server",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.iex.news",
+              "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.iex.news",
+              "title": "IEX Cloud News",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.iex.news.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.iex.news",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iex.news",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.iex.news",
+                "title": "IEX Cloud News",
+                "sidebar_label": "IEX Cloud News",
+                "original_id": "org.apache.streampipes.connect.adapters.iex.news"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "HTTP Stream",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.http"
+              },
+              "next": {
+                "title": "IEX Cloud Stock Quotes",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iex.stocks"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.iex.stocks",
+              "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.iex.stocks",
+              "title": "IEX Cloud Stock Quotes",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.iex.stocks.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.iex.stocks",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iex.stocks",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.iex.stocks",
+                "title": "IEX Cloud Stock Quotes",
+                "sidebar_label": "IEX Cloud Stock Quotes",
+                "original_id": "org.apache.streampipes.connect.adapters.iex.stocks"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "IEX Cloud News",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iex.news"
+              },
+              "next": {
+                "title": "ISS Location",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iss"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.image.set",
+              "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.image.set",
+              "title": "Image Upload (Set)",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.image.set.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.image.set",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.image.set",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.image.set",
+                "title": "Image Upload (Set)",
+                "sidebar_label": "Image Upload (Set)",
+                "original_id": "org.apache.streampipes.connect.adapters.image.set"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "ISS Location",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iss"
+              },
+              "next": {
+                "title": "Image Upload (Stream)",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.image.stream"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.image.stream",
+              "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.image.stream",
+              "title": "Image Upload (Stream)",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.image.stream.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.image.stream",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.image.stream",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.image.stream",
+                "title": "Image Upload (Stream)",
+                "sidebar_label": "Image Upload (Stream)",
+                "original_id": "org.apache.streampipes.connect.adapters.image.stream"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Image Upload (Set)",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.image.set"
+              },
+              "next": {
+                "title": "InfluxDB Set Adapter",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.set"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.influxdb.set",
+              "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.set",
+              "title": "InfluxDB Set Adapter",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.set.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.influxdb.set",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.set",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.influxdb.set",
+                "title": "InfluxDB Set Adapter",
+                "sidebar_label": "InfluxDB Set Adapter",
+                "original_id": "org.apache.streampipes.connect.adapters.influxdb.set"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Image Upload (Stream)",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.image.stream"
+              },
+              "next": {
+                "title": "InfluxDB Stream Adapter",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.influxdb.stream",
+              "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream",
+              "title": "InfluxDB Stream Adapter",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.influxdb.stream",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.influxdb.stream",
+                "title": "InfluxDB Stream Adapter",
+                "sidebar_label": "InfluxDB Stream Adapter",
+                "original_id": "org.apache.streampipes.connect.adapters.influxdb.stream"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "InfluxDB Set Adapter",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.set"
+              },
+              "next": {
+                "title": "MQTT",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.iss",
+              "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.iss",
+              "title": "ISS Location",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.iss.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.iss",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iss",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.iss",
+                "title": "ISS Location",
+                "sidebar_label": "ISS Location",
+                "original_id": "org.apache.streampipes.connect.adapters.iss"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "IEX Cloud Stock Quotes",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iex.stocks"
+              },
+              "next": {
+                "title": "Image Upload (Set)",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.image.set"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.mysql.set",
+              "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.set",
+              "title": "MySQL Set Adapter",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.set.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.mysql.set",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.set",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.mysql.set",
+                "title": "MySQL Set Adapter",
+                "sidebar_label": "MySQL Set Adapter",
+                "original_id": "org.apache.streampipes.connect.adapters.mysql.set"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Machine Data Simulator",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.machine"
+              },
+              "next": {
+                "title": "MySql Stream Adapter",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.stream"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.mysql.stream",
+              "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.stream",
+              "title": "MySql Stream Adapter",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.stream.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.mysql.stream",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.stream",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.mysql.stream",
+                "title": "MySql Stream Adapter",
+                "sidebar_label": "MySql Stream Adapter",
+                "original_id": "org.apache.streampipes.connect.adapters.mysql.stream"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "MySQL Set Adapter",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.set"
+              },
+              "next": {
+                "title": "NETIO MQTT M2M",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.netio.mqtt",
+              "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt",
+              "title": "NETIO MQTT M2M",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.netio.mqtt",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.netio.mqtt",
+                "title": "NETIO MQTT M2M",
+                "sidebar_label": "NETIO MQTT M2M",
+                "original_id": "org.apache.streampipes.connect.adapters.netio.mqtt"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "MySql Stream Adapter",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.stream"
+              },
+              "next": {
+                "title": "NETIO http JSON",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.netio.rest"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.netio.rest",
+              "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.netio.rest",
+              "title": "NETIO http JSON",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.netio.rest.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.netio.rest",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.netio.rest",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.netio.rest",
+                "title": "NETIO http JSON",
+                "sidebar_label": "NETIO http JSON",
+                "original_id": "org.apache.streampipes.connect.adapters.netio.rest"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "NETIO MQTT M2M",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt"
+              },
+              "next": {
+                "title": "NSW Traffic Cameras",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
+              "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
+              "title": "NSW Traffic Cameras",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
+                "title": "NSW Traffic Cameras",
+                "sidebar_label": "NSW Traffic Cameras",
+                "original_id": "org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "NETIO http JSON",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.netio.rest"
+              },
+              "next": {
+                "title": "OPC UA",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.opcua"
               }
             },
             {
@@ -12709,6 +14080,15 @@
                 "title": "OPC UA",
                 "sidebar_label": "OPC UA",
                 "original_id": "org.apache.streampipes.connect.adapters.opcua"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "NSW Traffic Cameras",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera"
+              },
+              "next": {
+                "title": "PLC4X MODBUS",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus"
               }
             },
             {
@@ -12731,6 +14111,77 @@
                 "title": "PLC4X MODBUS",
                 "sidebar_label": "PLC4X MODBUS",
                 "original_id": "org.apache.streampipes.connect.adapters.plc4x.modbus"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "OPC UA",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.opcua"
+              },
+              "next": {
+                "title": "PLC4X S7",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.plc4x.s7",
+              "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7",
+              "title": "PLC4X S7",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.plc4x.s7",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.plc4x.s7",
+                "title": "PLC4X S7",
+                "sidebar_label": "PLC4X S7",
+                "original_id": "org.apache.streampipes.connect.adapters.plc4x.s7"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "PLC4X MODBUS",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus"
+              },
+              "next": {
+                "title": "ROS Bridge",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.ros"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.ros",
+              "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.ros",
+              "title": "ROS Bridge",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.ros.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.ros",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.ros",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.ros",
+                "title": "ROS Bridge",
+                "sidebar_label": "ROS Bridge",
+                "original_id": "org.apache.streampipes.connect.adapters.ros"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "PLC4X S7",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7"
+              },
+              "next": {
+                "title": "Random Data Simulator (Set)",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset"
               }
             },
             {
@@ -12753,6 +14204,263 @@
                 "title": "Machine Data Simulator",
                 "sidebar_label": "Machine Data Simulator",
                 "original_id": "org.apache.streampipes.connect.adapters.simulator.machine"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "MQTT",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt"
+              },
+              "next": {
+                "title": "MySQL Set Adapter",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.set"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
+              "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
+              "title": "Random Data Simulator (Set)",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.simulator.randomdataset",
+                "title": "Random Data Simulator (Set)",
+                "sidebar_label": "Random Data Simulator (Set)",
+                "original_id": "org.apache.streampipes.connect.adapters.simulator.randomdataset"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "ROS Bridge",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.ros"
+              },
+              "next": {
+                "title": "Random Data Simulator (Stream)",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
+              "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
+              "title": "Random Data Simulator (Stream)",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.simulator.randomdatastream",
+                "title": "Random Data Simulator (Stream)",
+                "sidebar_label": "Random Data Simulator (Stream)",
+                "original_id": "org.apache.streampipes.connect.adapters.simulator.randomdatastream"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Random Data Simulator (Set)",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset"
+              },
+              "next": {
+                "title": "Slack",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.slack"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.slack",
+              "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.slack",
+              "title": "Slack",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.slack.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.slack",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.slack",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.slack",
+                "title": "Slack",
+                "sidebar_label": "Slack",
+                "original_id": "org.apache.streampipes.connect.adapters.slack"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Random Data Simulator (Stream)",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream"
+              },
+              "next": {
+                "title": "TI Sensor Tag",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.ti"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.ti",
+              "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.ti",
+              "title": "TI Sensor Tag",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.ti.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.ti",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.ti",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.ti",
+                "title": "TI Sensor Tag",
+                "sidebar_label": "TI Sensor Tag",
+                "original_id": "org.apache.streampipes.connect.adapters.ti"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Slack",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.slack"
+              },
+              "next": {
+                "title": "Wikipedia Edits",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
+              "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
+              "title": "Wikipedia Edits",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.wikipedia.edit",
+                "title": "Wikipedia Edits",
+                "sidebar_label": "Wikipedia Edits",
+                "original_id": "org.apache.streampipes.connect.adapters.wikipedia.edit"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "TI Sensor Tag",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.ti"
+              },
+              "next": {
+                "title": "Wikipedia New Articles",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.wikipedia.new",
+              "id": "version-0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new",
+              "title": "Wikipedia New Articles",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.wikipedia.new",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.wikipedia.new",
+                "title": "Wikipedia New Articles",
+                "sidebar_label": "Wikipedia New Articles",
+                "original_id": "org.apache.streampipes.connect.adapters.wikipedia.new"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Wikipedia Edits",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit"
+              },
+              "next": {
+                "title": "Absence",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.file",
+              "id": "version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.file",
+              "title": "File Stream",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.file.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.protocol.stream.file",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.file",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.protocol.stream.file",
+                "title": "File Stream",
+                "sidebar_label": "File Stream",
+                "original_id": "org.apache.streampipes.connect.protocol.stream.file"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Coindesk Bitcoin Price",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.coindesk"
+              },
+              "next": {
+                "title": "File Set",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.protocol.set.file"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.http",
+              "id": "version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.http",
+              "title": "HTTP Stream",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.http.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.protocol.stream.http",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.http",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.protocol.stream.http",
+                "title": "HTTP Stream",
+                "sidebar_label": "HTTP Stream",
+                "original_id": "org.apache.streampipes.connect.protocol.stream.http"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "HTTP Set",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.protocol.set.http"
+              },
+              "next": {
+                "title": "IEX Cloud News",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iex.news"
               }
             },
             {
@@ -12775,6 +14483,139 @@
                 "title": "HTTP Server",
                 "sidebar_label": "HTTP Server",
                 "original_id": "org.apache.streampipes.connect.protocol.stream.httpserver"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "GDELT",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.gdelt"
+              },
+              "next": {
+                "title": "HTTP Set",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.protocol.set.http"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.kafka",
+              "id": "version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.kafka",
+              "title": "Apache Kafka",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.kafka.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.protocol.stream.kafka",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.kafka",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.protocol.stream.kafka",
+                "title": "Apache Kafka",
+                "sidebar_label": "Apache Kafka",
+                "original_id": "org.apache.streampipes.connect.protocol.stream.kafka"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Configurations",
+                "permalink": "/docs/0.91.0/use-configurations"
+              },
+              "next": {
+                "title": "Apache Pulsar",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.mqtt",
+              "id": "version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt",
+              "title": "MQTT",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.protocol.stream.mqtt",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.protocol.stream.mqtt",
+                "title": "MQTT",
+                "sidebar_label": "MQTT",
+                "original_id": "org.apache.streampipes.connect.protocol.stream.mqtt"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "InfluxDB Stream Adapter",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream"
+              },
+              "next": {
+                "title": "Machine Data Simulator",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.machine"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.pulsar",
+              "id": "version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar",
+              "title": "Apache Pulsar",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.protocol.stream.pulsar",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.protocol.stream.pulsar",
+                "title": "Apache Pulsar",
+                "sidebar_label": "Apache Pulsar",
+                "original_id": "org.apache.streampipes.connect.protocol.stream.pulsar"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Apache Kafka",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.kafka"
+              },
+              "next": {
+                "title": "Coindesk Bitcoin Price",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.coindesk"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processor.geo.flink",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processor.geo.flink",
+              "title": "Spatial Grid Enrichment",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processor.geo.flink.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processor.geo.flink",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.flink",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processor.geo.flink",
+                "title": "Spatial Grid Enrichment",
+                "sidebar_label": "Spatial Grid Enrichment",
+                "original_id": "org.apache.streampipes.processor.geo.flink"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Size Measure",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure"
+              },
+              "next": {
+                "title": "Speed Calculator",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed"
               }
             },
             {
@@ -12797,6 +14638,15 @@
                 "title": "Google Maps Geocoder",
                 "sidebar_label": "Google Maps Geocoder",
                 "original_id": "org.apache.streampipes.processor.geo.jvm.geocoding"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Generic Image Classification",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
+              },
+              "next": {
+                "title": "Image Cropper",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper"
               }
             },
             {
@@ -12819,6 +14669,15 @@
                 "title": "Reverse Geocoder",
                 "sidebar_label": "Reverse Geocoder",
                 "original_id": "org.apache.streampipes.processor.geo.jvm.reversegeocoding"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Rate Limit",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.limit"
+              },
+              "next": {
+                "title": "Sentence Detection (English)",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection"
               }
             },
             {
@@ -12841,6 +14700,15 @@
                 "title": "Static Google Maps Geocoder",
                 "sidebar_label": "Static Google Maps Geocoder",
                 "original_id": "org.apache.streampipes.processor.geo.jvm.staticgeocoding"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Static Distance Calculator",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator"
+              },
+              "next": {
+                "title": "Static Math",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop"
               }
             },
             {
@@ -12863,6 +14731,46 @@
                 "title": "Generic Image Classification",
                 "sidebar_label": "Generic Image Classification",
                 "original_id": "org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Frequency Change",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.frequencychange"
+              },
+              "next": {
+                "title": "Google Maps Geocoder",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
+              "title": "Image Cropper",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
+                "title": "Image Cropper",
+                "sidebar_label": "Image Cropper",
+                "original_id": "org.apache.streampipes.processor.imageclassification.jvm.image-cropper"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Google Maps Geocoder",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding"
+              },
+              "next": {
+                "title": "Image Enricher",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
               }
             },
             {
@@ -12885,6 +14793,15 @@
                 "title": "Image Enricher",
                 "sidebar_label": "Image Enricher",
                 "original_id": "org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Image Cropper",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper"
+              },
+              "next": {
+                "title": "Language Detection",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection"
               }
             },
             {
@@ -12907,6 +14824,15 @@
                 "title": "QR Code Reader",
                 "sidebar_label": "QR Code Reader",
                 "original_id": "org.apache.streampipes.processor.imageclassification.qrcode"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Projection",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.project"
+              },
+              "next": {
+                "title": "Rate Limit",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.limit"
               }
             },
             {
@@ -12929,6 +14855,15 @@
                 "title": "Aggregation",
                 "sidebar_label": "Aggregation",
                 "original_id": "org.apache.streampipes.processors.aggregation.flink.aggregation"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Absence",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence"
+              },
+              "next": {
+                "title": "And",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and"
               }
             },
             {
@@ -12951,6 +14886,15 @@
                 "title": "Count Aggregation",
                 "sidebar_label": "Count Aggregation",
                 "original_id": "org.apache.streampipes.processors.aggregation.flink.count"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Compose",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.compose"
+              },
+              "next": {
+                "title": "Count Array",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array"
               }
             },
             {
@@ -12973,6 +14917,15 @@
                 "title": "Event Counter",
                 "sidebar_label": "Event Counter",
                 "original_id": "org.apache.streampipes.processors.aggregation.flink.eventcount"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "EPSG Code",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG"
+              },
+              "next": {
+                "title": "Event Rate",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.rate"
               }
             },
             {
@@ -12995,6 +14948,15 @@
                 "title": "Event Rate",
                 "sidebar_label": "Event Rate",
                 "original_id": "org.apache.streampipes.processors.aggregation.flink.rate"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Event Counter",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount"
+              },
+              "next": {
+                "title": "Field Converter",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter"
               }
             },
             {
@@ -13017,6 +14979,263 @@
                 "title": "Cusum",
                 "sidebar_label": "Cusum",
                 "original_id": "org.apache.streampipes.processors.changedetection.jvm.cusum"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Creates JTS Point",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo"
+              },
+              "next": {
+                "title": "Distance Calculator",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
+              "title": "Math",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
+                "title": "Math",
+                "sidebar_label": "Math",
+                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.math.mathop"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Language Detection",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection"
+              },
+              "next": {
+                "title": "Measure Time Between Two Sensors",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
+              "title": "Static Math",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
+                "title": "Static Math",
+                "sidebar_label": "Static Math",
+                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Static Google Maps Geocoder",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding"
+              },
+              "next": {
+                "title": "Statistics Summary",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
+              "title": "Trigonometry Functions",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
+                "title": "Trigonometry Functions",
+                "sidebar_label": "Trigonometry Functions",
+                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.trigonometry"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Trend",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.increase"
+              },
+              "next": {
+                "title": "URL Dereferencing",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
+              "title": "URL Dereferencing",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
+                "title": "URL Dereferencing",
+                "sidebar_label": "URL Dereferencing",
+                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.urldereferencing"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Trigonometry Functions",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry"
+              },
+              "next": {
+                "title": "Value Changed",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.timestamp",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp",
+              "title": "Timestamp Enricher",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.enricher.flink.timestamp",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.enricher.flink.timestamp",
+                "title": "Timestamp Enricher",
+                "sidebar_label": "Timestamp Enricher",
+                "original_id": "org.apache.streampipes.processors.enricher.flink.timestamp"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Threshold Detector",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.threshold"
+              },
+              "next": {
+                "title": "Timestamp Extractor",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
+              "title": "Size Measure",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.enricher.jvm.sizemeasure",
+                "title": "Size Measure",
+                "sidebar_label": "Size Measure",
+                "original_id": "org.apache.streampipes.processors.enricher.jvm.sizemeasure"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Single Trajectory Creator",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory"
+              },
+              "next": {
+                "title": "Spatial Grid Enrichment",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.flink"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.compose",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.compose",
+              "title": "Compose",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.compose.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.compose",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.compose",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.filters.jvm.compose",
+                "title": "Compose",
+                "sidebar_label": "Compose",
+                "original_id": "org.apache.streampipes.processors.filters.jvm.compose"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Chunker (English)",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker"
+              },
+              "next": {
+                "title": "Count Aggregation",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.count"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.enrich",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.enrich",
+              "title": "Merge By Enrich",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.enrich.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.enrich",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.enrich",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.filters.jvm.enrich",
+                "title": "Merge By Enrich",
+                "sidebar_label": "Merge By Enrich",
+                "original_id": "org.apache.streampipes.processors.filters.jvm.enrich"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Measurement Unit Converter",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
+              },
+              "next": {
+                "title": "Name Finder",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder"
               }
             },
             {
@@ -13039,6 +15258,15 @@
                 "title": "Rate Limit",
                 "sidebar_label": "Rate Limit",
                 "original_id": "org.apache.streampipes.processors.filters.jvm.limit"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "QR Code Reader",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.qrcode"
+              },
+              "next": {
+                "title": "Reverse Geocoder",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding"
               }
             },
             {
@@ -13061,6 +15289,263 @@
                 "title": "Synchronize Two Streams",
                 "sidebar_label": "Synchronize Two Streams",
                 "original_id": "org.apache.streampipes.processors.filters.jvm.merge"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "String To State",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state"
+              },
+              "next": {
+                "title": "Task Duration",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
+              "title": "Numerical Filter",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.filters.jvm.numericalfilter",
+                "title": "Numerical Filter",
+                "sidebar_label": "Numerical Filter",
+                "original_id": "org.apache.streampipes.processors.filters.jvm.numericalfilter"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Number Labeler",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number"
+              },
+              "next": {
+                "title": "Numerical Filter (Siddhi)",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
+              "title": "Numerical Text Filter",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
+                "title": "Numerical Text Filter",
+                "sidebar_label": "Numerical Text Filter",
+                "original_id": "org.apache.streampipes.processors.filters.jvm.numericaltextfilter"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Numerical Filter (Siddhi)",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter"
+              },
+              "next": {
+                "title": "Part of Speech (English)",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.project",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.project",
+              "title": "Projection",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.project.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.project",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.project",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.filters.jvm.project",
+                "title": "Projection",
+                "sidebar_label": "Projection",
+                "original_id": "org.apache.streampipes.processors.filters.jvm.project"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Peak Detection",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
+              },
+              "next": {
+                "title": "QR Code Reader",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.qrcode"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.textfilter",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter",
+              "title": "Text Filter",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.textfilter",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.filters.jvm.textfilter",
+                "title": "Text Filter",
+                "sidebar_label": "Text Filter",
+                "original_id": "org.apache.streampipes.processors.filters.jvm.textfilter"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Task Duration",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration"
+              },
+              "next": {
+                "title": "Threshold Detector",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.threshold"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.threshold",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.threshold",
+              "title": "Threshold Detector",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.threshold.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.threshold",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.threshold",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.filters.jvm.threshold",
+                "title": "Threshold Detector",
+                "sidebar_label": "Threshold Detector",
+                "original_id": "org.apache.streampipes.processors.filters.jvm.threshold"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Text Filter",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter"
+              },
+              "next": {
+                "title": "Timestamp Enricher",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
+              "title": "Creates JTS Point",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
+                "title": "Creates JTS Point",
+                "sidebar_label": "Creates JTS Point",
+                "original_id": "org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Count Array",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array"
+              },
+              "next": {
+                "title": "Cusum",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
+              "title": "EPSG Code",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
+                "title": "EPSG Code",
+                "sidebar_label": "EPSG Code",
+                "original_id": "org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Distance Calculator",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
+              },
+              "next": {
+                "title": "Event Counter",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
+              "title": "Single Trajectory Creator",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
+                "title": "Single Trajectory Creator",
+                "sidebar_label": "Single Trajectory Creator",
+                "original_id": "org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Signal Edge Filter",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge"
+              },
+              "next": {
+                "title": "Size Measure",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure"
               }
             },
             {
@@ -13083,6 +15568,46 @@
                 "title": "Distance Calculator",
                 "sidebar_label": "Distance Calculator",
                 "original_id": "org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Cusum",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum"
+              },
+              "next": {
+                "title": "EPSG Code",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
+              "title": "Speed Calculator",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.geo.jvm.processor.speed",
+                "title": "Speed Calculator",
+                "sidebar_label": "Speed Calculator",
+                "original_id": "org.apache.streampipes.processors.geo.jvm.processor.speed"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Spatial Grid Enrichment",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.flink"
+              },
+              "next": {
+                "title": "Split Array",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array"
               }
             },
             {
@@ -13105,6 +15630,15 @@
                 "title": "Static Distance Calculator",
                 "sidebar_label": "Static Distance Calculator",
                 "original_id": "org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "State Buffer Labeler",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer"
+              },
+              "next": {
+                "title": "Static Google Maps Geocoder",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding"
               }
             },
             {
@@ -13127,6 +15661,15 @@
                 "title": "Absence",
                 "sidebar_label": "Absence",
                 "original_id": "org.apache.streampipes.processors.pattern-detection.flink.absence"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Wikipedia New Articles",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new"
+              },
+              "next": {
+                "title": "Aggregation",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation"
               }
             },
             {
@@ -13149,6 +15692,15 @@
                 "title": "And",
                 "sidebar_label": "And",
                 "original_id": "org.apache.streampipes.processors.pattern-detection.flink.and"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Aggregation",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation"
+              },
+              "next": {
+                "title": "Boilerplate Removal",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate"
               }
             },
             {
@@ -13171,6 +15723,15 @@
                 "title": "Peak Detection",
                 "sidebar_label": "Peak Detection",
                 "original_id": "org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Part of Speech (English)",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech"
+              },
+              "next": {
+                "title": "Projection",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.project"
               }
             },
             {
@@ -13193,6 +15754,15 @@
                 "title": "Sequence",
                 "sidebar_label": "Sequence",
                 "original_id": "org.apache.streampipes.processors.pattern-detection.flink.sequence"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Sentence Detection (English)",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection"
+              },
+              "next": {
+                "title": "Sequence Detection",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.sequence"
               }
             },
             {
@@ -13215,6 +15785,15 @@
                 "title": "Frequency Calculation",
                 "sidebar_label": "Frequency Calculation",
                 "original_id": "org.apache.streampipes.processors.siddhi.frequency"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Field Renamer",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer"
+              },
+              "next": {
+                "title": "Frequency Change",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.frequencychange"
               }
             },
             {
@@ -13237,6 +15816,15 @@
                 "title": "Frequency Change",
                 "sidebar_label": "Frequency Change",
                 "original_id": "org.apache.streampipes.processors.siddhi.frequencychange"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Frequency Calculation",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.frequency"
+              },
+              "next": {
+                "title": "Generic Image Classification",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
               }
             },
             {
@@ -13259,6 +15847,15 @@
                 "title": "Trend",
                 "sidebar_label": "Trend",
                 "original_id": "org.apache.streampipes.processors.siddhi.increase"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Transform to boolean",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean"
+              },
+              "next": {
+                "title": "Trigonometry Functions",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry"
               }
             },
             {
@@ -13281,6 +15878,46 @@
                 "title": "Numerical Filter (Siddhi)",
                 "sidebar_label": "Numerical Filter (Siddhi)",
                 "original_id": "org.apache.streampipes.processors.siddhi.numericalfilter"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Numerical Filter",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter"
+              },
+              "next": {
+                "title": "Numerical Text Filter",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.sequence",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.siddhi.sequence",
+              "title": "Sequence Detection",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.siddhi.sequence.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.siddhi.sequence",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.sequence",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.siddhi.sequence",
+                "title": "Sequence Detection",
+                "sidebar_label": "Sequence Detection",
+                "original_id": "org.apache.streampipes.processors.siddhi.sequence"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Sequence",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence"
+              },
+              "next": {
+                "title": "Signal Edge Filter",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge"
               }
             },
             {
@@ -13303,6 +15940,46 @@
                 "title": "Stream Stop Detection",
                 "sidebar_label": "Stream Stop Detection",
                 "original_id": "org.apache.streampipes.processors.siddhi.stop"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Statistics Summary",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary"
+              },
+              "next": {
+                "title": "String Counter",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
+              "title": "Statistics Summary",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.statistics.flink.statistics-summary",
+                "title": "Statistics Summary",
+                "sidebar_label": "Statistics Summary",
+                "original_id": "org.apache.streampipes.processors.statistics.flink.statistics-summary"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Static Math",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop"
+              },
+              "next": {
+                "title": "Stream Stop Detection",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.stop"
               }
             },
             {
@@ -13325,6 +16002,15 @@
                 "title": "Language Detection",
                 "sidebar_label": "Language Detection",
                 "original_id": "org.apache.streampipes.processors.textmining.flink.languagedetection"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Image Enricher",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
+              },
+              "next": {
+                "title": "Language Detection",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection"
               }
             },
             {
@@ -13347,6 +16033,201 @@
                 "title": "Word Count",
                 "sidebar_label": "Word Count",
                 "original_id": "org.apache.streampipes.processors.textmining.flink.wordcount"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Value Changed",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value"
+              },
+              "next": {
+                "title": "Buffered REST Publisher",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.chunker",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker",
+              "title": "Chunker (English)",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.chunker",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.textmining.jvm.chunker",
+                "title": "Chunker (English)",
+                "sidebar_label": "Chunker (English)",
+                "original_id": "org.apache.streampipes.processors.textmining.jvm.chunker"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Calculate Duration",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value"
+              },
+              "next": {
+                "title": "Compose",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.compose"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
+              "title": "Language Detection",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.textmining.jvm.languagedetection",
+                "title": "Language Detection",
+                "sidebar_label": "Language Detection",
+                "original_id": "org.apache.streampipes.processors.textmining.jvm.languagedetection"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Language Detection",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection"
+              },
+              "next": {
+                "title": "Math",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
+              "title": "Name Finder",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.textmining.jvm.namefinder",
+                "title": "Name Finder",
+                "sidebar_label": "Name Finder",
+                "original_id": "org.apache.streampipes.processors.textmining.jvm.namefinder"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Merge By Enrich",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.enrich"
+              },
+              "next": {
+                "title": "Number Labeler",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
+              "title": "Part of Speech (English)",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.textmining.jvm.partofspeech",
+                "title": "Part of Speech (English)",
+                "sidebar_label": "Part of Speech (English)",
+                "original_id": "org.apache.streampipes.processors.textmining.jvm.partofspeech"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Numerical Text Filter",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter"
+              },
+              "next": {
+                "title": "Peak Detection",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
+              "title": "Sentence Detection (English)",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.textmining.jvm.sentencedetection",
+                "title": "Sentence Detection (English)",
+                "sidebar_label": "Sentence Detection (English)",
+                "original_id": "org.apache.streampipes.processors.textmining.jvm.sentencedetection"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Reverse Geocoder",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding"
+              },
+              "next": {
+                "title": "Sequence",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
+              "title": "Tokenizer (English)",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.textmining.jvm.tokenizer",
+                "title": "Tokenizer (English)",
+                "sidebar_label": "Tokenizer (English)",
+                "original_id": "org.apache.streampipes.processors.textmining.jvm.tokenizer"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Timestamp Extractor",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor"
+              },
+              "next": {
+                "title": "Transform to boolean",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean"
               }
             },
             {
@@ -13369,6 +16250,46 @@
                 "title": "Field Converter",
                 "sidebar_label": "Field Converter",
                 "original_id": "org.apache.streampipes.processors.transformation.flink.field-converter"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Event Rate",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.rate"
+              },
+              "next": {
+                "title": "Field Hasher",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
+              "title": "Field Mapper",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.transformation.flink.field-mapper",
+                "title": "Field Mapper",
+                "sidebar_label": "Field Mapper",
+                "original_id": "org.apache.streampipes.processors.transformation.flink.field-mapper"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Field Hasher",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher"
+              },
+              "next": {
+                "title": "Field Renamer",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer"
               }
             },
             {
@@ -13391,6 +16312,15 @@
                 "title": "Field Renamer",
                 "sidebar_label": "Field Renamer",
                 "original_id": "org.apache.streampipes.processors.transformation.flink.field-renamer"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Field Mapper",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper"
+              },
+              "next": {
+                "title": "Frequency Calculation",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.frequency"
               }
             },
             {
@@ -13413,6 +16343,15 @@
                 "title": "Field Hasher",
                 "sidebar_label": "Field Hasher",
                 "original_id": "org.apache.streampipes.processors.transformation.flink.fieldhasher"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Field Converter",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter"
+              },
+              "next": {
+                "title": "Field Mapper",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper"
               }
             },
             {
@@ -13435,6 +16374,46 @@
                 "title": "Measurement Unit Converter",
                 "sidebar_label": "Measurement Unit Converter",
                 "original_id": "org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Measure Time Between Two Sensors",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping"
+              },
+              "next": {
+                "title": "Merge By Enrich",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.enrich"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
+              "title": "Boilerplate Removal",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
+                "title": "Boilerplate Removal",
+                "sidebar_label": "Boilerplate Removal",
+                "original_id": "org.apache.streampipes.processors.transformation.flink.processor.boilerplate"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "And",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and"
+              },
+              "next": {
+                "title": "Boolean Counter",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
               }
             },
             {
@@ -13457,6 +16436,232 @@
                 "title": "Boolean Counter",
                 "sidebar_label": "Boolean Counter",
                 "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Boilerplate Removal",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate"
+              },
+              "next": {
+                "title": "Boolean Inverter",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
+              "title": "Boolean Inverter",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
+                "title": "Boolean Inverter",
+                "sidebar_label": "Boolean Inverter",
+                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.inverter"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Boolean Counter",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
+              },
+              "next": {
+                "title": "Boolean Timer",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
+              "title": "Measure Time Between Two Sensors",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
+                "title": "Measure Time Between Two Sensors",
+                "sidebar_label": "Measure Time Between Two Sensors",
+                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Math",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop"
+              },
+              "next": {
+                "title": "Measurement Unit Converter",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
+              "title": "Boolean Timer",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
+                "title": "Boolean Timer",
+                "sidebar_label": "Boolean Timer",
+                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timer"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Boolean Inverter",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter"
+              },
+              "next": {
+                "title": "Boolean To State",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
+              "title": "Value Changed",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.transformation.jvm.changed-value",
+                "title": "Value Changed",
+                "sidebar_label": "Value Changed",
+                "original_id": "org.apache.streampipes.processors.transformation.jvm.changed-value"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "URL Dereferencing",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing"
+              },
+              "next": {
+                "title": "Word Count",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.count-array",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array",
+              "title": "Count Array",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.count-array",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.transformation.jvm.count-array",
+                "title": "Count Array",
+                "sidebar_label": "Count Array",
+                "original_id": "org.apache.streampipes.processors.transformation.jvm.count-array"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Count Aggregation",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.count"
+              },
+              "next": {
+                "title": "Creates JTS Point",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
+              "title": "CSV Metadata Enricher",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.transformation.jvm.csvmetadata",
+                "title": "CSV Metadata Enricher",
+                "sidebar_label": "CSV Metadata Enricher",
+                "original_id": "org.apache.streampipes.processors.transformation.jvm.csvmetadata"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Boolean To State",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state"
+              },
+              "next": {
+                "title": "Calculate Duration",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
+              "title": "Calculate Duration",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.transformation.jvm.duration-value",
+                "title": "Calculate Duration",
+                "sidebar_label": "Calculate Duration",
+                "original_id": "org.apache.streampipes.processors.transformation.jvm.duration-value"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "CSV Metadata Enricher",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata"
+              },
+              "next": {
+                "title": "Chunker (English)",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker"
               }
             },
             {
@@ -13479,6 +16684,15 @@
                 "title": "Signal Edge Filter",
                 "sidebar_label": "Signal Edge Filter",
                 "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Sequence Detection",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.sequence"
+              },
+              "next": {
+                "title": "Single Trajectory Creator",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory"
               }
             },
             {
@@ -13501,6 +16715,15 @@
                 "title": "Boolean To State",
                 "sidebar_label": "Boolean To State",
                 "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Boolean Timer",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer"
+              },
+              "next": {
+                "title": "CSV Metadata Enricher",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata"
               }
             },
             {
@@ -13523,6 +16746,15 @@
                 "title": "State Buffer",
                 "sidebar_label": "State Buffer",
                 "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.state.buffer"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Split Array",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array"
+              },
+              "next": {
+                "title": "State Buffer Labeler",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer"
               }
             },
             {
@@ -13545,6 +16777,15 @@
                 "title": "State Buffer Labeler",
                 "sidebar_label": "State Buffer Labeler",
                 "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "State Buffer",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer"
+              },
+              "next": {
+                "title": "Static Distance Calculator",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator"
               }
             },
             {
@@ -13567,6 +16808,15 @@
                 "title": "Number Labeler",
                 "sidebar_label": "Number Labeler",
                 "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Name Finder",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder"
+              },
+              "next": {
+                "title": "Numerical Filter",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter"
               }
             },
             {
@@ -13589,6 +16839,46 @@
                 "title": "String To State",
                 "sidebar_label": "String To State",
                 "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "String Timer",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer"
+              },
+              "next": {
+                "title": "Synchronize Two Streams",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.merge"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
+              "title": "Timestamp Extractor",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
+                "title": "Timestamp Extractor",
+                "sidebar_label": "Timestamp Extractor",
+                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Timestamp Enricher",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp"
+              },
+              "next": {
+                "title": "Tokenizer (English)",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer"
               }
             },
             {
@@ -13611,6 +16901,46 @@
                 "title": "Split Array",
                 "sidebar_label": "Split Array",
                 "original_id": "org.apache.streampipes.processors.transformation.jvm.split-array"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Speed Calculator",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed"
+              },
+              "next": {
+                "title": "State Buffer",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
+              "title": "String Counter",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
+                "title": "String Counter",
+                "sidebar_label": "String Counter",
+                "original_id": "org.apache.streampipes.processors.transformation.jvm.stringoperator.counter"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Stream Stop Detection",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.stop"
+              },
+              "next": {
+                "title": "String Timer",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer"
               }
             },
             {
@@ -13633,6 +16963,254 @@
                 "title": "String Timer",
                 "sidebar_label": "String Timer",
                 "original_id": "org.apache.streampipes.processors.transformation.jvm.stringoperator.timer"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "String Counter",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter"
+              },
+              "next": {
+                "title": "String To State",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
+              "title": "Task Duration",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.transformation.jvm.taskduration",
+                "title": "Task Duration",
+                "sidebar_label": "Task Duration",
+                "original_id": "org.apache.streampipes.processors.transformation.jvm.taskduration"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Synchronize Two Streams",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.merge"
+              },
+              "next": {
+                "title": "Text Filter",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
+              "id": "version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
+              "title": "Transform to boolean",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
+                "title": "Transform to boolean",
+                "sidebar_label": "Transform to boolean",
+                "original_id": "org.apache.streampipes.processors.transformation.jvm.transform-to-boolean"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Tokenizer (English)",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer"
+              },
+              "next": {
+                "title": "Trend",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.increase"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.protocol.set.file",
+              "id": "version-0.91.0/pe/org.apache.streampipes.protocol.set.file",
+              "title": "File Set",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.protocol.set.file.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.protocol.set.file",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.protocol.set.file",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.protocol.set.file",
+                "title": "File Set",
+                "sidebar_label": "File Set",
+                "original_id": "org.apache.streampipes.protocol.set.file"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "File Stream",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.file"
+              },
+              "next": {
+                "title": "Flic MQTT",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.protocol.set.http",
+              "id": "version-0.91.0/pe/org.apache.streampipes.protocol.set.http",
+              "title": "HTTP Set",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.protocol.set.http.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.protocol.set.http",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.protocol.set.http",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.protocol.set.http",
+                "title": "HTTP Set",
+                "sidebar_label": "HTTP Set",
+                "original_id": "org.apache.streampipes.protocol.set.http"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "HTTP Server",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver"
+              },
+              "next": {
+                "title": "HTTP Stream",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.http"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
+              "id": "version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
+              "title": "Buffered REST Publisher",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.sinks.brokers.jvm.bufferrest",
+                "title": "Buffered REST Publisher",
+                "sidebar_label": "Buffered REST Publisher",
+                "original_id": "org.apache.streampipes.sinks.brokers.jvm.bufferrest"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Word Count",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount"
+              },
+              "next": {
+                "title": "CouchDB",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.jms",
+              "id": "version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms",
+              "title": "JMS Publisher",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.jms",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.sinks.brokers.jvm.jms",
+                "title": "JMS Publisher",
+                "sidebar_label": "JMS Publisher",
+                "original_id": "org.apache.streampipes.sinks.brokers.jvm.jms"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "IoTDB",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb"
+              },
+              "next": {
+                "title": "Kafka Publisher",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
+              "id": "version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
+              "title": "Kafka Publisher",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.sinks.brokers.jvm.kafka",
+                "title": "Kafka Publisher",
+                "sidebar_label": "Kafka Publisher",
+                "original_id": "org.apache.streampipes.sinks.brokers.jvm.kafka"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "JMS Publisher",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms"
+              },
+              "next": {
+                "title": "MySQL Database",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
+              "id": "version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
+              "title": "MQTT Publisher",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.sinks.brokers.jvm.mqtt",
+                "title": "MQTT Publisher",
+                "sidebar_label": "MQTT Publisher",
+                "original_id": "org.apache.streampipes.sinks.brokers.jvm.mqtt"
               }
             },
             {
@@ -13655,6 +17233,46 @@
                 "title": "NATS Publisher",
                 "sidebar_label": "NATS Publisher",
                 "original_id": "org.apache.streampipes.sinks.brokers.jvm.nats"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "MySQL Database",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql"
+              },
+              "next": {
+                "title": "Notification",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.notification"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
+              "id": "version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
+              "title": "Pulsar Publisher",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.sinks.brokers.jvm.pulsar",
+                "title": "Pulsar Publisher",
+                "sidebar_label": "Pulsar Publisher",
+                "original_id": "org.apache.streampipes.sinks.brokers.jvm.pulsar"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "PostgreSQL",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql"
+              },
+              "next": {
+                "title": "REST Publisher",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest"
               }
             },
             {
@@ -13677,6 +17295,46 @@
                 "title": "RabbitMQ Publisher",
                 "sidebar_label": "RabbitMQ Publisher",
                 "original_id": "org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "REST Publisher",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest"
+              },
+              "next": {
+                "title": "Slack Notification",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.rest",
+              "id": "version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest",
+              "title": "REST Publisher",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.rest",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.sinks.brokers.jvm.rest",
+                "title": "REST Publisher",
+                "sidebar_label": "REST Publisher",
+                "original_id": "org.apache.streampipes.sinks.brokers.jvm.rest"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Pulsar Publisher",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar"
+              },
+              "next": {
+                "title": "RabbitMQ Publisher",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
               }
             },
             {
@@ -13699,6 +17357,139 @@
                 "title": "Eclipse Ditto",
                 "sidebar_label": "Eclipse Ditto",
                 "original_id": "org.apache.streampipes.sinks.databases.ditto"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Data Lake",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake"
+              },
+              "next": {
+                "title": "Elasticsearch",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
+              "id": "version-0.91.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
+              "title": "Elasticsearch",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.sinks.databases.flink.elasticsearch",
+                "title": "Elasticsearch",
+                "sidebar_label": "Elasticsearch",
+                "original_id": "org.apache.streampipes.sinks.databases.flink.elasticsearch"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Eclipse Ditto",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.ditto"
+              },
+              "next": {
+                "title": "Email Notification",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.email"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
+              "id": "version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
+              "title": "CouchDB",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.sinks.databases.jvm.couchdb",
+                "title": "CouchDB",
+                "sidebar_label": "CouchDB",
+                "original_id": "org.apache.streampipes.sinks.databases.jvm.couchdb"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Buffered REST Publisher",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest"
+              },
+              "next": {
+                "title": "Dashboard Sink",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
+              "id": "version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
+              "title": "InfluxDB",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.sinks.databases.jvm.influxdb",
+                "title": "InfluxDB",
+                "sidebar_label": "InfluxDB",
+                "original_id": "org.apache.streampipes.sinks.databases.jvm.influxdb"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Email Notification",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.email"
+              },
+              "next": {
+                "title": "IoTDB",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
+              "id": "version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
+              "title": "IoTDB",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.sinks.databases.jvm.iotdb",
+                "title": "IoTDB",
+                "sidebar_label": "IoTDB",
+                "original_id": "org.apache.streampipes.sinks.databases.jvm.iotdb"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "InfluxDB",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb"
+              },
+              "next": {
+                "title": "JMS Publisher",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms"
               }
             },
             {
@@ -13721,6 +17512,139 @@
                 "title": "MySQL Database",
                 "sidebar_label": "MySQL Database",
                 "original_id": "org.apache.streampipes.sinks.databases.jvm.mysql"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Kafka Publisher",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka"
+              },
+              "next": {
+                "title": "NATS Publisher",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.opcua",
+              "id": "version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua",
+              "title": "OPC-UA",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.opcua",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.sinks.databases.jvm.opcua",
+                "title": "OPC-UA",
+                "sidebar_label": "OPC-UA",
+                "original_id": "org.apache.streampipes.sinks.databases.jvm.opcua"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Notification",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.notification"
+              },
+              "next": {
+                "title": "OneSignal",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
+              "id": "version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
+              "title": "PostgreSQL",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.sinks.databases.jvm.postgresql",
+                "title": "PostgreSQL",
+                "sidebar_label": "PostgreSQL",
+                "original_id": "org.apache.streampipes.sinks.databases.jvm.postgresql"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "OneSignal",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal"
+              },
+              "next": {
+                "title": "Pulsar Publisher",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
+              "id": "version-0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
+              "title": "Dashboard Sink",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.sinks.internal.jvm.dashboard",
+                "title": "Dashboard Sink",
+                "sidebar_label": "Dashboard Sink",
+                "original_id": "org.apache.streampipes.sinks.internal.jvm.dashboard"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "CouchDB",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb"
+              },
+              "next": {
+                "title": "Data Lake",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.sinks.internal.jvm.datalake",
+              "id": "version-0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake",
+              "title": "Data Lake",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.sinks.internal.jvm.datalake",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.sinks.internal.jvm.datalake",
+                "title": "Data Lake",
+                "sidebar_label": "Data Lake",
+                "original_id": "org.apache.streampipes.sinks.internal.jvm.datalake"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Dashboard Sink",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard"
+              },
+              "next": {
+                "title": "Eclipse Ditto",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.ditto"
               }
             },
             {
@@ -13743,6 +17667,46 @@
                 "title": "Notification",
                 "sidebar_label": "Notification",
                 "original_id": "org.apache.streampipes.sinks.internal.jvm.notification"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "NATS Publisher",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats"
+              },
+              "next": {
+                "title": "OPC-UA",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.sinks.notifications.jvm.email",
+              "id": "version-0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.email",
+              "title": "Email Notification",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.email.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.sinks.notifications.jvm.email",
+              "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.email",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.sinks.notifications.jvm.email",
+                "title": "Email Notification",
+                "sidebar_label": "Email Notification",
+                "original_id": "org.apache.streampipes.sinks.notifications.jvm.email"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Elasticsearch",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch"
+              },
+              "next": {
+                "title": "InfluxDB",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb"
               }
             },
             {
@@ -13764,6 +17728,15 @@
                 "id": "org.apache.streampipes.sinks.notifications.jvm.onesignal",
                 "title": "OneSignal",
                 "sidebar_label": "OneSignal"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "OPC-UA",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua"
+              },
+              "next": {
+                "title": "PostgreSQL",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql"
               }
             },
             {
@@ -13785,6 +17758,15 @@
                 "id": "org.apache.streampipes.sinks.notifications.jvm.slack",
                 "title": "Slack Notification",
                 "sidebar_label": "Slack Notification"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "RabbitMQ Publisher",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
+              },
+              "next": {
+                "title": "Telegram Publisher",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram"
               }
             },
             {
@@ -13806,6 +17788,15 @@
                 "id": "org.apache.streampipes.sinks.notifications.jvm.telegram",
                 "title": "Telegram Publisher",
                 "sidebar_label": "Telegram Publisher"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Slack Notification",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack"
+              },
+              "next": {
+                "title": "Docker Deployment",
+                "permalink": "/docs/0.91.0/deploy-docker"
               }
             },
             {
@@ -13830,6 +17821,166 @@
               }
             },
             {
+              "unversionedId": "technicals-architecture",
+              "id": "version-0.91.0/technicals-architecture",
+              "title": "Architecture",
+              "description": "The following picture illustrates the high-level architecture of StreamPipes:",
+              "source": "@site/versioned_docs/version-0.91.0/07_technicals-architecture.md",
+              "sourceDirName": ".",
+              "slug": "/technicals-architecture",
+              "permalink": "/docs/0.91.0/technicals-architecture",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 7,
+              "frontMatter": {
+                "id": "technicals-architecture",
+                "title": "Architecture",
+                "sidebar_label": "Architecture",
+                "original_id": "technicals-architecture"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Migration Guide: 0.69.0",
+                "permalink": "/docs/0.91.0/extend-sdk-migration-service-discovery"
+              },
+              "next": {
+                "title": "User Guidance",
+                "permalink": "/docs/0.91.0/technicals-user-guidance"
+              }
+            },
+            {
+              "unversionedId": "technicals-configuration",
+              "id": "version-0.91.0/technicals-configuration",
+              "title": "Configuration",
+              "description": "On this page we explain how the StreamPipes configuration works.",
+              "source": "@site/versioned_docs/version-0.91.0/07_technicals-configuration.md",
+              "sourceDirName": ".",
+              "slug": "/technicals-configuration",
+              "permalink": "/docs/0.91.0/technicals-configuration",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 7,
+              "frontMatter": {
+                "id": "technicals-configuration",
+                "title": "Configuration",
+                "sidebar_label": "Configuration",
+                "original_id": "technicals-configuration"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Messaging",
+                "permalink": "/docs/0.91.0/technicals-messaging"
+              },
+              "next": {
+                "title": "Get Help",
+                "permalink": "/docs/0.91.0/community-get-help"
+              }
+            },
+            {
+              "unversionedId": "technicals-messaging",
+              "id": "version-0.91.0/technicals-messaging",
+              "title": "Messaging",
+              "description": "tbd",
+              "source": "@site/versioned_docs/version-0.91.0/07_technicals-messaging.md",
+              "sourceDirName": ".",
+              "slug": "/technicals-messaging",
+              "permalink": "/docs/0.91.0/technicals-messaging",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 7,
+              "frontMatter": {
+                "id": "technicals-messaging",
+                "title": "Messaging",
+                "sidebar_label": "Messaging",
+                "original_id": "technicals-messaging"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Runtime Wrappers",
+                "permalink": "/docs/0.91.0/technicals-runtime-wrappers"
+              },
+              "next": {
+                "title": "Configuration",
+                "permalink": "/docs/0.91.0/technicals-configuration"
+              }
+            },
+            {
+              "unversionedId": "technicals-runtime-wrappers",
+              "id": "version-0.91.0/technicals-runtime-wrappers",
+              "title": "Runtime Wrappers",
+              "description": "tbd",
+              "source": "@site/versioned_docs/version-0.91.0/07_technicals-runtime-wrappers.md",
+              "sourceDirName": ".",
+              "slug": "/technicals-runtime-wrappers",
+              "permalink": "/docs/0.91.0/technicals-runtime-wrappers",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 7,
+              "frontMatter": {
+                "id": "technicals-runtime-wrappers",
+                "title": "Runtime Wrappers",
+                "sidebar_label": "Runtime Wrappers",
+                "original_id": "technicals-runtime-wrappers"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "User Guidance",
+                "permalink": "/docs/0.91.0/technicals-user-guidance"
+              },
+              "next": {
+                "title": "Messaging",
+                "permalink": "/docs/0.91.0/technicals-messaging"
+              }
+            },
+            {
+              "unversionedId": "technicals-user-guidance",
+              "id": "version-0.91.0/technicals-user-guidance",
+              "title": "User Guidance",
+              "description": "tbd",
+              "source": "@site/versioned_docs/version-0.91.0/07_technicals-user-guidance.md",
+              "sourceDirName": ".",
+              "slug": "/technicals-user-guidance",
+              "permalink": "/docs/0.91.0/technicals-user-guidance",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 7,
+              "frontMatter": {
+                "id": "technicals-user-guidance",
+                "title": "User Guidance",
+                "sidebar_label": "User Guidance",
+                "original_id": "technicals-user-guidance"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Architecture",
+                "permalink": "/docs/0.91.0/technicals-architecture"
+              },
+              "next": {
+                "title": "Runtime Wrappers",
+                "permalink": "/docs/0.91.0/technicals-runtime-wrappers"
+              }
+            },
+            {
               "unversionedId": "try-installation",
               "id": "version-0.91.0/try-installation",
               "title": "Installation",
@@ -13850,6 +18001,294 @@
                 "title": "Installation",
                 "sidebar_label": "Installation",
                 "original_id": "try-installation"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Overview",
+                "permalink": "/docs/0.91.0/user-guide-introduction"
+              },
+              "next": {
+                "title": "Overview",
+                "permalink": "/docs/0.91.0/concepts-overview"
+              }
+            },
+            {
+              "unversionedId": "try-tutorial",
+              "id": "version-0.91.0/try-tutorial",
+              "title": "Interactive Tutorial",
+              "description": "Once you've installed StreamPipes and see the home screen, you'll see a number of modules that are part of the StreamPipes toolbox.",
+              "source": "@site/versioned_docs/version-0.91.0/01_try-tutorial.md",
+              "sourceDirName": ".",
+              "slug": "/try-tutorial",
+              "permalink": "/docs/0.91.0/try-tutorial",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 1,
+              "frontMatter": {
+                "id": "try-tutorial",
+                "title": "Interactive Tutorial",
+                "sidebar_label": "Interactive Tutorial",
+                "original_id": "try-tutorial"
+              }
+            },
+            {
+              "unversionedId": "use-configurations",
+              "id": "version-0.91.0/use-configurations",
+              "title": "Configurations",
+              "description": "The configuration section is an admin-only interface for system-wide settings.",
+              "source": "@site/versioned_docs/version-0.91.0/03_use-configurations.md",
+              "sourceDirName": ".",
+              "slug": "/use-configurations",
+              "permalink": "/docs/0.91.0/use-configurations",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 3,
+              "frontMatter": {
+                "id": "use-configurations",
+                "title": "Configurations",
+                "sidebar_label": "Configurations",
+                "original_id": "use-configurations"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Install Pipeline Elements",
+                "permalink": "/docs/0.91.0/use-install-pipeline-elements"
+              },
+              "next": {
+                "title": "Apache Kafka",
+                "permalink": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.kafka"
+              }
+            },
+            {
+              "unversionedId": "use-connect",
+              "id": "version-0.91.0/use-connect",
+              "title": "StreamPipes Connect",
+              "description": "StreamPipes Connect is the module to connect external data sources with Apache StreamPipes directly from the user interface.",
+              "source": "@site/versioned_docs/version-0.91.0/03_use-connect.md",
+              "sourceDirName": ".",
+              "slug": "/use-connect",
+              "permalink": "/docs/0.91.0/use-connect",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 3,
+              "frontMatter": {
+                "id": "use-connect",
+                "title": "StreamPipes Connect",
+                "sidebar_label": "StreamPipes Connect",
+                "original_id": "use-connect"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Overview",
+                "permalink": "/docs/0.91.0/concepts-overview"
+              },
+              "next": {
+                "title": "Pipeline Editor",
+                "permalink": "/docs/0.91.0/use-pipeline-editor"
+              }
+            },
+            {
+              "unversionedId": "use-dashboard",
+              "id": "version-0.91.0/use-dashboard",
+              "title": "Live Dashboard",
+              "description": "The live dashboard can be used to visualize live data of data streams using a set of visualizations",
+              "source": "@site/versioned_docs/version-0.91.0/03_use-dashboard.md",
+              "sourceDirName": ".",
+              "slug": "/use-dashboard",
+              "permalink": "/docs/0.91.0/use-dashboard",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 3,
+              "frontMatter": {
+                "id": "use-dashboard",
+                "title": "Live Dashboard",
+                "sidebar_label": "Live Dashboard",
+                "original_id": "use-dashboard"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Managing Pipelines",
+                "permalink": "/docs/0.91.0/use-managing-pipelines"
+              },
+              "next": {
+                "title": "Data Explorer",
+                "permalink": "/docs/0.91.0/use-data-explorer"
+              }
+            },
+            {
+              "unversionedId": "use-data-explorer",
+              "id": "version-0.91.0/use-data-explorer",
+              "title": "Data Explorer",
+              "description": "The data explorer can be used to visualize and explore data streams that are persisted by using the Data Lake sink.",
+              "source": "@site/versioned_docs/version-0.91.0/03_use-data-explorer.md",
+              "sourceDirName": ".",
+              "slug": "/use-data-explorer",
+              "permalink": "/docs/0.91.0/use-data-explorer",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 3,
+              "frontMatter": {
+                "id": "use-data-explorer",
+                "title": "Data Explorer",
+                "sidebar_label": "Data Explorer",
+                "original_id": "use-data-explorer"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Live Dashboard",
+                "permalink": "/docs/0.91.0/use-dashboard"
+              },
+              "next": {
+                "title": "Notifications",
+                "permalink": "/docs/0.91.0/use-notifications"
+              }
+            },
+            {
+              "unversionedId": "use-install-pipeline-elements",
+              "id": "version-0.91.0/use-install-pipeline-elements",
+              "title": "Install Pipeline Elements",
+              "description": "Install Pipeline Elements",
+              "source": "@site/versioned_docs/version-0.91.0/03_use-install-pipeline-elements.md",
+              "sourceDirName": ".",
+              "slug": "/use-install-pipeline-elements",
+              "permalink": "/docs/0.91.0/use-install-pipeline-elements",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 3,
+              "frontMatter": {
+                "id": "use-install-pipeline-elements",
+                "title": "Install Pipeline Elements",
+                "sidebar_label": "Install Pipeline Elements",
+                "original_id": "use-install-pipeline-elements"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Notifications",
+                "permalink": "/docs/0.91.0/use-notifications"
+              },
+              "next": {
+                "title": "Configurations",
+                "permalink": "/docs/0.91.0/use-configurations"
+              }
+            },
+            {
+              "unversionedId": "use-managing-pipelines",
+              "id": "version-0.91.0/use-managing-pipelines",
+              "title": "Managing Pipelines",
+              "description": "The pipeline view lists all created pipelines and provides several views and actions to manage the lifecycle of pipelines.",
+              "source": "@site/versioned_docs/version-0.91.0/03_use-managing-pipelines.md",
+              "sourceDirName": ".",
+              "slug": "/use-managing-pipelines",
+              "permalink": "/docs/0.91.0/use-managing-pipelines",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 3,
+              "frontMatter": {
+                "id": "use-managing-pipelines",
+                "title": "Managing Pipelines",
+                "sidebar_label": "Managing Pipelines",
+                "original_id": "use-managing-pipelines"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Pipeline Editor",
+                "permalink": "/docs/0.91.0/use-pipeline-editor"
+              },
+              "next": {
+                "title": "Live Dashboard",
+                "permalink": "/docs/0.91.0/use-dashboard"
+              }
+            },
+            {
+              "unversionedId": "use-notifications",
+              "id": "version-0.91.0/use-notifications",
+              "title": "Notifications",
+              "description": "The notification module can be used to create internal notifications.",
+              "source": "@site/versioned_docs/version-0.91.0/03_use-notifications.md",
+              "sourceDirName": ".",
+              "slug": "/use-notifications",
+              "permalink": "/docs/0.91.0/use-notifications",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 3,
+              "frontMatter": {
+                "id": "use-notifications",
+                "title": "Notifications",
+                "sidebar_label": "Notifications",
+                "original_id": "use-notifications"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Data Explorer",
+                "permalink": "/docs/0.91.0/use-data-explorer"
+              },
+              "next": {
+                "title": "Install Pipeline Elements",
+                "permalink": "/docs/0.91.0/use-install-pipeline-elements"
+              }
+            },
+            {
+              "unversionedId": "use-pipeline-editor",
+              "id": "version-0.91.0/use-pipeline-editor",
+              "title": "Pipeline Editor",
+              "description": "The pipeline editor module supports building pipelines that transform a data stream using a set of resuable data processors and data sinks.",
+              "source": "@site/versioned_docs/version-0.91.0/03_use-pipeline-editor.md",
+              "sourceDirName": ".",
+              "slug": "/use-pipeline-editor",
+              "permalink": "/docs/0.91.0/use-pipeline-editor",
+              "draft": false,
+              "tags": [],
+              "version": "0.91.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 3,
+              "frontMatter": {
+                "id": "use-pipeline-editor",
+                "title": "Pipeline Editor",
+                "sidebar_label": "Pipeline Editor",
+                "original_id": "use-pipeline-editor"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "StreamPipes Connect",
+                "permalink": "/docs/0.91.0/use-connect"
+              },
+              "next": {
+                "title": "Managing Pipelines",
+                "permalink": "/docs/0.91.0/use-managing-pipelines"
               }
             },
             {
@@ -13915,6 +18354,11 @@
                 "title": "Apache StreamPipes Documentation",
                 "sidebar_label": "Overview",
                 "original_id": "user-guide-introduction"
+              },
+              "sidebar": "documentation",
+              "next": {
+                "title": "Installation",
+                "permalink": "/docs/0.91.0/try-installation"
               }
             },
             {
@@ -13982,7 +18426,792 @@
             }
           ],
           "drafts": [],
-          "sidebars": {}
+          "sidebars": {
+            "documentation": [
+              {
+                "type": "category",
+                "label": "🚀 Try StreamPipes",
+                "items": [
+                  {
+                    "type": "doc",
+                    "id": "user-guide-introduction"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "try-installation"
+                  }
+                ],
+                "collapsed": true,
+                "collapsible": true
+              },
+              {
+                "type": "category",
+                "label": "💡 Concepts",
+                "items": [
+                  {
+                    "type": "doc",
+                    "id": "concepts-overview"
+                  }
+                ],
+                "collapsed": true,
+                "collapsible": true
+              },
+              {
+                "type": "category",
+                "label": "🎓 Use StreamPipes",
+                "items": [
+                  {
+                    "type": "doc",
+                    "id": "use-connect"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "use-pipeline-editor"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "use-managing-pipelines"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "use-dashboard"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "use-data-explorer"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "use-notifications"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "use-install-pipeline-elements"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "use-configurations"
+                  }
+                ],
+                "collapsed": true,
+                "collapsible": true
+              },
+              {
+                "type": "category",
+                "label": "📚 Pipeline Elements",
+                "items": [
+                  {
+                    "type": "category",
+                    "label": "Adapters",
+                    "items": [
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.protocol.stream.kafka"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.protocol.stream.pulsar"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.coindesk"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.protocol.stream.file"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.protocol.set.file"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.flic.mqtt"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.gdelt"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.protocol.stream.httpserver"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.protocol.set.http"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.protocol.stream.http"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.iex.news"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.iex.stocks"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.iss"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.image.set"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.image.stream"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.influxdb.set"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.influxdb.stream"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.protocol.stream.mqtt"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.simulator.machine"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.mysql.set"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.mysql.stream"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.netio.mqtt"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.netio.rest"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.opcua"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.plc4x.modbus"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.plc4x.s7"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.ros"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.simulator.randomdataset"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.slack"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.ti"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.wikipedia.edit"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.wikipedia.new"
+                      }
+                    ],
+                    "collapsed": true,
+                    "collapsible": true
+                  },
+                  {
+                    "type": "category",
+                    "label": "Data Processors",
+                    "items": [
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.absence"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.aggregation.flink.aggregation"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.and"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.duration-value"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.textmining.jvm.chunker"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.filters.jvm.compose"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.aggregation.flink.count"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.count-array"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.changedetection.jvm.cusum"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.aggregation.flink.eventcount"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.aggregation.flink.rate"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.flink.field-converter"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.flink.fieldhasher"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.flink.field-mapper"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.flink.field-renamer"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.siddhi.frequency"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.siddhi.frequencychange"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processor.geo.jvm.geocoding"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.textmining.flink.languagedetection"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.textmining.jvm.languagedetection"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.filters.jvm.enrich"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.textmining.jvm.namefinder"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.filters.jvm.numericalfilter"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.siddhi.numericalfilter"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.textmining.jvm.partofspeech"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.filters.jvm.project"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processor.imageclassification.qrcode"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.filters.jvm.limit"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.sequence"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.siddhi.sequence"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processor.geo.flink"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.speed"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.split-array"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.statistics.flink.statistics-summary"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.siddhi.stop"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.filters.jvm.merge"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.taskduration"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.filters.jvm.textfilter"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.filters.jvm.threshold"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.enricher.flink.timestamp"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.textmining.jvm.tokenizer"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.siddhi.increase"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.changed-value"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.textmining.flink.wordcount"
+                      }
+                    ],
+                    "collapsed": true,
+                    "collapsible": true
+                  },
+                  {
+                    "type": "category",
+                    "label": "Data Sinks",
+                    "items": [
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.databases.jvm.couchdb"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.internal.jvm.dashboard"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.internal.jvm.datalake"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.databases.ditto"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.databases.flink.elasticsearch"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.notifications.jvm.email"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.databases.jvm.influxdb"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.databases.jvm.iotdb"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.brokers.jvm.jms"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.brokers.jvm.kafka"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.databases.jvm.mysql"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.brokers.jvm.nats"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.internal.jvm.notification"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.databases.jvm.opcua"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.notifications.jvm.onesignal"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.databases.jvm.postgresql"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.brokers.jvm.pulsar"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.brokers.jvm.rest"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.notifications.jvm.slack"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.notifications.jvm.telegram"
+                      }
+                    ],
+                    "collapsed": true,
+                    "collapsible": true
+                  }
+                ],
+                "collapsed": true,
+                "collapsible": true
+              },
+              {
+                "type": "category",
+                "label": "⚡ Deploy StreamPipes",
+                "items": [
+                  {
+                    "type": "doc",
+                    "id": "deploy-docker"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "deploy-kubernetes"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "deploy-use-ssl"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "deploy-security"
+                  }
+                ],
+                "collapsed": true,
+                "collapsible": true
+              },
+              {
+                "type": "category",
+                "label": "💻 Extend StreamPipes",
+                "items": [
+                  {
+                    "type": "doc",
+                    "id": "extend-setup"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "extend-cli"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "extend-archetypes"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "extend-first-processor"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "extend-tutorial-data-sources"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "extend-tutorial-data-processors"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "extend-tutorial-data-sinks"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "extend-sdk-functions"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "extend-sdk-event-model"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "extend-sdk-stream-requirements"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "extend-sdk-static-properties"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "extend-sdk-output-strategies"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "extend-sdk-migration-service-discovery"
+                  }
+                ],
+                "collapsed": true,
+                "collapsible": true
+              },
+              {
+                "type": "category",
+                "label": "🔧 Technicals",
+                "items": [
+                  {
+                    "type": "doc",
+                    "id": "technicals-architecture"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "technicals-user-guidance"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "technicals-runtime-wrappers"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "technicals-messaging"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "technicals-configuration"
+                  }
+                ],
+                "collapsed": true,
+                "collapsible": true
+              },
+              {
+                "type": "category",
+                "label": "👪 Community",
+                "items": [
+                  {
+                    "type": "doc",
+                    "id": "community-get-help"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "community-contribute"
+                  }
+                ],
+                "collapsed": true,
+                "collapsible": true
+              }
+            ],
+            "faq": [
+              {
+                "type": "category",
+                "label": "FAQ",
+                "items": [
+                  {
+                    "type": "doc",
+                    "id": "faq-common-problems"
+                  }
+                ],
+                "collapsed": true,
+                "collapsible": true
+              }
+            ]
+          }
         },
         {
           "versionName": "0.90.0",
@@ -14019,6 +19248,439 @@
                 "title": "Contribute",
                 "sidebar_label": "Contribute",
                 "original_id": "community-contribute"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Get Help",
+                "permalink": "/docs/0.90.0/community-get-help"
+              }
+            },
+            {
+              "unversionedId": "community-get-help",
+              "id": "version-0.90.0/community-get-help",
+              "title": "Get Help",
+              "description": "The Apache StreamPipes community is happy to help with any questions or problems you might have.",
+              "source": "@site/versioned_docs/version-0.90.0/09_get-help.md",
+              "sourceDirName": ".",
+              "slug": "/community-get-help",
+              "permalink": "/docs/0.90.0/community-get-help",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 9,
+              "frontMatter": {
+                "id": "community-get-help",
+                "title": "Get Help",
+                "sidebar_label": "Get Help",
+                "original_id": "community-get-help"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Configuration",
+                "permalink": "/docs/0.90.0/technicals-configuration"
+              },
+              "next": {
+                "title": "Contribute",
+                "permalink": "/docs/0.90.0/community-contribute"
+              }
+            },
+            {
+              "unversionedId": "concepts-adapter",
+              "id": "version-0.90.0/concepts-adapter",
+              "title": "Data Adapters",
+              "description": "tbd",
+              "source": "@site/versioned_docs/version-0.90.0/02_concepts-adapter.md",
+              "sourceDirName": ".",
+              "slug": "/concepts-adapter",
+              "permalink": "/docs/0.90.0/concepts-adapter",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 2,
+              "frontMatter": {
+                "id": "concepts-adapter",
+                "title": "Data Adapters",
+                "sidebar_label": "Data Adapters",
+                "original_id": "concepts-adapter"
+              }
+            },
+            {
+              "unversionedId": "concepts-data-streams",
+              "id": "version-0.90.0/concepts-data-streams",
+              "title": "Data Streams",
+              "description": "tbd",
+              "source": "@site/versioned_docs/version-0.90.0/02_concepts-data-streams.md",
+              "sourceDirName": ".",
+              "slug": "/concepts-data-streams",
+              "permalink": "/docs/0.90.0/concepts-data-streams",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 2,
+              "frontMatter": {
+                "id": "concepts-data-streams",
+                "title": "Data Streams",
+                "sidebar_label": "Data Streams",
+                "original_id": "concepts-data-streams"
+              }
+            },
+            {
+              "unversionedId": "concepts-glossary",
+              "id": "version-0.90.0/concepts-glossary",
+              "title": "Glossary",
+              "description": "tbd",
+              "source": "@site/versioned_docs/version-0.90.0/02_concepts-glossary.md",
+              "sourceDirName": ".",
+              "slug": "/concepts-glossary",
+              "permalink": "/docs/0.90.0/concepts-glossary",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 2,
+              "frontMatter": {
+                "id": "concepts-glossary",
+                "title": "Glossary",
+                "sidebar_label": "Glossary",
+                "original_id": "concepts-glossary"
+              }
+            },
+            {
+              "unversionedId": "concepts-overview",
+              "id": "version-0.90.0/concepts-overview",
+              "title": "StreamPipes Concepts",
+              "description": "To understand how StreamPipes works, the knowledge of a few core concepts, illustrated below, will be helpful.",
+              "source": "@site/versioned_docs/version-0.90.0/02_concepts-overview.md",
+              "sourceDirName": ".",
+              "slug": "/concepts-overview",
+              "permalink": "/docs/0.90.0/concepts-overview",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 2,
+              "frontMatter": {
+                "id": "concepts-overview",
+                "title": "StreamPipes Concepts",
+                "sidebar_label": "Overview",
+                "original_id": "concepts-overview"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Installation",
+                "permalink": "/docs/0.90.0/try-installation"
+              },
+              "next": {
+                "title": "StreamPipes Connect",
+                "permalink": "/docs/0.90.0/use-connect"
+              }
+            },
+            {
+              "unversionedId": "concepts-pipelines",
+              "id": "version-0.90.0/concepts-pipelines",
+              "title": "Pipelines",
+              "description": "tbd",
+              "source": "@site/versioned_docs/version-0.90.0/02_concepts-pipeline.md",
+              "sourceDirName": ".",
+              "slug": "/concepts-pipelines",
+              "permalink": "/docs/0.90.0/concepts-pipelines",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 2,
+              "frontMatter": {
+                "id": "concepts-pipelines",
+                "title": "Pipelines",
+                "sidebar_label": "Pipelines",
+                "original_id": "concepts-pipelines"
+              }
+            },
+            {
+              "unversionedId": "debugging-debugging",
+              "id": "version-0.90.0/debugging-debugging",
+              "title": "Debugging",
+              "description": "tbd",
+              "source": "@site/versioned_docs/version-0.90.0/08_debugging.md",
+              "sourceDirName": ".",
+              "slug": "/debugging-debugging",
+              "permalink": "/docs/0.90.0/debugging-debugging",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 8,
+              "frontMatter": {
+                "id": "debugging-debugging",
+                "title": "Debugging",
+                "sidebar_label": "Debugging",
+                "original_id": "debugging-debugging"
+              }
+            },
+            {
+              "unversionedId": "debugging-monitoring",
+              "id": "version-0.90.0/debugging-monitoring",
+              "title": "Monitoring",
+              "description": "tbd",
+              "source": "@site/versioned_docs/version-0.90.0/08_monitoring.md",
+              "sourceDirName": ".",
+              "slug": "/debugging-monitoring",
+              "permalink": "/docs/0.90.0/debugging-monitoring",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 8,
+              "frontMatter": {
+                "id": "debugging-monitoring",
+                "title": "Monitoring",
+                "sidebar_label": "Monitoring",
+                "original_id": "debugging-monitoring"
+              }
+            },
+            {
+              "unversionedId": "deploy-docker",
+              "id": "version-0.90.0/deploy-docker",
+              "title": "Docker Deployment",
+              "description": "StreamPipes Compose is a simple collection of user-friendly docker-compose files that easily lets gain first-hand experience with Apache StreamPipes.",
+              "source": "@site/versioned_docs/version-0.90.0/05_deploy-docker.md",
+              "sourceDirName": ".",
+              "slug": "/deploy-docker",
+              "permalink": "/docs/0.90.0/deploy-docker",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 5,
+              "frontMatter": {
+                "id": "deploy-docker",
+                "title": "Docker Deployment",
+                "sidebar_label": "Docker Deployment",
+                "original_id": "deploy-docker"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Telegram Publisher",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram"
+              },
+              "next": {
+                "title": "Kubernetes Deployment",
+                "permalink": "/docs/0.90.0/deploy-kubernetes"
+              }
+            },
+            {
+              "unversionedId": "deploy-kubernetes",
+              "id": "version-0.90.0/deploy-kubernetes",
+              "title": "Kubernetes Deployment",
+              "description": "Prerequisites",
+              "source": "@site/versioned_docs/version-0.90.0/05_deploy-kubernetes.md",
+              "sourceDirName": ".",
+              "slug": "/deploy-kubernetes",
+              "permalink": "/docs/0.90.0/deploy-kubernetes",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 5,
+              "frontMatter": {
+                "id": "deploy-kubernetes",
+                "title": "Kubernetes Deployment",
+                "sidebar_label": "Kubernetes Deployment",
+                "original_id": "deploy-kubernetes"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Docker Deployment",
+                "permalink": "/docs/0.90.0/deploy-docker"
+              },
+              "next": {
+                "title": "Use SSL",
+                "permalink": "/docs/0.90.0/deploy-use-ssl"
+              }
+            },
+            {
+              "unversionedId": "deploy-security",
+              "id": "version-0.90.0/deploy-security",
+              "title": "Security",
+              "description": "Overriding default settings",
+              "source": "@site/versioned_docs/version-0.90.0/05_deploy-security.md",
+              "sourceDirName": ".",
+              "slug": "/deploy-security",
+              "permalink": "/docs/0.90.0/deploy-security",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 5,
+              "frontMatter": {
+                "id": "deploy-security",
+                "title": "Security",
+                "sidebar_label": "Security",
+                "original_id": "deploy-security"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Use SSL",
+                "permalink": "/docs/0.90.0/deploy-use-ssl"
+              },
+              "next": {
+                "title": "Development Setup",
+                "permalink": "/docs/0.90.0/extend-setup"
+              }
+            },
+            {
+              "unversionedId": "deploy-use-ssl",
+              "id": "version-0.90.0/deploy-use-ssl",
+              "title": "Use SSL",
+              "description": "This page explains how SSL Certificates can be used to provide transport layer security between your Browser and the Streampipes Backend.",
+              "source": "@site/versioned_docs/version-0.90.0/05_deploy-use-ssl.md",
+              "sourceDirName": ".",
+              "slug": "/deploy-use-ssl",
+              "permalink": "/docs/0.90.0/deploy-use-ssl",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 5,
+              "frontMatter": {
+                "id": "deploy-use-ssl",
+                "title": "Use SSL",
+                "sidebar_label": "Use SSL",
+                "original_id": "deploy-use-ssl"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Kubernetes Deployment",
+                "permalink": "/docs/0.90.0/deploy-kubernetes"
+              },
+              "next": {
+                "title": "Security",
+                "permalink": "/docs/0.90.0/deploy-security"
+              }
+            },
+            {
+              "unversionedId": "dev-guide-archetype",
+              "id": "version-0.90.0/dev-guide-archetype",
+              "title": "Start Developing",
+              "description": "",
+              "source": "@site/versioned_docs/version-0.90.0/dev-guide-archetype.md",
+              "sourceDirName": ".",
+              "slug": "/dev-guide-archetype",
+              "permalink": "/docs/0.90.0/dev-guide-archetype",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "dev-guide-archetype",
+                "title": "Start Developing",
+                "sidebar_label": "Start Developing",
+                "original_id": "dev-guide-archetype"
+              }
+            },
+            {
+              "unversionedId": "dev-guide-sdk-guide-processors",
+              "id": "version-0.90.0/dev-guide-sdk-guide-processors",
+              "title": "SDK Guide: Data Processors",
+              "description": "Project Setup",
+              "source": "@site/versioned_docs/version-0.90.0/dev-guide-processor-sdk.md",
+              "sourceDirName": ".",
+              "slug": "/dev-guide-sdk-guide-processors",
+              "permalink": "/docs/0.90.0/dev-guide-sdk-guide-processors",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "dev-guide-sdk-guide-processors",
+                "title": "SDK Guide: Data Processors",
+                "sidebar_label": "SDK Guide: Data Processors",
+                "original_id": "dev-guide-sdk-guide-processors"
+              }
+            },
+            {
+              "unversionedId": "dev-guide-sdk-guide-sinks",
+              "id": "version-0.90.0/dev-guide-sdk-guide-sinks",
+              "title": "SDK Guide: Data Sinks",
+              "description": "Project Setup",
+              "source": "@site/versioned_docs/version-0.90.0/dev-guide-sink-sdk.md",
+              "sourceDirName": ".",
+              "slug": "/dev-guide-sdk-guide-sinks",
+              "permalink": "/docs/0.90.0/dev-guide-sdk-guide-sinks",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "dev-guide-sdk-guide-sinks",
+                "title": "SDK Guide: Data Sinks",
+                "sidebar_label": "SDK Guide: Data Sinks",
+                "original_id": "dev-guide-sdk-guide-sinks"
+              }
+            },
+            {
+              "unversionedId": "extend-archetypes",
+              "id": "version-0.90.0/extend-archetypes",
+              "title": "Maven Archetypes",
+              "description": "In this tutorial we explain how you can use the Maven archetypes to develop your own StreamPipes processors and sinks.",
+              "source": "@site/versioned_docs/version-0.90.0/06_extend-archetypes.md",
+              "sourceDirName": ".",
+              "slug": "/extend-archetypes",
+              "permalink": "/docs/0.90.0/extend-archetypes",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 6,
+              "frontMatter": {
+                "id": "extend-archetypes",
+                "title": "Maven Archetypes",
+                "sidebar_label": "Maven Archetypes",
+                "original_id": "extend-archetypes"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "StreamPipes CLI",
+                "permalink": "/docs/0.90.0/extend-cli"
+              },
+              "next": {
+                "title": "Your first data processor",
+                "permalink": "/docs/0.90.0/extend-first-processor"
               }
             },
             {
@@ -14042,6 +19704,79 @@
                 "title": "StreamPipes CLI",
                 "sidebar_label": "StreamPipes CLI",
                 "original_id": "extend-cli"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Development Setup",
+                "permalink": "/docs/0.90.0/extend-setup"
+              },
+              "next": {
+                "title": "Maven Archetypes",
+                "permalink": "/docs/0.90.0/extend-archetypes"
+              }
+            },
+            {
+              "unversionedId": "extend-first-processor",
+              "id": "version-0.90.0/extend-first-processor",
+              "title": "Your first data processor",
+              "description": "In this section, we will explain how to start a pipeline element service and install it using the StreamPipes UI.",
+              "source": "@site/versioned_docs/version-0.90.0/06_extend-first-processor.md",
+              "sourceDirName": ".",
+              "slug": "/extend-first-processor",
+              "permalink": "/docs/0.90.0/extend-first-processor",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 6,
+              "frontMatter": {
+                "id": "extend-first-processor",
+                "title": "Your first data processor",
+                "sidebar_label": "Your first data processor",
+                "original_id": "extend-first-processor"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Maven Archetypes",
+                "permalink": "/docs/0.90.0/extend-archetypes"
+              },
+              "next": {
+                "title": "Tutorial: Data Sources",
+                "permalink": "/docs/0.90.0/extend-tutorial-data-sources"
+              }
+            },
+            {
+              "unversionedId": "extend-sdk-event-model",
+              "id": "version-0.90.0/extend-sdk-event-model",
+              "title": "SDK Guide: Event Model",
+              "description": "Introduction",
+              "source": "@site/versioned_docs/version-0.90.0/06_extend-sdk-event-model.md",
+              "sourceDirName": ".",
+              "slug": "/extend-sdk-event-model",
+              "permalink": "/docs/0.90.0/extend-sdk-event-model",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 6,
+              "frontMatter": {
+                "id": "extend-sdk-event-model",
+                "title": "SDK Guide: Event Model",
+                "sidebar_label": "SDK: Event Model",
+                "original_id": "extend-sdk-event-model"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "SDK: Functions",
+                "permalink": "/docs/0.90.0/extend-sdk-functions"
+              },
+              "next": {
+                "title": "SDK: Stream Requirements",
+                "permalink": "/docs/0.90.0/extend-sdk-stream-requirements"
               }
             },
             {
@@ -14065,6 +19800,15 @@
                 "title": "SDK Guide: Functions",
                 "sidebar_label": "SDK: Functions",
                 "original_id": "extend-sdk-functions"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Tutorial: Data Sinks",
+                "permalink": "/docs/0.90.0/extend-tutorial-data-sinks"
+              },
+              "next": {
+                "title": "SDK: Event Model",
+                "permalink": "/docs/0.90.0/extend-sdk-event-model"
               }
             },
             {
@@ -14088,6 +19832,15 @@
                 "title": "Migration Guide: New Service Discovery in 0.69.0",
                 "sidebar_label": "Migration Guide: 0.69.0",
                 "original_id": "extend-sdk-migration-service-discovery"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "SDK: Output Strategies",
+                "permalink": "/docs/0.90.0/extend-sdk-output-strategies"
+              },
+              "next": {
+                "title": "Architecture",
+                "permalink": "/docs/0.90.0/technicals-architecture"
               }
             },
             {
@@ -14111,6 +19864,15 @@
                 "title": "SDK Guide: Output Strategies",
                 "sidebar_label": "SDK: Output Strategies",
                 "original_id": "extend-sdk-output-strategies"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "SDK: Static Properties",
+                "permalink": "/docs/0.90.0/extend-sdk-static-properties"
+              },
+              "next": {
+                "title": "Migration Guide: 0.69.0",
+                "permalink": "/docs/0.90.0/extend-sdk-migration-service-discovery"
               }
             },
             {
@@ -14134,6 +19896,15 @@
                 "title": "SDK Guide: Static Properties",
                 "sidebar_label": "SDK: Static Properties",
                 "original_id": "extend-sdk-static-properties"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "SDK: Stream Requirements",
+                "permalink": "/docs/0.90.0/extend-sdk-stream-requirements"
+              },
+              "next": {
+                "title": "SDK: Output Strategies",
+                "permalink": "/docs/0.90.0/extend-sdk-output-strategies"
               }
             },
             {
@@ -14157,6 +19928,15 @@
                 "title": "SDK Guide: Stream Requirements",
                 "sidebar_label": "SDK: Stream Requirements",
                 "original_id": "extend-sdk-stream-requirements"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "SDK: Event Model",
+                "permalink": "/docs/0.90.0/extend-sdk-event-model"
+              },
+              "next": {
+                "title": "SDK: Static Properties",
+                "permalink": "/docs/0.90.0/extend-sdk-static-properties"
               }
             },
             {
@@ -14180,6 +19960,15 @@
                 "title": "Development Setup",
                 "sidebar_label": "Development Setup",
                 "original_id": "extend-setup"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Security",
+                "permalink": "/docs/0.90.0/deploy-security"
+              },
+              "next": {
+                "title": "StreamPipes CLI",
+                "permalink": "/docs/0.90.0/extend-cli"
               }
             },
             {
@@ -14203,6 +19992,15 @@
                 "title": "Tutorial: Data Processors",
                 "sidebar_label": "Tutorial: Data Processors",
                 "original_id": "extend-tutorial-data-processors"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Tutorial: Data Sources",
+                "permalink": "/docs/0.90.0/extend-tutorial-data-sources"
+              },
+              "next": {
+                "title": "Tutorial: Data Sinks",
+                "permalink": "/docs/0.90.0/extend-tutorial-data-sinks"
               }
             },
             {
@@ -14226,6 +20024,15 @@
                 "title": "Tutorial: Data Sinks",
                 "sidebar_label": "Tutorial: Data Sinks",
                 "original_id": "extend-tutorial-data-sinks"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Tutorial: Data Processors",
+                "permalink": "/docs/0.90.0/extend-tutorial-data-processors"
+              },
+              "next": {
+                "title": "SDK: Functions",
+                "permalink": "/docs/0.90.0/extend-sdk-functions"
               }
             },
             {
@@ -14249,6 +20056,69 @@
                 "title": "Tutorial: Data Sources",
                 "sidebar_label": "Tutorial: Data Sources",
                 "original_id": "extend-tutorial-data-sources"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Your first data processor",
+                "permalink": "/docs/0.90.0/extend-first-processor"
+              },
+              "next": {
+                "title": "Tutorial: Data Processors",
+                "permalink": "/docs/0.90.0/extend-tutorial-data-processors"
+              }
+            },
+            {
+              "unversionedId": "faq-common-problems",
+              "id": "version-0.90.0/faq-common-problems",
+              "title": "Common Problems",
+              "description": "* Windows 10: Consul, Kafka, Zookeeper, or Kafka-Rest did not start",
+              "source": "@site/versioned_docs/version-0.90.0/faq-common-problems.md",
+              "sourceDirName": ".",
+              "slug": "/faq-common-problems",
+              "permalink": "/docs/0.90.0/faq-common-problems",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "faq-common-problems",
+                "title": "Common Problems",
+                "sidebar_label": "Common Problems",
+                "original_id": "faq-common-problems"
+              },
+              "sidebar": "faq"
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.coindesk",
+              "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.coindesk",
+              "title": "Coindesk Bitcoin Price",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.coindesk.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.coindesk",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.coindesk",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.coindesk",
+                "title": "Coindesk Bitcoin Price",
+                "sidebar_label": "Coindesk Bitcoin Price",
+                "original_id": "org.apache.streampipes.connect.adapters.coindesk"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Apache Pulsar",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar"
+              },
+              "next": {
+                "title": "File Stream",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.file"
               }
             },
             {
@@ -14270,6 +20140,418 @@
                 "id": "org.apache.streampipes.connect.adapters.flic.mqtt",
                 "title": "Flic MQTT",
                 "sidebar_label": "Flic MQTT"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "File Set",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.protocol.set.file"
+              },
+              "next": {
+                "title": "GDELT",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.gdelt"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.gdelt",
+              "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.gdelt",
+              "title": "GDELT",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.gdelt.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.gdelt",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.gdelt",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.gdelt",
+                "title": "GDELT",
+                "sidebar_label": "GDELT",
+                "original_id": "org.apache.streampipes.connect.adapters.gdelt"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Flic MQTT",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt"
+              },
+              "next": {
+                "title": "HTTP Server",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.iex.news",
+              "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.iex.news",
+              "title": "IEX Cloud News",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.iex.news.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.iex.news",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iex.news",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.iex.news",
+                "title": "IEX Cloud News",
+                "sidebar_label": "IEX Cloud News",
+                "original_id": "org.apache.streampipes.connect.adapters.iex.news"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "HTTP Stream",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.http"
+              },
+              "next": {
+                "title": "IEX Cloud Stock Quotes",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iex.stocks"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.iex.stocks",
+              "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.iex.stocks",
+              "title": "IEX Cloud Stock Quotes",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.iex.stocks.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.iex.stocks",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iex.stocks",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.iex.stocks",
+                "title": "IEX Cloud Stock Quotes",
+                "sidebar_label": "IEX Cloud Stock Quotes",
+                "original_id": "org.apache.streampipes.connect.adapters.iex.stocks"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "IEX Cloud News",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iex.news"
+              },
+              "next": {
+                "title": "ISS Location",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iss"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.image.set",
+              "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.image.set",
+              "title": "Image Upload (Set)",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.image.set.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.image.set",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.image.set",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.image.set",
+                "title": "Image Upload (Set)",
+                "sidebar_label": "Image Upload (Set)",
+                "original_id": "org.apache.streampipes.connect.adapters.image.set"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "ISS Location",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iss"
+              },
+              "next": {
+                "title": "Image Upload (Stream)",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.image.stream"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.image.stream",
+              "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.image.stream",
+              "title": "Image Upload (Stream)",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.image.stream.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.image.stream",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.image.stream",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.image.stream",
+                "title": "Image Upload (Stream)",
+                "sidebar_label": "Image Upload (Stream)",
+                "original_id": "org.apache.streampipes.connect.adapters.image.stream"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Image Upload (Set)",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.image.set"
+              },
+              "next": {
+                "title": "InfluxDB Set Adapter",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.set"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.influxdb.set",
+              "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.set",
+              "title": "InfluxDB Set Adapter",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.set.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.influxdb.set",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.set",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.influxdb.set",
+                "title": "InfluxDB Set Adapter",
+                "sidebar_label": "InfluxDB Set Adapter",
+                "original_id": "org.apache.streampipes.connect.adapters.influxdb.set"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Image Upload (Stream)",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.image.stream"
+              },
+              "next": {
+                "title": "InfluxDB Stream Adapter",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.influxdb.stream",
+              "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream",
+              "title": "InfluxDB Stream Adapter",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.influxdb.stream",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.influxdb.stream",
+                "title": "InfluxDB Stream Adapter",
+                "sidebar_label": "InfluxDB Stream Adapter",
+                "original_id": "org.apache.streampipes.connect.adapters.influxdb.stream"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "InfluxDB Set Adapter",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.set"
+              },
+              "next": {
+                "title": "MQTT",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.iss",
+              "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.iss",
+              "title": "ISS Location",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.iss.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.iss",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iss",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.iss",
+                "title": "ISS Location",
+                "sidebar_label": "ISS Location",
+                "original_id": "org.apache.streampipes.connect.adapters.iss"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "IEX Cloud Stock Quotes",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iex.stocks"
+              },
+              "next": {
+                "title": "Image Upload (Set)",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.image.set"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.mysql.set",
+              "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.set",
+              "title": "MySQL Set Adapter",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.set.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.mysql.set",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.set",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.mysql.set",
+                "title": "MySQL Set Adapter",
+                "sidebar_label": "MySQL Set Adapter",
+                "original_id": "org.apache.streampipes.connect.adapters.mysql.set"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Machine Data Simulator",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.machine"
+              },
+              "next": {
+                "title": "MySql Stream Adapter",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.stream"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.mysql.stream",
+              "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.stream",
+              "title": "MySql Stream Adapter",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.stream.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.mysql.stream",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.stream",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.mysql.stream",
+                "title": "MySql Stream Adapter",
+                "sidebar_label": "MySql Stream Adapter",
+                "original_id": "org.apache.streampipes.connect.adapters.mysql.stream"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "MySQL Set Adapter",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.set"
+              },
+              "next": {
+                "title": "NETIO MQTT M2M",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.netio.mqtt",
+              "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt",
+              "title": "NETIO MQTT M2M",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.netio.mqtt",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.netio.mqtt",
+                "title": "NETIO MQTT M2M",
+                "sidebar_label": "NETIO MQTT M2M",
+                "original_id": "org.apache.streampipes.connect.adapters.netio.mqtt"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "MySql Stream Adapter",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.stream"
+              },
+              "next": {
+                "title": "NETIO http JSON",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.netio.rest"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.netio.rest",
+              "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.netio.rest",
+              "title": "NETIO http JSON",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.netio.rest.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.netio.rest",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.netio.rest",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.netio.rest",
+                "title": "NETIO http JSON",
+                "sidebar_label": "NETIO http JSON",
+                "original_id": "org.apache.streampipes.connect.adapters.netio.rest"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "NETIO MQTT M2M",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt"
+              },
+              "next": {
+                "title": "NSW Traffic Cameras",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
+              "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
+              "title": "NSW Traffic Cameras",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
+                "title": "NSW Traffic Cameras",
+                "sidebar_label": "NSW Traffic Cameras",
+                "original_id": "org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "NETIO http JSON",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.netio.rest"
+              },
+              "next": {
+                "title": "OPC UA",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.opcua"
               }
             },
             {
@@ -14292,6 +20574,15 @@
                 "title": "OPC UA",
                 "sidebar_label": "OPC UA",
                 "original_id": "org.apache.streampipes.connect.adapters.opcua"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "NSW Traffic Cameras",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera"
+              },
+              "next": {
+                "title": "PLC4X MODBUS",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus"
               }
             },
             {
@@ -14314,6 +20605,77 @@
                 "title": "PLC4X MODBUS",
                 "sidebar_label": "PLC4X MODBUS",
                 "original_id": "org.apache.streampipes.connect.adapters.plc4x.modbus"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "OPC UA",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.opcua"
+              },
+              "next": {
+                "title": "PLC4X S7",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.plc4x.s7",
+              "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7",
+              "title": "PLC4X S7",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.plc4x.s7",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.plc4x.s7",
+                "title": "PLC4X S7",
+                "sidebar_label": "PLC4X S7",
+                "original_id": "org.apache.streampipes.connect.adapters.plc4x.s7"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "PLC4X MODBUS",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus"
+              },
+              "next": {
+                "title": "ROS Bridge",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.ros"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.ros",
+              "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.ros",
+              "title": "ROS Bridge",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.ros.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.ros",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.ros",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.ros",
+                "title": "ROS Bridge",
+                "sidebar_label": "ROS Bridge",
+                "original_id": "org.apache.streampipes.connect.adapters.ros"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "PLC4X S7",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7"
+              },
+              "next": {
+                "title": "Random Data Simulator (Set)",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset"
               }
             },
             {
@@ -14336,6 +20698,263 @@
                 "title": "Machine Data Simulator",
                 "sidebar_label": "Machine Data Simulator",
                 "original_id": "org.apache.streampipes.connect.adapters.simulator.machine"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "MQTT",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt"
+              },
+              "next": {
+                "title": "MySQL Set Adapter",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.set"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
+              "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
+              "title": "Random Data Simulator (Set)",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.simulator.randomdataset",
+                "title": "Random Data Simulator (Set)",
+                "sidebar_label": "Random Data Simulator (Set)",
+                "original_id": "org.apache.streampipes.connect.adapters.simulator.randomdataset"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "ROS Bridge",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.ros"
+              },
+              "next": {
+                "title": "Random Data Simulator (Stream)",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
+              "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
+              "title": "Random Data Simulator (Stream)",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.simulator.randomdatastream",
+                "title": "Random Data Simulator (Stream)",
+                "sidebar_label": "Random Data Simulator (Stream)",
+                "original_id": "org.apache.streampipes.connect.adapters.simulator.randomdatastream"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Random Data Simulator (Set)",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset"
+              },
+              "next": {
+                "title": "Slack",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.slack"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.slack",
+              "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.slack",
+              "title": "Slack",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.slack.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.slack",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.slack",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.slack",
+                "title": "Slack",
+                "sidebar_label": "Slack",
+                "original_id": "org.apache.streampipes.connect.adapters.slack"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Random Data Simulator (Stream)",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream"
+              },
+              "next": {
+                "title": "TI Sensor Tag",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.ti"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.ti",
+              "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.ti",
+              "title": "TI Sensor Tag",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.ti.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.ti",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.ti",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.ti",
+                "title": "TI Sensor Tag",
+                "sidebar_label": "TI Sensor Tag",
+                "original_id": "org.apache.streampipes.connect.adapters.ti"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Slack",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.slack"
+              },
+              "next": {
+                "title": "Wikipedia Edits",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
+              "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
+              "title": "Wikipedia Edits",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.wikipedia.edit",
+                "title": "Wikipedia Edits",
+                "sidebar_label": "Wikipedia Edits",
+                "original_id": "org.apache.streampipes.connect.adapters.wikipedia.edit"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "TI Sensor Tag",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.ti"
+              },
+              "next": {
+                "title": "Wikipedia New Articles",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.adapters.wikipedia.new",
+              "id": "version-0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new",
+              "title": "Wikipedia New Articles",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.adapters.wikipedia.new",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.adapters.wikipedia.new",
+                "title": "Wikipedia New Articles",
+                "sidebar_label": "Wikipedia New Articles",
+                "original_id": "org.apache.streampipes.connect.adapters.wikipedia.new"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Wikipedia Edits",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit"
+              },
+              "next": {
+                "title": "Absence",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.file",
+              "id": "version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.file",
+              "title": "File Stream",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.file.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.protocol.stream.file",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.file",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.protocol.stream.file",
+                "title": "File Stream",
+                "sidebar_label": "File Stream",
+                "original_id": "org.apache.streampipes.connect.protocol.stream.file"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Coindesk Bitcoin Price",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.coindesk"
+              },
+              "next": {
+                "title": "File Set",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.protocol.set.file"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.http",
+              "id": "version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.http",
+              "title": "HTTP Stream",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.http.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.protocol.stream.http",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.http",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.protocol.stream.http",
+                "title": "HTTP Stream",
+                "sidebar_label": "HTTP Stream",
+                "original_id": "org.apache.streampipes.connect.protocol.stream.http"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "HTTP Set",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.protocol.set.http"
+              },
+              "next": {
+                "title": "IEX Cloud News",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iex.news"
               }
             },
             {
@@ -14358,6 +20977,139 @@
                 "title": "HTTP Server",
                 "sidebar_label": "HTTP Server",
                 "original_id": "org.apache.streampipes.connect.protocol.stream.httpserver"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "GDELT",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.gdelt"
+              },
+              "next": {
+                "title": "HTTP Set",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.protocol.set.http"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.kafka",
+              "id": "version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.kafka",
+              "title": "Apache Kafka",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.kafka.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.protocol.stream.kafka",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.kafka",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.protocol.stream.kafka",
+                "title": "Apache Kafka",
+                "sidebar_label": "Apache Kafka",
+                "original_id": "org.apache.streampipes.connect.protocol.stream.kafka"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Configurations",
+                "permalink": "/docs/0.90.0/use-configurations"
+              },
+              "next": {
+                "title": "Apache Pulsar",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.mqtt",
+              "id": "version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt",
+              "title": "MQTT",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.protocol.stream.mqtt",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.protocol.stream.mqtt",
+                "title": "MQTT",
+                "sidebar_label": "MQTT",
+                "original_id": "org.apache.streampipes.connect.protocol.stream.mqtt"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "InfluxDB Stream Adapter",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream"
+              },
+              "next": {
+                "title": "Machine Data Simulator",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.machine"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.pulsar",
+              "id": "version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar",
+              "title": "Apache Pulsar",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.connect.protocol.stream.pulsar",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.connect.protocol.stream.pulsar",
+                "title": "Apache Pulsar",
+                "sidebar_label": "Apache Pulsar",
+                "original_id": "org.apache.streampipes.connect.protocol.stream.pulsar"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Apache Kafka",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.kafka"
+              },
+              "next": {
+                "title": "Coindesk Bitcoin Price",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.coindesk"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processor.geo.flink",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processor.geo.flink",
+              "title": "Spatial Grid Enrichment",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processor.geo.flink.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processor.geo.flink",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.flink",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processor.geo.flink",
+                "title": "Spatial Grid Enrichment",
+                "sidebar_label": "Spatial Grid Enrichment",
+                "original_id": "org.apache.streampipes.processor.geo.flink"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Size Measure",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure"
+              },
+              "next": {
+                "title": "Speed Calculator",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed"
               }
             },
             {
@@ -14380,6 +21132,15 @@
                 "title": "Google Maps Geocoder",
                 "sidebar_label": "Google Maps Geocoder",
                 "original_id": "org.apache.streampipes.processor.geo.jvm.geocoding"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Generic Image Classification",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
+              },
+              "next": {
+                "title": "Image Cropper",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper"
               }
             },
             {
@@ -14402,6 +21163,15 @@
                 "title": "Reverse Geocoder",
                 "sidebar_label": "Reverse Geocoder",
                 "original_id": "org.apache.streampipes.processor.geo.jvm.reversegeocoding"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Rate Limit",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.limit"
+              },
+              "next": {
+                "title": "Sentence Detection (English)",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection"
               }
             },
             {
@@ -14424,6 +21194,15 @@
                 "title": "Static Google Maps Geocoder",
                 "sidebar_label": "Static Google Maps Geocoder",
                 "original_id": "org.apache.streampipes.processor.geo.jvm.staticgeocoding"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Static Distance Calculator",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator"
+              },
+              "next": {
+                "title": "Static Math",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop"
               }
             },
             {
@@ -14446,6 +21225,46 @@
                 "title": "Generic Image Classification",
                 "sidebar_label": "Generic Image Classification",
                 "original_id": "org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Frequency Change",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.frequencychange"
+              },
+              "next": {
+                "title": "Google Maps Geocoder",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
+              "title": "Image Cropper",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
+                "title": "Image Cropper",
+                "sidebar_label": "Image Cropper",
+                "original_id": "org.apache.streampipes.processor.imageclassification.jvm.image-cropper"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Google Maps Geocoder",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding"
+              },
+              "next": {
+                "title": "Image Enricher",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
               }
             },
             {
@@ -14468,6 +21287,15 @@
                 "title": "Image Enricher",
                 "sidebar_label": "Image Enricher",
                 "original_id": "org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Image Cropper",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper"
+              },
+              "next": {
+                "title": "Language Detection",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection"
               }
             },
             {
@@ -14490,6 +21318,15 @@
                 "title": "QR Code Reader",
                 "sidebar_label": "QR Code Reader",
                 "original_id": "org.apache.streampipes.processor.imageclassification.qrcode"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Projection",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.project"
+              },
+              "next": {
+                "title": "Rate Limit",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.limit"
               }
             },
             {
@@ -14512,6 +21349,15 @@
                 "title": "Aggregation",
                 "sidebar_label": "Aggregation",
                 "original_id": "org.apache.streampipes.processors.aggregation.flink.aggregation"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Absence",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence"
+              },
+              "next": {
+                "title": "And",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and"
               }
             },
             {
@@ -14534,6 +21380,15 @@
                 "title": "Count Aggregation",
                 "sidebar_label": "Count Aggregation",
                 "original_id": "org.apache.streampipes.processors.aggregation.flink.count"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Compose",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.compose"
+              },
+              "next": {
+                "title": "Count Array",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array"
               }
             },
             {
@@ -14556,6 +21411,15 @@
                 "title": "Event Counter",
                 "sidebar_label": "Event Counter",
                 "original_id": "org.apache.streampipes.processors.aggregation.flink.eventcount"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "EPSG Code",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG"
+              },
+              "next": {
+                "title": "Event Rate",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.rate"
               }
             },
             {
@@ -14578,6 +21442,15 @@
                 "title": "Event Rate",
                 "sidebar_label": "Event Rate",
                 "original_id": "org.apache.streampipes.processors.aggregation.flink.rate"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Event Counter",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount"
+              },
+              "next": {
+                "title": "Field Converter",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter"
               }
             },
             {
@@ -14600,6 +21473,263 @@
                 "title": "Cusum",
                 "sidebar_label": "Cusum",
                 "original_id": "org.apache.streampipes.processors.changedetection.jvm.cusum"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Creates JTS Point",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo"
+              },
+              "next": {
+                "title": "Distance Calculator",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
+              "title": "Math",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
+                "title": "Math",
+                "sidebar_label": "Math",
+                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.math.mathop"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Language Detection",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection"
+              },
+              "next": {
+                "title": "Measure Time Between Two Sensors",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
+              "title": "Static Math",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
+                "title": "Static Math",
+                "sidebar_label": "Static Math",
+                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Static Google Maps Geocoder",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding"
+              },
+              "next": {
+                "title": "Statistics Summary",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
+              "title": "Trigonometry Functions",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
+                "title": "Trigonometry Functions",
+                "sidebar_label": "Trigonometry Functions",
+                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.trigonometry"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Trend",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.increase"
+              },
+              "next": {
+                "title": "URL Dereferencing",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
+              "title": "URL Dereferencing",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
+                "title": "URL Dereferencing",
+                "sidebar_label": "URL Dereferencing",
+                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.urldereferencing"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Trigonometry Functions",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry"
+              },
+              "next": {
+                "title": "Value Changed",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.timestamp",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp",
+              "title": "Timestamp Enricher",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.enricher.flink.timestamp",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.enricher.flink.timestamp",
+                "title": "Timestamp Enricher",
+                "sidebar_label": "Timestamp Enricher",
+                "original_id": "org.apache.streampipes.processors.enricher.flink.timestamp"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Threshold Detector",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.threshold"
+              },
+              "next": {
+                "title": "Timestamp Extractor",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
+              "title": "Size Measure",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.enricher.jvm.sizemeasure",
+                "title": "Size Measure",
+                "sidebar_label": "Size Measure",
+                "original_id": "org.apache.streampipes.processors.enricher.jvm.sizemeasure"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Single Trajectory Creator",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory"
+              },
+              "next": {
+                "title": "Spatial Grid Enrichment",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.flink"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.compose",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.compose",
+              "title": "Compose",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.compose.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.compose",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.compose",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.filters.jvm.compose",
+                "title": "Compose",
+                "sidebar_label": "Compose",
+                "original_id": "org.apache.streampipes.processors.filters.jvm.compose"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Chunker (English)",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker"
+              },
+              "next": {
+                "title": "Count Aggregation",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.count"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.enrich",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.enrich",
+              "title": "Merge By Enrich",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.enrich.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.enrich",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.enrich",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.filters.jvm.enrich",
+                "title": "Merge By Enrich",
+                "sidebar_label": "Merge By Enrich",
+                "original_id": "org.apache.streampipes.processors.filters.jvm.enrich"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Measurement Unit Converter",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
+              },
+              "next": {
+                "title": "Name Finder",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder"
               }
             },
             {
@@ -14622,6 +21752,15 @@
                 "title": "Rate Limit",
                 "sidebar_label": "Rate Limit",
                 "original_id": "org.apache.streampipes.processors.filters.jvm.limit"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "QR Code Reader",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.qrcode"
+              },
+              "next": {
+                "title": "Reverse Geocoder",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding"
               }
             },
             {
@@ -14644,6 +21783,263 @@
                 "title": "Synchronize Two Streams",
                 "sidebar_label": "Synchronize Two Streams",
                 "original_id": "org.apache.streampipes.processors.filters.jvm.merge"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "String To State",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state"
+              },
+              "next": {
+                "title": "Task Duration",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
+              "title": "Numerical Filter",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.filters.jvm.numericalfilter",
+                "title": "Numerical Filter",
+                "sidebar_label": "Numerical Filter",
+                "original_id": "org.apache.streampipes.processors.filters.jvm.numericalfilter"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Number Labeler",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number"
+              },
+              "next": {
+                "title": "Numerical Filter (Siddhi)",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
+              "title": "Numerical Text Filter",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
+                "title": "Numerical Text Filter",
+                "sidebar_label": "Numerical Text Filter",
+                "original_id": "org.apache.streampipes.processors.filters.jvm.numericaltextfilter"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Numerical Filter (Siddhi)",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter"
+              },
+              "next": {
+                "title": "Part of Speech (English)",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.project",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.project",
+              "title": "Projection",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.project.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.project",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.project",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.filters.jvm.project",
+                "title": "Projection",
+                "sidebar_label": "Projection",
+                "original_id": "org.apache.streampipes.processors.filters.jvm.project"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Peak Detection",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
+              },
+              "next": {
+                "title": "QR Code Reader",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.qrcode"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.textfilter",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter",
+              "title": "Text Filter",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.textfilter",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.filters.jvm.textfilter",
+                "title": "Text Filter",
+                "sidebar_label": "Text Filter",
+                "original_id": "org.apache.streampipes.processors.filters.jvm.textfilter"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Task Duration",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration"
+              },
+              "next": {
+                "title": "Threshold Detector",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.threshold"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.threshold",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.threshold",
+              "title": "Threshold Detector",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.threshold.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.threshold",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.threshold",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.filters.jvm.threshold",
+                "title": "Threshold Detector",
+                "sidebar_label": "Threshold Detector",
+                "original_id": "org.apache.streampipes.processors.filters.jvm.threshold"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Text Filter",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter"
+              },
+              "next": {
+                "title": "Timestamp Enricher",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
+              "title": "Creates JTS Point",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
+                "title": "Creates JTS Point",
+                "sidebar_label": "Creates JTS Point",
+                "original_id": "org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Count Array",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array"
+              },
+              "next": {
+                "title": "Cusum",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
+              "title": "EPSG Code",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
+                "title": "EPSG Code",
+                "sidebar_label": "EPSG Code",
+                "original_id": "org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Distance Calculator",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
+              },
+              "next": {
+                "title": "Event Counter",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
+              "title": "Single Trajectory Creator",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
+                "title": "Single Trajectory Creator",
+                "sidebar_label": "Single Trajectory Creator",
+                "original_id": "org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Signal Edge Filter",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge"
+              },
+              "next": {
+                "title": "Size Measure",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure"
               }
             },
             {
@@ -14666,6 +22062,46 @@
                 "title": "Distance Calculator",
                 "sidebar_label": "Distance Calculator",
                 "original_id": "org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Cusum",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum"
+              },
+              "next": {
+                "title": "EPSG Code",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
+              "title": "Speed Calculator",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.geo.jvm.processor.speed",
+                "title": "Speed Calculator",
+                "sidebar_label": "Speed Calculator",
+                "original_id": "org.apache.streampipes.processors.geo.jvm.processor.speed"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Spatial Grid Enrichment",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.flink"
+              },
+              "next": {
+                "title": "Split Array",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array"
               }
             },
             {
@@ -14688,6 +22124,15 @@
                 "title": "Static Distance Calculator",
                 "sidebar_label": "Static Distance Calculator",
                 "original_id": "org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "State Buffer Labeler",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer"
+              },
+              "next": {
+                "title": "Static Google Maps Geocoder",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding"
               }
             },
             {
@@ -14710,6 +22155,15 @@
                 "title": "Absence",
                 "sidebar_label": "Absence",
                 "original_id": "org.apache.streampipes.processors.pattern-detection.flink.absence"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Wikipedia New Articles",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new"
+              },
+              "next": {
+                "title": "Aggregation",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation"
               }
             },
             {
@@ -14732,6 +22186,15 @@
                 "title": "And",
                 "sidebar_label": "And",
                 "original_id": "org.apache.streampipes.processors.pattern-detection.flink.and"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Aggregation",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation"
+              },
+              "next": {
+                "title": "Boilerplate Removal",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate"
               }
             },
             {
@@ -14754,6 +22217,15 @@
                 "title": "Peak Detection",
                 "sidebar_label": "Peak Detection",
                 "original_id": "org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Part of Speech (English)",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech"
+              },
+              "next": {
+                "title": "Projection",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.project"
               }
             },
             {
@@ -14776,6 +22248,15 @@
                 "title": "Sequence",
                 "sidebar_label": "Sequence",
                 "original_id": "org.apache.streampipes.processors.pattern-detection.flink.sequence"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Sentence Detection (English)",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection"
+              },
+              "next": {
+                "title": "Sequence Detection",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.sequence"
               }
             },
             {
@@ -14798,6 +22279,15 @@
                 "title": "Frequency Calculation",
                 "sidebar_label": "Frequency Calculation",
                 "original_id": "org.apache.streampipes.processors.siddhi.frequency"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Field Renamer",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer"
+              },
+              "next": {
+                "title": "Frequency Change",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.frequencychange"
               }
             },
             {
@@ -14820,6 +22310,15 @@
                 "title": "Frequency Change",
                 "sidebar_label": "Frequency Change",
                 "original_id": "org.apache.streampipes.processors.siddhi.frequencychange"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Frequency Calculation",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.frequency"
+              },
+              "next": {
+                "title": "Generic Image Classification",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
               }
             },
             {
@@ -14842,6 +22341,15 @@
                 "title": "Trend",
                 "sidebar_label": "Trend",
                 "original_id": "org.apache.streampipes.processors.siddhi.increase"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Transform to boolean",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean"
+              },
+              "next": {
+                "title": "Trigonometry Functions",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry"
               }
             },
             {
@@ -14864,6 +22372,46 @@
                 "title": "Numerical Filter (Siddhi)",
                 "sidebar_label": "Numerical Filter (Siddhi)",
                 "original_id": "org.apache.streampipes.processors.siddhi.numericalfilter"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Numerical Filter",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter"
+              },
+              "next": {
+                "title": "Numerical Text Filter",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.sequence",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.siddhi.sequence",
+              "title": "Sequence Detection",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.siddhi.sequence.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.siddhi.sequence",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.sequence",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.siddhi.sequence",
+                "title": "Sequence Detection",
+                "sidebar_label": "Sequence Detection",
+                "original_id": "org.apache.streampipes.processors.siddhi.sequence"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Sequence",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence"
+              },
+              "next": {
+                "title": "Signal Edge Filter",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge"
               }
             },
             {
@@ -14886,6 +22434,46 @@
                 "title": "Stream Stop Detection",
                 "sidebar_label": "Stream Stop Detection",
                 "original_id": "org.apache.streampipes.processors.siddhi.stop"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Statistics Summary",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary"
+              },
+              "next": {
+                "title": "String Counter",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
+              "title": "Statistics Summary",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.statistics.flink.statistics-summary",
+                "title": "Statistics Summary",
+                "sidebar_label": "Statistics Summary",
+                "original_id": "org.apache.streampipes.processors.statistics.flink.statistics-summary"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Static Math",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop"
+              },
+              "next": {
+                "title": "Stream Stop Detection",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.stop"
               }
             },
             {
@@ -14908,6 +22496,15 @@
                 "title": "Language Detection",
                 "sidebar_label": "Language Detection",
                 "original_id": "org.apache.streampipes.processors.textmining.flink.languagedetection"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Image Enricher",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
+              },
+              "next": {
+                "title": "Language Detection",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection"
               }
             },
             {
@@ -14930,6 +22527,201 @@
                 "title": "Word Count",
                 "sidebar_label": "Word Count",
                 "original_id": "org.apache.streampipes.processors.textmining.flink.wordcount"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Value Changed",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value"
+              },
+              "next": {
+                "title": "Buffered REST Publisher",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.chunker",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker",
+              "title": "Chunker (English)",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.chunker",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.textmining.jvm.chunker",
+                "title": "Chunker (English)",
+                "sidebar_label": "Chunker (English)",
+                "original_id": "org.apache.streampipes.processors.textmining.jvm.chunker"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Calculate Duration",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value"
+              },
+              "next": {
+                "title": "Compose",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.compose"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
+              "title": "Language Detection",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.textmining.jvm.languagedetection",
+                "title": "Language Detection",
+                "sidebar_label": "Language Detection",
+                "original_id": "org.apache.streampipes.processors.textmining.jvm.languagedetection"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Language Detection",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection"
+              },
+              "next": {
+                "title": "Math",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
+              "title": "Name Finder",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.textmining.jvm.namefinder",
+                "title": "Name Finder",
+                "sidebar_label": "Name Finder",
+                "original_id": "org.apache.streampipes.processors.textmining.jvm.namefinder"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Merge By Enrich",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.enrich"
+              },
+              "next": {
+                "title": "Number Labeler",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
+              "title": "Part of Speech (English)",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.textmining.jvm.partofspeech",
+                "title": "Part of Speech (English)",
+                "sidebar_label": "Part of Speech (English)",
+                "original_id": "org.apache.streampipes.processors.textmining.jvm.partofspeech"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Numerical Text Filter",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter"
+              },
+              "next": {
+                "title": "Peak Detection",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
+              "title": "Sentence Detection (English)",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.textmining.jvm.sentencedetection",
+                "title": "Sentence Detection (English)",
+                "sidebar_label": "Sentence Detection (English)",
+                "original_id": "org.apache.streampipes.processors.textmining.jvm.sentencedetection"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Reverse Geocoder",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding"
+              },
+              "next": {
+                "title": "Sequence",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
+              "title": "Tokenizer (English)",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.textmining.jvm.tokenizer",
+                "title": "Tokenizer (English)",
+                "sidebar_label": "Tokenizer (English)",
+                "original_id": "org.apache.streampipes.processors.textmining.jvm.tokenizer"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Timestamp Extractor",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor"
+              },
+              "next": {
+                "title": "Transform to boolean",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean"
               }
             },
             {
@@ -14952,6 +22744,46 @@
                 "title": "Field Converter",
                 "sidebar_label": "Field Converter",
                 "original_id": "org.apache.streampipes.processors.transformation.flink.field-converter"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Event Rate",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.rate"
+              },
+              "next": {
+                "title": "Field Hasher",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
+              "title": "Field Mapper",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.transformation.flink.field-mapper",
+                "title": "Field Mapper",
+                "sidebar_label": "Field Mapper",
+                "original_id": "org.apache.streampipes.processors.transformation.flink.field-mapper"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Field Hasher",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher"
+              },
+              "next": {
+                "title": "Field Renamer",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer"
               }
             },
             {
@@ -14974,6 +22806,15 @@
                 "title": "Field Renamer",
                 "sidebar_label": "Field Renamer",
                 "original_id": "org.apache.streampipes.processors.transformation.flink.field-renamer"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Field Mapper",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper"
+              },
+              "next": {
+                "title": "Frequency Calculation",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.frequency"
               }
             },
             {
@@ -14996,6 +22837,15 @@
                 "title": "Field Hasher",
                 "sidebar_label": "Field Hasher",
                 "original_id": "org.apache.streampipes.processors.transformation.flink.fieldhasher"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Field Converter",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter"
+              },
+              "next": {
+                "title": "Field Mapper",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper"
               }
             },
             {
@@ -15018,6 +22868,46 @@
                 "title": "Measurement Unit Converter",
                 "sidebar_label": "Measurement Unit Converter",
                 "original_id": "org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Measure Time Between Two Sensors",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping"
+              },
+              "next": {
+                "title": "Merge By Enrich",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.enrich"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
+              "title": "Boilerplate Removal",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
+                "title": "Boilerplate Removal",
+                "sidebar_label": "Boilerplate Removal",
+                "original_id": "org.apache.streampipes.processors.transformation.flink.processor.boilerplate"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "And",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and"
+              },
+              "next": {
+                "title": "Boolean Counter",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
               }
             },
             {
@@ -15040,6 +22930,232 @@
                 "title": "Boolean Counter",
                 "sidebar_label": "Boolean Counter",
                 "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Boilerplate Removal",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate"
+              },
+              "next": {
+                "title": "Boolean Inverter",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
+              "title": "Boolean Inverter",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
+                "title": "Boolean Inverter",
+                "sidebar_label": "Boolean Inverter",
+                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.inverter"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Boolean Counter",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
+              },
+              "next": {
+                "title": "Boolean Timer",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
+              "title": "Measure Time Between Two Sensors",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
+                "title": "Measure Time Between Two Sensors",
+                "sidebar_label": "Measure Time Between Two Sensors",
+                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Math",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop"
+              },
+              "next": {
+                "title": "Measurement Unit Converter",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
+              "title": "Boolean Timer",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
+                "title": "Boolean Timer",
+                "sidebar_label": "Boolean Timer",
+                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timer"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Boolean Inverter",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter"
+              },
+              "next": {
+                "title": "Boolean To State",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
+              "title": "Value Changed",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.transformation.jvm.changed-value",
+                "title": "Value Changed",
+                "sidebar_label": "Value Changed",
+                "original_id": "org.apache.streampipes.processors.transformation.jvm.changed-value"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "URL Dereferencing",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing"
+              },
+              "next": {
+                "title": "Word Count",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.count-array",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array",
+              "title": "Count Array",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.count-array",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.transformation.jvm.count-array",
+                "title": "Count Array",
+                "sidebar_label": "Count Array",
+                "original_id": "org.apache.streampipes.processors.transformation.jvm.count-array"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Count Aggregation",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.count"
+              },
+              "next": {
+                "title": "Creates JTS Point",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
+              "title": "CSV Metadata Enricher",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.transformation.jvm.csvmetadata",
+                "title": "CSV Metadata Enricher",
+                "sidebar_label": "CSV Metadata Enricher",
+                "original_id": "org.apache.streampipes.processors.transformation.jvm.csvmetadata"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Boolean To State",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state"
+              },
+              "next": {
+                "title": "Calculate Duration",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
+              "title": "Calculate Duration",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.transformation.jvm.duration-value",
+                "title": "Calculate Duration",
+                "sidebar_label": "Calculate Duration",
+                "original_id": "org.apache.streampipes.processors.transformation.jvm.duration-value"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "CSV Metadata Enricher",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata"
+              },
+              "next": {
+                "title": "Chunker (English)",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker"
               }
             },
             {
@@ -15062,6 +23178,15 @@
                 "title": "Signal Edge Filter",
                 "sidebar_label": "Signal Edge Filter",
                 "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Sequence Detection",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.sequence"
+              },
+              "next": {
+                "title": "Single Trajectory Creator",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory"
               }
             },
             {
@@ -15084,6 +23209,15 @@
                 "title": "Boolean To State",
                 "sidebar_label": "Boolean To State",
                 "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Boolean Timer",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer"
+              },
+              "next": {
+                "title": "CSV Metadata Enricher",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata"
               }
             },
             {
@@ -15106,6 +23240,15 @@
                 "title": "State Buffer",
                 "sidebar_label": "State Buffer",
                 "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.state.buffer"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Split Array",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array"
+              },
+              "next": {
+                "title": "State Buffer Labeler",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer"
               }
             },
             {
@@ -15128,6 +23271,15 @@
                 "title": "State Buffer Labeler",
                 "sidebar_label": "State Buffer Labeler",
                 "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "State Buffer",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer"
+              },
+              "next": {
+                "title": "Static Distance Calculator",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator"
               }
             },
             {
@@ -15150,6 +23302,15 @@
                 "title": "Number Labeler",
                 "sidebar_label": "Number Labeler",
                 "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Name Finder",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder"
+              },
+              "next": {
+                "title": "Numerical Filter",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter"
               }
             },
             {
@@ -15172,6 +23333,46 @@
                 "title": "String To State",
                 "sidebar_label": "String To State",
                 "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "String Timer",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer"
+              },
+              "next": {
+                "title": "Synchronize Two Streams",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.merge"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
+              "title": "Timestamp Extractor",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
+                "title": "Timestamp Extractor",
+                "sidebar_label": "Timestamp Extractor",
+                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Timestamp Enricher",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp"
+              },
+              "next": {
+                "title": "Tokenizer (English)",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer"
               }
             },
             {
@@ -15194,6 +23395,46 @@
                 "title": "Split Array",
                 "sidebar_label": "Split Array",
                 "original_id": "org.apache.streampipes.processors.transformation.jvm.split-array"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Speed Calculator",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed"
+              },
+              "next": {
+                "title": "State Buffer",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
+              "title": "String Counter",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
+                "title": "String Counter",
+                "sidebar_label": "String Counter",
+                "original_id": "org.apache.streampipes.processors.transformation.jvm.stringoperator.counter"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Stream Stop Detection",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.stop"
+              },
+              "next": {
+                "title": "String Timer",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer"
               }
             },
             {
@@ -15216,6 +23457,254 @@
                 "title": "String Timer",
                 "sidebar_label": "String Timer",
                 "original_id": "org.apache.streampipes.processors.transformation.jvm.stringoperator.timer"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "String Counter",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter"
+              },
+              "next": {
+                "title": "String To State",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
+              "title": "Task Duration",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.transformation.jvm.taskduration",
+                "title": "Task Duration",
+                "sidebar_label": "Task Duration",
+                "original_id": "org.apache.streampipes.processors.transformation.jvm.taskduration"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Synchronize Two Streams",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.merge"
+              },
+              "next": {
+                "title": "Text Filter",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
+              "id": "version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
+              "title": "Transform to boolean",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
+                "title": "Transform to boolean",
+                "sidebar_label": "Transform to boolean",
+                "original_id": "org.apache.streampipes.processors.transformation.jvm.transform-to-boolean"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Tokenizer (English)",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer"
+              },
+              "next": {
+                "title": "Trend",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.increase"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.protocol.set.file",
+              "id": "version-0.90.0/pe/org.apache.streampipes.protocol.set.file",
+              "title": "File Set",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.protocol.set.file.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.protocol.set.file",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.protocol.set.file",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.protocol.set.file",
+                "title": "File Set",
+                "sidebar_label": "File Set",
+                "original_id": "org.apache.streampipes.protocol.set.file"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "File Stream",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.file"
+              },
+              "next": {
+                "title": "Flic MQTT",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.protocol.set.http",
+              "id": "version-0.90.0/pe/org.apache.streampipes.protocol.set.http",
+              "title": "HTTP Set",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.protocol.set.http.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.protocol.set.http",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.protocol.set.http",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.protocol.set.http",
+                "title": "HTTP Set",
+                "sidebar_label": "HTTP Set",
+                "original_id": "org.apache.streampipes.protocol.set.http"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "HTTP Server",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver"
+              },
+              "next": {
+                "title": "HTTP Stream",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.http"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
+              "id": "version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
+              "title": "Buffered REST Publisher",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.sinks.brokers.jvm.bufferrest",
+                "title": "Buffered REST Publisher",
+                "sidebar_label": "Buffered REST Publisher",
+                "original_id": "org.apache.streampipes.sinks.brokers.jvm.bufferrest"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Word Count",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount"
+              },
+              "next": {
+                "title": "CouchDB",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.jms",
+              "id": "version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms",
+              "title": "JMS Publisher",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.jms",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.sinks.brokers.jvm.jms",
+                "title": "JMS Publisher",
+                "sidebar_label": "JMS Publisher",
+                "original_id": "org.apache.streampipes.sinks.brokers.jvm.jms"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "IoTDB",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb"
+              },
+              "next": {
+                "title": "Kafka Publisher",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
+              "id": "version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
+              "title": "Kafka Publisher",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.sinks.brokers.jvm.kafka",
+                "title": "Kafka Publisher",
+                "sidebar_label": "Kafka Publisher",
+                "original_id": "org.apache.streampipes.sinks.brokers.jvm.kafka"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "JMS Publisher",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms"
+              },
+              "next": {
+                "title": "MySQL Database",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
+              "id": "version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
+              "title": "MQTT Publisher",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.sinks.brokers.jvm.mqtt",
+                "title": "MQTT Publisher",
+                "sidebar_label": "MQTT Publisher",
+                "original_id": "org.apache.streampipes.sinks.brokers.jvm.mqtt"
               }
             },
             {
@@ -15238,6 +23727,46 @@
                 "title": "NATS Publisher",
                 "sidebar_label": "NATS Publisher",
                 "original_id": "org.apache.streampipes.sinks.brokers.jvm.nats"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "MySQL Database",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql"
+              },
+              "next": {
+                "title": "Notification",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.notification"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
+              "id": "version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
+              "title": "Pulsar Publisher",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.sinks.brokers.jvm.pulsar",
+                "title": "Pulsar Publisher",
+                "sidebar_label": "Pulsar Publisher",
+                "original_id": "org.apache.streampipes.sinks.brokers.jvm.pulsar"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "PostgreSQL",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql"
+              },
+              "next": {
+                "title": "REST Publisher",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest"
               }
             },
             {
@@ -15260,6 +23789,46 @@
                 "title": "RabbitMQ Publisher",
                 "sidebar_label": "RabbitMQ Publisher",
                 "original_id": "org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "REST Publisher",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest"
+              },
+              "next": {
+                "title": "Slack Notification",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.rest",
+              "id": "version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest",
+              "title": "REST Publisher",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.rest",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.sinks.brokers.jvm.rest",
+                "title": "REST Publisher",
+                "sidebar_label": "REST Publisher",
+                "original_id": "org.apache.streampipes.sinks.brokers.jvm.rest"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Pulsar Publisher",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar"
+              },
+              "next": {
+                "title": "RabbitMQ Publisher",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
               }
             },
             {
@@ -15282,6 +23851,139 @@
                 "title": "Eclipse Ditto",
                 "sidebar_label": "Eclipse Ditto",
                 "original_id": "org.apache.streampipes.sinks.databases.ditto"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Data Lake",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake"
+              },
+              "next": {
+                "title": "Elasticsearch",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
+              "id": "version-0.90.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
+              "title": "Elasticsearch",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.sinks.databases.flink.elasticsearch",
+                "title": "Elasticsearch",
+                "sidebar_label": "Elasticsearch",
+                "original_id": "org.apache.streampipes.sinks.databases.flink.elasticsearch"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Eclipse Ditto",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.ditto"
+              },
+              "next": {
+                "title": "Email Notification",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.email"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
+              "id": "version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
+              "title": "CouchDB",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.sinks.databases.jvm.couchdb",
+                "title": "CouchDB",
+                "sidebar_label": "CouchDB",
+                "original_id": "org.apache.streampipes.sinks.databases.jvm.couchdb"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Buffered REST Publisher",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest"
+              },
+              "next": {
+                "title": "Dashboard Sink",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
+              "id": "version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
+              "title": "InfluxDB",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.sinks.databases.jvm.influxdb",
+                "title": "InfluxDB",
+                "sidebar_label": "InfluxDB",
+                "original_id": "org.apache.streampipes.sinks.databases.jvm.influxdb"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Email Notification",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.email"
+              },
+              "next": {
+                "title": "IoTDB",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
+              "id": "version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
+              "title": "IoTDB",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.sinks.databases.jvm.iotdb",
+                "title": "IoTDB",
+                "sidebar_label": "IoTDB",
+                "original_id": "org.apache.streampipes.sinks.databases.jvm.iotdb"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "InfluxDB",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb"
+              },
+              "next": {
+                "title": "JMS Publisher",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms"
               }
             },
             {
@@ -15304,6 +24006,139 @@
                 "title": "MySQL Database",
                 "sidebar_label": "MySQL Database",
                 "original_id": "org.apache.streampipes.sinks.databases.jvm.mysql"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Kafka Publisher",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka"
+              },
+              "next": {
+                "title": "NATS Publisher",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.opcua",
+              "id": "version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua",
+              "title": "OPC-UA",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.opcua",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.sinks.databases.jvm.opcua",
+                "title": "OPC-UA",
+                "sidebar_label": "OPC-UA",
+                "original_id": "org.apache.streampipes.sinks.databases.jvm.opcua"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Notification",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.notification"
+              },
+              "next": {
+                "title": "OneSignal",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
+              "id": "version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
+              "title": "PostgreSQL",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.sinks.databases.jvm.postgresql",
+                "title": "PostgreSQL",
+                "sidebar_label": "PostgreSQL",
+                "original_id": "org.apache.streampipes.sinks.databases.jvm.postgresql"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "OneSignal",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal"
+              },
+              "next": {
+                "title": "Pulsar Publisher",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
+              "id": "version-0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
+              "title": "Dashboard Sink",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.sinks.internal.jvm.dashboard",
+                "title": "Dashboard Sink",
+                "sidebar_label": "Dashboard Sink",
+                "original_id": "org.apache.streampipes.sinks.internal.jvm.dashboard"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "CouchDB",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb"
+              },
+              "next": {
+                "title": "Data Lake",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.sinks.internal.jvm.datalake",
+              "id": "version-0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake",
+              "title": "Data Lake",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.sinks.internal.jvm.datalake",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.sinks.internal.jvm.datalake",
+                "title": "Data Lake",
+                "sidebar_label": "Data Lake",
+                "original_id": "org.apache.streampipes.sinks.internal.jvm.datalake"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Dashboard Sink",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard"
+              },
+              "next": {
+                "title": "Eclipse Ditto",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.ditto"
               }
             },
             {
@@ -15326,6 +24161,77 @@
                 "title": "Notification",
                 "sidebar_label": "Notification",
                 "original_id": "org.apache.streampipes.sinks.internal.jvm.notification"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "NATS Publisher",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats"
+              },
+              "next": {
+                "title": "OPC-UA",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.sinks.notifications.jvm.email",
+              "id": "version-0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.email",
+              "title": "Email Notification",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.email.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.sinks.notifications.jvm.email",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.email",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.sinks.notifications.jvm.email",
+                "title": "Email Notification",
+                "sidebar_label": "Email Notification",
+                "original_id": "org.apache.streampipes.sinks.notifications.jvm.email"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Elasticsearch",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch"
+              },
+              "next": {
+                "title": "InfluxDB",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb"
+              }
+            },
+            {
+              "unversionedId": "pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
+              "id": "version-0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
+              "title": "OneSignal",
+              "description": "<!--",
+              "source": "@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md",
+              "sourceDirName": "pe",
+              "slug": "/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
+              "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "frontMatter": {
+                "id": "org.apache.streampipes.sinks.notifications.jvm.onesignal",
+                "title": "OneSignal",
+                "sidebar_label": "OneSignal",
+                "original_id": "org.apache.streampipes.sinks.notifications.jvm.onesignal"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "OPC-UA",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua"
+              },
+              "next": {
+                "title": "PostgreSQL",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql"
               }
             },
             {
@@ -15348,6 +24254,15 @@
                 "title": "Slack Notification",
                 "sidebar_label": "Slack Notification",
                 "original_id": "org.apache.streampipes.sinks.notifications.jvm.slack"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "RabbitMQ Publisher",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
+              },
+              "next": {
+                "title": "Telegram Publisher",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram"
               }
             },
             {
@@ -15370,6 +24285,47 @@
                 "title": "Telegram Publisher",
                 "sidebar_label": "Telegram Publisher",
                 "original_id": "org.apache.streampipes.sinks.notifications.jvm.telegram"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Slack Notification",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack"
+              },
+              "next": {
+                "title": "Docker Deployment",
+                "permalink": "/docs/0.90.0/deploy-docker"
+              }
+            },
+            {
+              "unversionedId": "technicals-architecture",
+              "id": "version-0.90.0/technicals-architecture",
+              "title": "Architecture",
+              "description": "The following picture illustrates the high-level architecture of StreamPipes:",
+              "source": "@site/versioned_docs/version-0.90.0/07_technicals-architecture.md",
+              "sourceDirName": ".",
+              "slug": "/technicals-architecture",
+              "permalink": "/docs/0.90.0/technicals-architecture",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 7,
+              "frontMatter": {
+                "id": "technicals-architecture",
+                "title": "Architecture",
+                "sidebar_label": "Architecture",
+                "original_id": "technicals-architecture"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Migration Guide: 0.69.0",
+                "permalink": "/docs/0.90.0/extend-sdk-migration-service-discovery"
+              },
+              "next": {
+                "title": "User Guidance",
+                "permalink": "/docs/0.90.0/technicals-user-guidance"
               }
             },
             {
@@ -15393,6 +24349,111 @@
                 "title": "Configuration",
                 "sidebar_label": "Configuration",
                 "original_id": "technicals-configuration"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Messaging",
+                "permalink": "/docs/0.90.0/technicals-messaging"
+              },
+              "next": {
+                "title": "Get Help",
+                "permalink": "/docs/0.90.0/community-get-help"
+              }
+            },
+            {
+              "unversionedId": "technicals-messaging",
+              "id": "version-0.90.0/technicals-messaging",
+              "title": "Messaging",
+              "description": "tbd",
+              "source": "@site/versioned_docs/version-0.90.0/07_technicals-messaging.md",
+              "sourceDirName": ".",
+              "slug": "/technicals-messaging",
+              "permalink": "/docs/0.90.0/technicals-messaging",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 7,
+              "frontMatter": {
+                "id": "technicals-messaging",
+                "title": "Messaging",
+                "sidebar_label": "Messaging",
+                "original_id": "technicals-messaging"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Runtime Wrappers",
+                "permalink": "/docs/0.90.0/technicals-runtime-wrappers"
+              },
+              "next": {
+                "title": "Configuration",
+                "permalink": "/docs/0.90.0/technicals-configuration"
+              }
+            },
+            {
+              "unversionedId": "technicals-runtime-wrappers",
+              "id": "version-0.90.0/technicals-runtime-wrappers",
+              "title": "Runtime Wrappers",
+              "description": "tbd",
+              "source": "@site/versioned_docs/version-0.90.0/07_technicals-runtime-wrappers.md",
+              "sourceDirName": ".",
+              "slug": "/technicals-runtime-wrappers",
+              "permalink": "/docs/0.90.0/technicals-runtime-wrappers",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 7,
+              "frontMatter": {
+                "id": "technicals-runtime-wrappers",
+                "title": "Runtime Wrappers",
+                "sidebar_label": "Runtime Wrappers",
+                "original_id": "technicals-runtime-wrappers"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "User Guidance",
+                "permalink": "/docs/0.90.0/technicals-user-guidance"
+              },
+              "next": {
+                "title": "Messaging",
+                "permalink": "/docs/0.90.0/technicals-messaging"
+              }
+            },
+            {
+              "unversionedId": "technicals-user-guidance",
+              "id": "version-0.90.0/technicals-user-guidance",
+              "title": "User Guidance",
+              "description": "tbd",
+              "source": "@site/versioned_docs/version-0.90.0/07_technicals-user-guidance.md",
+              "sourceDirName": ".",
+              "slug": "/technicals-user-guidance",
+              "permalink": "/docs/0.90.0/technicals-user-guidance",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 7,
+              "frontMatter": {
+                "id": "technicals-user-guidance",
+                "title": "User Guidance",
+                "sidebar_label": "User Guidance",
+                "original_id": "technicals-user-guidance"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Architecture",
+                "permalink": "/docs/0.90.0/technicals-architecture"
+              },
+              "next": {
+                "title": "Runtime Wrappers",
+                "permalink": "/docs/0.90.0/technicals-runtime-wrappers"
               }
             },
             {
@@ -15416,6 +24477,70 @@
                 "title": "Installation",
                 "sidebar_label": "Installation",
                 "original_id": "try-installation"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Overview",
+                "permalink": "/docs/0.90.0/user-guide-introduction"
+              },
+              "next": {
+                "title": "Overview",
+                "permalink": "/docs/0.90.0/concepts-overview"
+              }
+            },
+            {
+              "unversionedId": "try-tutorial",
+              "id": "version-0.90.0/try-tutorial",
+              "title": "Interactive Tutorial",
+              "description": "Once you've installed StreamPipes and see the home screen, you'll see a number of modules that are part of the StreamPipes toolbox.",
+              "source": "@site/versioned_docs/version-0.90.0/01_try-tutorial.md",
+              "sourceDirName": ".",
+              "slug": "/try-tutorial",
+              "permalink": "/docs/0.90.0/try-tutorial",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 1,
+              "frontMatter": {
+                "id": "try-tutorial",
+                "title": "Interactive Tutorial",
+                "sidebar_label": "Interactive Tutorial",
+                "original_id": "try-tutorial"
+              }
+            },
+            {
+              "unversionedId": "use-configurations",
+              "id": "version-0.90.0/use-configurations",
+              "title": "Configurations",
+              "description": "The configuration section is an admin-only interface for system-wide settings.",
+              "source": "@site/versioned_docs/version-0.90.0/03_use-configurations.md",
+              "sourceDirName": ".",
+              "slug": "/use-configurations",
+              "permalink": "/docs/0.90.0/use-configurations",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 3,
+              "frontMatter": {
+                "id": "use-configurations",
+                "title": "Configurations",
+                "sidebar_label": "Configurations",
+                "original_id": "use-configurations"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Install Pipeline Elements",
+                "permalink": "/docs/0.90.0/use-install-pipeline-elements"
+              },
+              "next": {
+                "title": "Apache Kafka",
+                "permalink": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.kafka"
               }
             },
             {
@@ -15439,6 +24564,175 @@
                 "title": "StreamPipes Connect",
                 "sidebar_label": "StreamPipes Connect",
                 "original_id": "use-connect"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Overview",
+                "permalink": "/docs/0.90.0/concepts-overview"
+              },
+              "next": {
+                "title": "Pipeline Editor",
+                "permalink": "/docs/0.90.0/use-pipeline-editor"
+              }
+            },
+            {
+              "unversionedId": "use-dashboard",
+              "id": "version-0.90.0/use-dashboard",
+              "title": "Live Dashboard",
+              "description": "The live dashboard can be used to visualize live data of data streams using a set of visualizations",
+              "source": "@site/versioned_docs/version-0.90.0/03_use-dashboard.md",
+              "sourceDirName": ".",
+              "slug": "/use-dashboard",
+              "permalink": "/docs/0.90.0/use-dashboard",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 3,
+              "frontMatter": {
+                "id": "use-dashboard",
+                "title": "Live Dashboard",
+                "sidebar_label": "Live Dashboard",
+                "original_id": "use-dashboard"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Managing Pipelines",
+                "permalink": "/docs/0.90.0/use-managing-pipelines"
+              },
+              "next": {
+                "title": "Data Explorer",
+                "permalink": "/docs/0.90.0/use-data-explorer"
+              }
+            },
+            {
+              "unversionedId": "use-data-explorer",
+              "id": "version-0.90.0/use-data-explorer",
+              "title": "Data Explorer",
+              "description": "The data explorer can be used to visualize and explore data streams that are persisted by using the Data Lake sink.",
+              "source": "@site/versioned_docs/version-0.90.0/03_use-data-explorer.md",
+              "sourceDirName": ".",
+              "slug": "/use-data-explorer",
+              "permalink": "/docs/0.90.0/use-data-explorer",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 3,
+              "frontMatter": {
+                "id": "use-data-explorer",
+                "title": "Data Explorer",
+                "sidebar_label": "Data Explorer",
+                "original_id": "use-data-explorer"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Live Dashboard",
+                "permalink": "/docs/0.90.0/use-dashboard"
+              },
+              "next": {
+                "title": "Notifications",
+                "permalink": "/docs/0.90.0/use-notifications"
+              }
+            },
+            {
+              "unversionedId": "use-install-pipeline-elements",
+              "id": "version-0.90.0/use-install-pipeline-elements",
+              "title": "Install Pipeline Elements",
+              "description": "Install Pipeline Elements",
+              "source": "@site/versioned_docs/version-0.90.0/03_use-install-pipeline-elements.md",
+              "sourceDirName": ".",
+              "slug": "/use-install-pipeline-elements",
+              "permalink": "/docs/0.90.0/use-install-pipeline-elements",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 3,
+              "frontMatter": {
+                "id": "use-install-pipeline-elements",
+                "title": "Install Pipeline Elements",
+                "sidebar_label": "Install Pipeline Elements",
+                "original_id": "use-install-pipeline-elements"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Notifications",
+                "permalink": "/docs/0.90.0/use-notifications"
+              },
+              "next": {
+                "title": "Configurations",
+                "permalink": "/docs/0.90.0/use-configurations"
+              }
+            },
+            {
+              "unversionedId": "use-managing-pipelines",
+              "id": "version-0.90.0/use-managing-pipelines",
+              "title": "Managing Pipelines",
+              "description": "The pipeline view lists all created pipelines and provides several views and actions to manage the lifecycle of pipelines.",
+              "source": "@site/versioned_docs/version-0.90.0/03_use-managing-pipelines.md",
+              "sourceDirName": ".",
+              "slug": "/use-managing-pipelines",
+              "permalink": "/docs/0.90.0/use-managing-pipelines",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 3,
+              "frontMatter": {
+                "id": "use-managing-pipelines",
+                "title": "Managing Pipelines",
+                "sidebar_label": "Managing Pipelines",
+                "original_id": "use-managing-pipelines"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Pipeline Editor",
+                "permalink": "/docs/0.90.0/use-pipeline-editor"
+              },
+              "next": {
+                "title": "Live Dashboard",
+                "permalink": "/docs/0.90.0/use-dashboard"
+              }
+            },
+            {
+              "unversionedId": "use-notifications",
+              "id": "version-0.90.0/use-notifications",
+              "title": "Notifications",
+              "description": "The notification module can be used to create internal notifications.",
+              "source": "@site/versioned_docs/version-0.90.0/03_use-notifications.md",
+              "sourceDirName": ".",
+              "slug": "/use-notifications",
+              "permalink": "/docs/0.90.0/use-notifications",
+              "draft": false,
+              "tags": [],
+              "version": "0.90.0",
+              "lastUpdatedBy": "Author",
+              "lastUpdatedAt": 1539502055,
+              "formattedLastUpdatedAt": "Oct 14, 2018",
+              "sidebarPosition": 3,
+              "frontMatter": {
+                "id": "use-notifications",
+                "title": "Notifications",
+                "sidebar_label": "Notifications",
+                "original_id": "use-notifications"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "Data Explorer",
+                "permalink": "/docs/0.90.0/use-data-explorer"
+              },
+              "next": {
+                "title": "Install Pipeline Elements",
+                "permalink": "/docs/0.90.0/use-install-pipeline-elements"
               }
             },
             {
@@ -15462,6 +24756,15 @@
                 "title": "Pipeline Editor",
                 "sidebar_label": "Pipeline Editor",
                 "original_id": "use-pipeline-editor"
+              },
+              "sidebar": "documentation",
+              "previous": {
+                "title": "StreamPipes Connect",
+                "permalink": "/docs/0.90.0/use-connect"
+              },
+              "next": {
+                "title": "Managing Pipelines",
+                "permalink": "/docs/0.90.0/use-managing-pipelines"
               }
             },
             {
@@ -15528,6 +24831,11 @@
                 "title": "Apache StreamPipes Documentation",
                 "sidebar_label": "Overview",
                 "original_id": "user-guide-introduction"
+              },
+              "sidebar": "documentation",
+              "next": {
+                "title": "Installation",
+                "permalink": "/docs/0.90.0/try-installation"
               }
             },
             {
@@ -15574,7 +24882,792 @@
             }
           ],
           "drafts": [],
-          "sidebars": {}
+          "sidebars": {
+            "documentation": [
+              {
+                "type": "category",
+                "label": "🚀 Try StreamPipes",
+                "items": [
+                  {
+                    "type": "doc",
+                    "id": "user-guide-introduction"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "try-installation"
+                  }
+                ],
+                "collapsed": true,
+                "collapsible": true
+              },
+              {
+                "type": "category",
+                "label": "💡 Concepts",
+                "items": [
+                  {
+                    "type": "doc",
+                    "id": "concepts-overview"
+                  }
+                ],
+                "collapsed": true,
+                "collapsible": true
+              },
+              {
+                "type": "category",
+                "label": "🎓 Use StreamPipes",
+                "items": [
+                  {
+                    "type": "doc",
+                    "id": "use-connect"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "use-pipeline-editor"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "use-managing-pipelines"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "use-dashboard"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "use-data-explorer"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "use-notifications"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "use-install-pipeline-elements"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "use-configurations"
+                  }
+                ],
+                "collapsed": true,
+                "collapsible": true
+              },
+              {
+                "type": "category",
+                "label": "📚 Pipeline Elements",
+                "items": [
+                  {
+                    "type": "category",
+                    "label": "Adapters",
+                    "items": [
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.protocol.stream.kafka"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.protocol.stream.pulsar"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.coindesk"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.protocol.stream.file"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.protocol.set.file"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.flic.mqtt"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.gdelt"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.protocol.stream.httpserver"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.protocol.set.http"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.protocol.stream.http"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.iex.news"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.iex.stocks"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.iss"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.image.set"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.image.stream"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.influxdb.set"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.influxdb.stream"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.protocol.stream.mqtt"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.simulator.machine"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.mysql.set"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.mysql.stream"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.netio.mqtt"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.netio.rest"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.opcua"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.plc4x.modbus"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.plc4x.s7"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.ros"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.simulator.randomdataset"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.slack"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.ti"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.wikipedia.edit"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.connect.adapters.wikipedia.new"
+                      }
+                    ],
+                    "collapsed": true,
+                    "collapsible": true
+                  },
+                  {
+                    "type": "category",
+                    "label": "Data Processors",
+                    "items": [
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.absence"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.aggregation.flink.aggregation"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.and"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.duration-value"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.textmining.jvm.chunker"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.filters.jvm.compose"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.aggregation.flink.count"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.count-array"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.changedetection.jvm.cusum"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.aggregation.flink.eventcount"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.aggregation.flink.rate"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.flink.field-converter"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.flink.fieldhasher"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.flink.field-mapper"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.flink.field-renamer"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.siddhi.frequency"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.siddhi.frequencychange"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processor.geo.jvm.geocoding"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.textmining.flink.languagedetection"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.textmining.jvm.languagedetection"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.filters.jvm.enrich"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.textmining.jvm.namefinder"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.filters.jvm.numericalfilter"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.siddhi.numericalfilter"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.textmining.jvm.partofspeech"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.filters.jvm.project"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processor.imageclassification.qrcode"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.filters.jvm.limit"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.sequence"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.siddhi.sequence"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processor.geo.flink"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.speed"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.split-array"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.statistics.flink.statistics-summary"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.siddhi.stop"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.filters.jvm.merge"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.taskduration"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.filters.jvm.textfilter"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.filters.jvm.threshold"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.enricher.flink.timestamp"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.textmining.jvm.tokenizer"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.siddhi.increase"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.transformation.jvm.changed-value"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.processors.textmining.flink.wordcount"
+                      }
+                    ],
+                    "collapsed": true,
+                    "collapsible": true
+                  },
+                  {
+                    "type": "category",
+                    "label": "Data Sinks",
+                    "items": [
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.databases.jvm.couchdb"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.internal.jvm.dashboard"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.internal.jvm.datalake"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.databases.ditto"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.databases.flink.elasticsearch"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.notifications.jvm.email"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.databases.jvm.influxdb"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.databases.jvm.iotdb"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.brokers.jvm.jms"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.brokers.jvm.kafka"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.databases.jvm.mysql"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.brokers.jvm.nats"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.internal.jvm.notification"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.databases.jvm.opcua"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.notifications.jvm.onesignal"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.databases.jvm.postgresql"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.brokers.jvm.pulsar"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.brokers.jvm.rest"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.notifications.jvm.slack"
+                      },
+                      {
+                        "type": "doc",
+                        "id": "pe/org.apache.streampipes.sinks.notifications.jvm.telegram"
+                      }
+                    ],
+                    "collapsed": true,
+                    "collapsible": true
+                  }
+                ],
+                "collapsed": true,
+                "collapsible": true
+              },
+              {
+                "type": "category",
+                "label": "⚡ Deploy StreamPipes",
+                "items": [
+                  {
+                    "type": "doc",
+                    "id": "deploy-docker"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "deploy-kubernetes"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "deploy-use-ssl"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "deploy-security"
+                  }
+                ],
+                "collapsed": true,
+                "collapsible": true
+              },
+              {
+                "type": "category",
+                "label": "💻 Extend StreamPipes",
+                "items": [
+                  {
+                    "type": "doc",
+                    "id": "extend-setup"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "extend-cli"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "extend-archetypes"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "extend-first-processor"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "extend-tutorial-data-sources"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "extend-tutorial-data-processors"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "extend-tutorial-data-sinks"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "extend-sdk-functions"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "extend-sdk-event-model"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "extend-sdk-stream-requirements"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "extend-sdk-static-properties"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "extend-sdk-output-strategies"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "extend-sdk-migration-service-discovery"
+                  }
+                ],
+                "collapsed": true,
+                "collapsible": true
+              },
+              {
+                "type": "category",
+                "label": "🔧 Technicals",
+                "items": [
+                  {
+                    "type": "doc",
+                    "id": "technicals-architecture"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "technicals-user-guidance"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "technicals-runtime-wrappers"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "technicals-messaging"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "technicals-configuration"
+                  }
+                ],
+                "collapsed": true,
+                "collapsible": true
+              },
+              {
+                "type": "category",
+                "label": "👪 Community",
+                "items": [
+                  {
+                    "type": "doc",
+                    "id": "community-get-help"
+                  },
+                  {
+                    "type": "doc",
+                    "id": "community-contribute"
+                  }
+                ],
+                "collapsed": true,
+                "collapsible": true
+              }
+            ],
+            "faq": [
+              {
+                "type": "category",
+                "label": "FAQ",
+                "items": [
+                  {
+                    "type": "doc",
+                    "id": "faq-common-problems"
+                  }
+                ],
+                "collapsed": true,
+                "collapsible": true
+              }
+            ]
+          }
         },
         {
           "versionName": "0.70.0",
@@ -21991,28250 +32084,6 @@
               }
             ]
           }
-        },
-        {
-          "versionName": "0.69.0",
-          "label": "0.69.0",
-          "banner": "unmaintained",
-          "badge": true,
-          "noIndex": false,
-          "className": "docs-version-0.69.0",
-          "path": "/docs/0.69.0",
-          "tagsPath": "/docs/0.69.0/tags",
-          "isLast": false,
-          "sidebarFilePath": "C:\\git\\apache\\incubator-streampipes-website\\website-v2\\versioned_sidebars\\version-0.69.0-sidebars.json",
-          "contentPath": "C:\\git\\apache\\incubator-streampipes-website\\website-v2\\versioned_docs\\version-0.69.0",
-          "contentPathLocalized": "C:\\git\\apache\\incubator-streampipes-website\\website-v2\\i18n\\en\\docusaurus-plugin-content-docs\\version-0.69.0",
-          "docs": [
-            {
-              "unversionedId": "community-get-help",
-              "id": "version-0.69.0/community-get-help",
-              "title": "Get Help",
-              "description": "The Apache StreamPipes community is happy to help with any questions or problems you might have.",
-              "source": "@site/versioned_docs/version-0.69.0/09_get-help.md",
-              "sourceDirName": ".",
-              "slug": "/community-get-help",
-              "permalink": "/docs/0.69.0/community-get-help",
-              "draft": false,
-              "tags": [],
-              "version": "0.69.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 9,
-              "frontMatter": {
-                "id": "community-get-help",
-                "title": "Get Help",
-                "sidebar_label": "Get Help",
-                "original_id": "community-get-help"
-              }
-            },
-            {
-              "unversionedId": "deploy-security",
-              "id": "version-0.69.0/deploy-security",
-              "title": "Security",
-              "description": "Overriding default settings",
-              "source": "@site/versioned_docs/version-0.69.0/05_deploy-security.md",
-              "sourceDirName": ".",
-              "slug": "/deploy-security",
-              "permalink": "/docs/0.69.0/deploy-security",
-              "draft": false,
-              "tags": [],
-              "version": "0.69.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 5,
-              "frontMatter": {
-                "id": "deploy-security",
-                "title": "Security",
-                "sidebar_label": "Security",
-                "original_id": "deploy-security"
-              }
-            },
-            {
-              "unversionedId": "extend-archetypes",
-              "id": "version-0.69.0/extend-archetypes",
-              "title": "Maven Archetypes",
-              "description": "In this tutorial we explain how you can use the Maven archetypes to develop your own StreamPipes processors and sinks.",
-              "source": "@site/versioned_docs/version-0.69.0/06_extend-archetypes.md",
-              "sourceDirName": ".",
-              "slug": "/extend-archetypes",
-              "permalink": "/docs/0.69.0/extend-archetypes",
-              "draft": false,
-              "tags": [],
-              "version": "0.69.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-archetypes",
-                "title": "Maven Archetypes",
-                "sidebar_label": "Maven Archetypes",
-                "original_id": "extend-archetypes"
-              }
-            },
-            {
-              "unversionedId": "extend-cli",
-              "id": "version-0.69.0/extend-cli",
-              "title": "StreamPipes CLI",
-              "description": "The StreamPipes command-line interface (CLI) is focused on developers in order to provide an easy entrypoint to set up a suitable dev environment, either planning on developing",
-              "source": "@site/versioned_docs/version-0.69.0/06_extend-cli.md",
-              "sourceDirName": ".",
-              "slug": "/extend-cli",
-              "permalink": "/docs/0.69.0/extend-cli",
-              "draft": false,
-              "tags": [],
-              "version": "0.69.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-cli",
-                "title": "StreamPipes CLI",
-                "sidebar_label": "StreamPipes CLI",
-                "original_id": "extend-cli"
-              }
-            },
-            {
-              "unversionedId": "extend-first-processor",
-              "id": "version-0.69.0/extend-first-processor",
-              "title": "Your first data processor",
-              "description": "In this section, we will explain how to start a pipeline element service and install it using the StreamPipes UI.",
-              "source": "@site/versioned_docs/version-0.69.0/06_extend-first-processor.md",
-              "sourceDirName": ".",
-              "slug": "/extend-first-processor",
-              "permalink": "/docs/0.69.0/extend-first-processor",
-              "draft": false,
-              "tags": [],
-              "version": "0.69.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-first-processor",
-                "title": "Your first data processor",
-                "sidebar_label": "Your first data processor",
-                "original_id": "extend-first-processor"
-              }
-            },
-            {
-              "unversionedId": "extend-sdk-event-model",
-              "id": "version-0.69.0/extend-sdk-event-model",
-              "title": "SDK Guide: Event Model",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.69.0/06_extend-sdk-event-model.md",
-              "sourceDirName": ".",
-              "slug": "/extend-sdk-event-model",
-              "permalink": "/docs/0.69.0/extend-sdk-event-model",
-              "draft": false,
-              "tags": [],
-              "version": "0.69.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-sdk-event-model",
-                "title": "SDK Guide: Event Model",
-                "sidebar_label": "SDK: Event Model",
-                "original_id": "extend-sdk-event-model"
-              }
-            },
-            {
-              "unversionedId": "extend-sdk-migration-service-discovery",
-              "id": "version-0.69.0/extend-sdk-migration-service-discovery",
-              "title": "Migration Guide: New Service Discovery in 0.69.0",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.69.0/06_extend-sdk-migration-sd.md",
-              "sourceDirName": ".",
-              "slug": "/extend-sdk-migration-service-discovery",
-              "permalink": "/docs/0.69.0/extend-sdk-migration-service-discovery",
-              "draft": false,
-              "tags": [],
-              "version": "0.69.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-sdk-migration-service-discovery",
-                "title": "Migration Guide: New Service Discovery in 0.69.0",
-                "sidebar_label": "Migration Guide: 0.69.0",
-                "original_id": "extend-sdk-migration-service-discovery"
-              }
-            },
-            {
-              "unversionedId": "extend-sdk-stream-requirements",
-              "id": "version-0.69.0/extend-sdk-stream-requirements",
-              "title": "SDK Guide: Stream Requirements",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.69.0/06_extend-sdk-stream-requirements.md",
-              "sourceDirName": ".",
-              "slug": "/extend-sdk-stream-requirements",
-              "permalink": "/docs/0.69.0/extend-sdk-stream-requirements",
-              "draft": false,
-              "tags": [],
-              "version": "0.69.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-sdk-stream-requirements",
-                "title": "SDK Guide: Stream Requirements",
-                "sidebar_label": "SDK: Stream Requirements",
-                "original_id": "extend-sdk-stream-requirements"
-              }
-            },
-            {
-              "unversionedId": "extend-setup",
-              "id": "version-0.69.0/extend-setup",
-              "title": "Development Setup",
-              "description": "Pipeline elements in StreamPipes are provided as standalone microservices. New pipeline elements can be easily developed using the provided Maven archetypes and can be installed in StreamPipes at runtime.",
-              "source": "@site/versioned_docs/version-0.69.0/06_extend-setup.md",
-              "sourceDirName": ".",
-              "slug": "/extend-setup",
-              "permalink": "/docs/0.69.0/extend-setup",
-              "draft": false,
-              "tags": [],
-              "version": "0.69.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-setup",
-                "title": "Development Setup",
-                "sidebar_label": "Development Setup",
-                "original_id": "extend-setup"
-              }
-            },
-            {
-              "unversionedId": "extend-tutorial-data-processors",
-              "id": "version-0.69.0/extend-tutorial-data-processors",
-              "title": "Tutorial: Data Processors",
-              "description": "In this tutorial, we will add a new data processor using the standalone wrapper.",
-              "source": "@site/versioned_docs/version-0.69.0/06_extend-tutorial-data-processors.md",
-              "sourceDirName": ".",
-              "slug": "/extend-tutorial-data-processors",
-              "permalink": "/docs/0.69.0/extend-tutorial-data-processors",
-              "draft": false,
-              "tags": [],
-              "version": "0.69.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-tutorial-data-processors",
-                "title": "Tutorial: Data Processors",
-                "sidebar_label": "Tutorial: Data Processors",
-                "original_id": "extend-tutorial-data-processors"
-              }
-            },
-            {
-              "unversionedId": "extend-tutorial-data-sinks",
-              "id": "version-0.69.0/extend-tutorial-data-sinks",
-              "title": "Tutorial: Data Sinks",
-              "description": "In this tutorial, we will add a new data sink using the standalone wrapper.",
-              "source": "@site/versioned_docs/version-0.69.0/06_extend-tutorial-data-sinks.md",
-              "sourceDirName": ".",
-              "slug": "/extend-tutorial-data-sinks",
-              "permalink": "/docs/0.69.0/extend-tutorial-data-sinks",
-              "draft": false,
-              "tags": [],
-              "version": "0.69.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-tutorial-data-sinks",
-                "title": "Tutorial: Data Sinks",
-                "sidebar_label": "Tutorial: Data Sinks",
-                "original_id": "extend-tutorial-data-sinks"
-              }
-            },
-            {
-              "unversionedId": "extend-tutorial-data-sources",
-              "id": "version-0.69.0/extend-tutorial-data-sources",
-              "title": "Tutorial: Data Sources",
-              "description": "In this tutorial, we will add a new data source consisting of a single data stream. The source will be provided as a standalone component (i.e., the description will be accessible through an integrated web server).",
-              "source": "@site/versioned_docs/version-0.69.0/06_extend-tutorial-data-sources.md",
-              "sourceDirName": ".",
-              "slug": "/extend-tutorial-data-sources",
-              "permalink": "/docs/0.69.0/extend-tutorial-data-sources",
-              "draft": false,
-              "tags": [],
-              "version": "0.69.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-tutorial-data-sources",
-                "title": "Tutorial: Data Sources",
-                "sidebar_label": "Tutorial: Data Sources",
-                "original_id": "extend-tutorial-data-sources"
-              }
-            },
-            {
-              "unversionedId": "try-installation",
-              "id": "version-0.69.0/try-installation",
-              "title": "Installation",
-              "description": "The easiest way to install StreamPipes is our Docker-based installation. For production-grade deployments, we also",
-              "source": "@site/versioned_docs/version-0.69.0/01_try-installation.md",
-              "sourceDirName": ".",
-              "slug": "/try-installation",
-              "permalink": "/docs/0.69.0/try-installation",
-              "draft": false,
-              "tags": [],
-              "version": "0.69.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 1,
-              "frontMatter": {
-                "id": "try-installation",
-                "title": "Installation",
-                "sidebar_label": "Installation",
-                "original_id": "try-installation"
-              }
-            },
-            {
-              "unversionedId": "use-configurations",
-              "id": "version-0.69.0/use-configurations",
-              "title": "Configurations",
-              "description": "The configuration section is an admin-only interface for system-wide settings.",
-              "source": "@site/versioned_docs/version-0.69.0/03_use-configurations.md",
-              "sourceDirName": ".",
-              "slug": "/use-configurations",
-              "permalink": "/docs/0.69.0/use-configurations",
-              "draft": false,
-              "tags": [],
-              "version": "0.69.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 3,
-              "frontMatter": {
-                "id": "use-configurations",
-                "title": "Configurations",
-                "sidebar_label": "Configurations",
-                "original_id": "use-configurations"
-              }
-            },
-            {
-              "unversionedId": "use-dashboard",
-              "id": "version-0.69.0/use-dashboard",
-              "title": "Live Dashboard",
-              "description": "The live dashboard can be used to visualize live data of data streams using a set of visualizations",
-              "source": "@site/versioned_docs/version-0.69.0/03_use-dashboard.md",
-              "sourceDirName": ".",
-              "slug": "/use-dashboard",
-              "permalink": "/docs/0.69.0/use-dashboard",
-              "draft": false,
-              "tags": [],
-              "version": "0.69.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 3,
-              "frontMatter": {
-                "id": "use-dashboard",
-                "title": "Live Dashboard",
-                "sidebar_label": "Live Dashboard",
-                "original_id": "use-dashboard"
-              }
-            },
-            {
-              "unversionedId": "use-data-explorer",
-              "id": "version-0.69.0/use-data-explorer",
-              "title": "Data Explorer",
-              "description": "The data explorer can be used to visualize and explore data streams that are persisted by using the Data Lake sink.",
-              "source": "@site/versioned_docs/version-0.69.0/03_use-data-explorer.md",
-              "sourceDirName": ".",
-              "slug": "/use-data-explorer",
-              "permalink": "/docs/0.69.0/use-data-explorer",
-              "draft": false,
-              "tags": [],
-              "version": "0.69.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 3,
-              "frontMatter": {
-                "id": "use-data-explorer",
-                "title": "Data Explorer",
-                "sidebar_label": "Data Explorer",
-                "original_id": "use-data-explorer"
-              }
-            },
-            {
-              "unversionedId": "user-guide-introduction",
-              "id": "version-0.69.0/user-guide-introduction",
-              "title": "Apache StreamPipes Documentation",
-              "description": "This is the documentation of Apache StreamPipes.",
-              "source": "@site/versioned_docs/version-0.69.0/01_try-overview.md",
-              "sourceDirName": ".",
-              "slug": "/user-guide-introduction",
-              "permalink": "/docs/0.69.0/user-guide-introduction",
-              "draft": false,
-              "tags": [],
-              "version": "0.69.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 1,
-              "frontMatter": {
-                "id": "user-guide-introduction",
-                "title": "Apache StreamPipes Documentation",
-                "sidebar_label": "Overview",
-                "original_id": "user-guide-introduction"
-              }
-            },
-            {
-              "unversionedId": "version-0.90.0-community-contribute",
-              "id": "version-0.69.0/version-0.90.0-community-contribute",
-              "title": "Contribute",
-              "description": "Contribute",
-              "source": "@site/versioned_docs/version-0.69.0/09_contribute.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.90.0-community-contribute",
-              "permalink": "/docs/0.69.0/version-0.90.0-community-contribute",
-              "draft": false,
-              "tags": [],
-              "version": "0.69.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 9,
-              "frontMatter": {
-                "id": "version-0.90.0-community-contribute",
-                "title": "Contribute",
-                "sidebar_label": "Contribute",
-                "original_id": "community-contribute"
-              }
-            },
-            {
-              "unversionedId": "version-0.90.0-extend-sdk-functions",
-              "id": "version-0.69.0/version-0.90.0-extend-sdk-functions",
-              "title": "SDK Guide: Functions",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.69.0/06_extend-sdk-functions.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.90.0-extend-sdk-functions",
-              "permalink": "/docs/0.69.0/version-0.90.0-extend-sdk-functions",
-              "draft": false,
-              "tags": [],
-              "version": "0.69.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "version-0.90.0-extend-sdk-functions",
-                "title": "SDK Guide: Functions",
-                "sidebar_label": "SDK: Functions",
-                "original_id": "extend-sdk-functions"
-              }
-            },
-            {
-              "unversionedId": "version-0.90.0-extend-sdk-output-strategies",
-              "id": "version-0.69.0/version-0.90.0-extend-sdk-output-strategies",
-              "title": "SDK Guide: Output Strategies",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.69.0/06_extend-sdk-output-strategies.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.90.0-extend-sdk-output-strategies",
-              "permalink": "/docs/0.69.0/version-0.90.0-extend-sdk-output-strategies",
-              "draft": false,
-              "tags": [],
-              "version": "0.69.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "version-0.90.0-extend-sdk-output-strategies",
-                "title": "SDK Guide: Output Strategies",
-                "sidebar_label": "SDK: Output Strategies",
-                "original_id": "extend-sdk-output-strategies"
-              }
-            },
-            {
-              "unversionedId": "version-0.90.0-extend-sdk-static-properties",
-              "id": "version-0.69.0/version-0.90.0-extend-sdk-static-properties",
-              "title": "SDK Guide: Static Properties",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.69.0/06_extend-sdk-static-properties.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.90.0-extend-sdk-static-properties",
-              "permalink": "/docs/0.69.0/version-0.90.0-extend-sdk-static-properties",
-              "draft": false,
-              "tags": [],
-              "version": "0.69.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "version-0.90.0-extend-sdk-static-properties",
-                "title": "SDK Guide: Static Properties",
-                "sidebar_label": "SDK: Static Properties",
-                "original_id": "extend-sdk-static-properties"
-              }
-            },
-            {
-              "unversionedId": "version-0.90.0-technicals-configuration",
-              "id": "version-0.69.0/version-0.90.0-technicals-configuration",
-              "title": "Configuration",
-              "description": "On this page we explain how the StreamPipes configuration works.",
-              "source": "@site/versioned_docs/version-0.69.0/07_technicals-configuration.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.90.0-technicals-configuration",
-              "permalink": "/docs/0.69.0/version-0.90.0-technicals-configuration",
-              "draft": false,
-              "tags": [],
-              "version": "0.69.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 7,
-              "frontMatter": {
-                "id": "version-0.90.0-technicals-configuration",
-                "title": "Configuration",
-                "sidebar_label": "Configuration",
-                "original_id": "technicals-configuration"
-              }
-            },
-            {
-              "unversionedId": "version-0.90.0-use-connect",
-              "id": "version-0.69.0/version-0.90.0-use-connect",
-              "title": "StreamPipes Connect",
-              "description": "StreamPipes Connect is the module to connect external data sources with Apache StreamPipes directly from the user interface.",
-              "source": "@site/versioned_docs/version-0.69.0/03_use-connect.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.90.0-use-connect",
-              "permalink": "/docs/0.69.0/version-0.90.0-use-connect",
-              "draft": false,
-              "tags": [],
-              "version": "0.69.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 3,
-              "frontMatter": {
-                "id": "version-0.90.0-use-connect",
-                "title": "StreamPipes Connect",
-                "sidebar_label": "StreamPipes Connect",
-                "original_id": "use-connect"
-              }
-            },
-            {
-              "unversionedId": "version-0.90.0-use-pipeline-editor",
-              "id": "version-0.69.0/version-0.90.0-use-pipeline-editor",
-              "title": "Pipeline Editor",
-              "description": "The pipeline editor module supports building pipelines that transform a data stream using a set of resuable data processors and data sinks.",
-              "source": "@site/versioned_docs/version-0.69.0/03_use-pipeline-editor.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.90.0-use-pipeline-editor",
-              "permalink": "/docs/0.69.0/version-0.90.0-use-pipeline-editor",
-              "draft": false,
-              "tags": [],
-              "version": "0.69.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 3,
-              "frontMatter": {
-                "id": "version-0.90.0-use-pipeline-editor",
-                "title": "Pipeline Editor",
-                "sidebar_label": "Pipeline Editor",
-                "original_id": "use-pipeline-editor"
-              }
-            },
-            {
-              "unversionedId": "version-0.90.0-user-guide-installation",
-              "id": "version-0.69.0/version-0.90.0-user-guide-installation",
-              "title": "Installation",
-              "description": "Prerequisites",
-              "source": "@site/versioned_docs/version-0.69.0/user-guide-installation.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.90.0-user-guide-installation",
-              "permalink": "/docs/0.69.0/version-0.90.0-user-guide-installation",
-              "draft": false,
-              "tags": [],
-              "version": "0.69.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.90.0-user-guide-installation",
-                "title": "Installation",
-                "sidebar_label": "Installation",
-                "original_id": "user-guide-installation"
-              }
-            }
-          ],
-          "drafts": [],
-          "sidebars": {}
-        },
-        {
-          "versionName": "0.68.0",
-          "label": "0.68.0",
-          "banner": "unmaintained",
-          "badge": true,
-          "noIndex": false,
-          "className": "docs-version-0.68.0",
-          "path": "/docs/0.68.0",
-          "tagsPath": "/docs/0.68.0/tags",
-          "isLast": false,
-          "sidebarFilePath": "C:\\git\\apache\\incubator-streampipes-website\\website-v2\\versioned_sidebars\\version-0.68.0-sidebars.json",
-          "contentPath": "C:\\git\\apache\\incubator-streampipes-website\\website-v2\\versioned_docs\\version-0.68.0",
-          "contentPathLocalized": "C:\\git\\apache\\incubator-streampipes-website\\website-v2\\i18n\\en\\docusaurus-plugin-content-docs\\version-0.68.0",
-          "docs": [
-            {
-              "unversionedId": "community-contribute",
-              "id": "version-0.68.0/community-contribute",
-              "title": "Contribute",
-              "description": "Contribute",
-              "source": "@site/versioned_docs/version-0.68.0/09_contribute.md",
-              "sourceDirName": ".",
-              "slug": "/community-contribute",
-              "permalink": "/docs/0.68.0/community-contribute",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 9,
-              "frontMatter": {
-                "id": "community-contribute",
-                "title": "Contribute",
-                "sidebar_label": "Contribute",
-                "original_id": "community-contribute"
-              }
-            },
-            {
-              "unversionedId": "community-get-help",
-              "id": "version-0.68.0/community-get-help",
-              "title": "Get Help",
-              "description": "The Apache StreamPipes community is happy to help with any questions or problems you might have.",
-              "source": "@site/versioned_docs/version-0.68.0/09_get-help.md",
-              "sourceDirName": ".",
-              "slug": "/community-get-help",
-              "permalink": "/docs/0.68.0/community-get-help",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 9,
-              "frontMatter": {
-                "id": "community-get-help",
-                "title": "Get Help",
-                "sidebar_label": "Get Help",
-                "original_id": "community-get-help"
-              }
-            },
-            {
-              "unversionedId": "deploy-docker",
-              "id": "version-0.68.0/deploy-docker",
-              "title": "Docker Deployment",
-              "description": "StreamPipes Compose is a simple collection of user-friendly docker-compose files that easily lets gain first-hand experience with Apache StreamPipes.",
-              "source": "@site/versioned_docs/version-0.68.0/05_deploy-docker.md",
-              "sourceDirName": ".",
-              "slug": "/deploy-docker",
-              "permalink": "/docs/0.68.0/deploy-docker",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 5,
-              "frontMatter": {
-                "id": "deploy-docker",
-                "title": "Docker Deployment",
-                "sidebar_label": "Docker Deployment",
-                "original_id": "deploy-docker"
-              }
-            },
-            {
-              "unversionedId": "deploy-security",
-              "id": "version-0.68.0/deploy-security",
-              "title": "Security",
-              "description": "Overriding default settings",
-              "source": "@site/versioned_docs/version-0.68.0/05_deploy-security.md",
-              "sourceDirName": ".",
-              "slug": "/deploy-security",
-              "permalink": "/docs/0.68.0/deploy-security",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 5,
-              "frontMatter": {
-                "id": "deploy-security",
-                "title": "Security",
-                "sidebar_label": "Security",
-                "original_id": "deploy-security"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-sdk-guide-processors",
-              "id": "version-0.68.0/dev-guide-sdk-guide-processors",
-              "title": "SDK Guide: Data Processors",
-              "description": "Project Setup",
-              "source": "@site/versioned_docs/version-0.68.0/dev-guide-processor-sdk.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-sdk-guide-processors",
-              "permalink": "/docs/0.68.0/dev-guide-sdk-guide-processors",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-sdk-guide-processors",
-                "title": "SDK Guide: Data Processors",
-                "sidebar_label": "SDK Guide: Data Processors",
-                "original_id": "dev-guide-sdk-guide-processors"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-sdk-guide-sinks",
-              "id": "version-0.68.0/dev-guide-sdk-guide-sinks",
-              "title": "SDK Guide: Data Sinks",
-              "description": "Project Setup",
-              "source": "@site/versioned_docs/version-0.68.0/dev-guide-sink-sdk.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-sdk-guide-sinks",
-              "permalink": "/docs/0.68.0/dev-guide-sdk-guide-sinks",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-sdk-guide-sinks",
-                "title": "SDK Guide: Data Sinks",
-                "sidebar_label": "SDK Guide: Data Sinks",
-                "original_id": "dev-guide-sdk-guide-sinks"
-              }
-            },
-            {
-              "unversionedId": "extend-archetypes",
-              "id": "version-0.68.0/extend-archetypes",
-              "title": "Maven Archetypes",
-              "description": "In this tutorial we explain how you can use the Maven archetypes to develop your own StreamPipes processors and sinks.",
-              "source": "@site/versioned_docs/version-0.68.0/06_extend-archetypes.md",
-              "sourceDirName": ".",
-              "slug": "/extend-archetypes",
-              "permalink": "/docs/0.68.0/extend-archetypes",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-archetypes",
-                "title": "Maven Archetypes",
-                "sidebar_label": "Maven Archetypes",
-                "original_id": "extend-archetypes"
-              }
-            },
-            {
-              "unversionedId": "extend-cli",
-              "id": "version-0.68.0/extend-cli",
-              "title": "StreamPipes CLI",
-              "description": "The StreamPipes command-line interface (CLI) is focused on developers in order to provide an easy entrypoint to set up a suitable dev environment, either planning on developing",
-              "source": "@site/versioned_docs/version-0.68.0/06_extend-cli.md",
-              "sourceDirName": ".",
-              "slug": "/extend-cli",
-              "permalink": "/docs/0.68.0/extend-cli",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-cli",
-                "title": "StreamPipes CLI",
-                "sidebar_label": "StreamPipes CLI",
-                "original_id": "extend-cli"
-              }
-            },
-            {
-              "unversionedId": "extend-first-processor",
-              "id": "version-0.68.0/extend-first-processor",
-              "title": "Your first data processor",
-              "description": "In this section, we will explain how to start a pipeline element service and install it using the StreamPipes UI.",
-              "source": "@site/versioned_docs/version-0.68.0/06_extend-first-processor.md",
-              "sourceDirName": ".",
-              "slug": "/extend-first-processor",
-              "permalink": "/docs/0.68.0/extend-first-processor",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-first-processor",
-                "title": "Your first data processor",
-                "sidebar_label": "Your first data processor",
-                "original_id": "extend-first-processor"
-              }
-            },
-            {
-              "unversionedId": "extend-sdk-event-model",
-              "id": "version-0.68.0/extend-sdk-event-model",
-              "title": "SDK Guide: Event Model",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.68.0/06_extend-sdk-event-model.md",
-              "sourceDirName": ".",
-              "slug": "/extend-sdk-event-model",
-              "permalink": "/docs/0.68.0/extend-sdk-event-model",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-sdk-event-model",
-                "title": "SDK Guide: Event Model",
-                "sidebar_label": "SDK: Event Model",
-                "original_id": "extend-sdk-event-model"
-              }
-            },
-            {
-              "unversionedId": "extend-sdk-functions",
-              "id": "version-0.68.0/extend-sdk-functions",
-              "title": "SDK Guide: Functions",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.68.0/06_extend-sdk-functions.md",
-              "sourceDirName": ".",
-              "slug": "/extend-sdk-functions",
-              "permalink": "/docs/0.68.0/extend-sdk-functions",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-sdk-functions",
-                "title": "SDK Guide: Functions",
-                "sidebar_label": "SDK: Functions",
-                "original_id": "extend-sdk-functions"
-              }
-            },
-            {
-              "unversionedId": "extend-sdk-migration-service-discovery",
-              "id": "version-0.68.0/extend-sdk-migration-service-discovery",
-              "title": "Migration Guide: New Service Discovery in 0.69.0",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.68.0/06_extend-sdk-migration-sd.md",
-              "sourceDirName": ".",
-              "slug": "/extend-sdk-migration-service-discovery",
-              "permalink": "/docs/0.68.0/extend-sdk-migration-service-discovery",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-sdk-migration-service-discovery",
-                "title": "Migration Guide: New Service Discovery in 0.69.0",
-                "sidebar_label": "Migration Guide: 0.69.0",
-                "original_id": "extend-sdk-migration-service-discovery"
-              }
-            },
-            {
-              "unversionedId": "extend-sdk-output-strategies",
-              "id": "version-0.68.0/extend-sdk-output-strategies",
-              "title": "SDK Guide: Output Strategies",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.68.0/06_extend-sdk-output-strategies.md",
-              "sourceDirName": ".",
-              "slug": "/extend-sdk-output-strategies",
-              "permalink": "/docs/0.68.0/extend-sdk-output-strategies",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-sdk-output-strategies",
-                "title": "SDK Guide: Output Strategies",
-                "sidebar_label": "SDK: Output Strategies",
-                "original_id": "extend-sdk-output-strategies"
-              }
-            },
-            {
-              "unversionedId": "extend-sdk-static-properties",
-              "id": "version-0.68.0/extend-sdk-static-properties",
-              "title": "SDK Guide: Static Properties",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.68.0/06_extend-sdk-static-properties.md",
-              "sourceDirName": ".",
-              "slug": "/extend-sdk-static-properties",
-              "permalink": "/docs/0.68.0/extend-sdk-static-properties",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-sdk-static-properties",
-                "title": "SDK Guide: Static Properties",
-                "sidebar_label": "SDK: Static Properties",
-                "original_id": "extend-sdk-static-properties"
-              }
-            },
-            {
-              "unversionedId": "extend-sdk-stream-requirements",
-              "id": "version-0.68.0/extend-sdk-stream-requirements",
-              "title": "SDK Guide: Stream Requirements",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.68.0/06_extend-sdk-stream-requirements.md",
-              "sourceDirName": ".",
-              "slug": "/extend-sdk-stream-requirements",
-              "permalink": "/docs/0.68.0/extend-sdk-stream-requirements",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-sdk-stream-requirements",
-                "title": "SDK Guide: Stream Requirements",
-                "sidebar_label": "SDK: Stream Requirements",
-                "original_id": "extend-sdk-stream-requirements"
-              }
-            },
-            {
-              "unversionedId": "extend-setup",
-              "id": "version-0.68.0/extend-setup",
-              "title": "Development Setup",
-              "description": "Pipeline elements in StreamPipes are provided as standalone microservices. New pipeline elements can be easily developed using the provided Maven archetypes and can be installed in StreamPipes at runtime.",
-              "source": "@site/versioned_docs/version-0.68.0/06_extend-setup.md",
-              "sourceDirName": ".",
-              "slug": "/extend-setup",
-              "permalink": "/docs/0.68.0/extend-setup",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-setup",
-                "title": "Development Setup",
-                "sidebar_label": "Development Setup",
-                "original_id": "extend-setup"
-              }
-            },
-            {
-              "unversionedId": "extend-tutorial-data-processors",
-              "id": "version-0.68.0/extend-tutorial-data-processors",
-              "title": "Tutorial: Data Processors",
-              "description": "In this tutorial, we will add a new data processor using the Apache Flink wrapper.",
-              "source": "@site/versioned_docs/version-0.68.0/06_extend-tutorial-data-processors.md",
-              "sourceDirName": ".",
-              "slug": "/extend-tutorial-data-processors",
-              "permalink": "/docs/0.68.0/extend-tutorial-data-processors",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-tutorial-data-processors",
-                "title": "Tutorial: Data Processors",
-                "sidebar_label": "Tutorial: Data Processors",
-                "original_id": "extend-tutorial-data-processors"
-              }
-            },
-            {
-              "unversionedId": "extend-tutorial-data-sinks",
-              "id": "version-0.68.0/extend-tutorial-data-sinks",
-              "title": "Tutorial: Data Sinks",
-              "description": "In this tutorial, we will add a new data sink using the standalone wrapper.",
-              "source": "@site/versioned_docs/version-0.68.0/06_extend-tutorial-data-sinks.md",
-              "sourceDirName": ".",
-              "slug": "/extend-tutorial-data-sinks",
-              "permalink": "/docs/0.68.0/extend-tutorial-data-sinks",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-tutorial-data-sinks",
-                "title": "Tutorial: Data Sinks",
-                "sidebar_label": "Tutorial: Data Sinks",
-                "original_id": "extend-tutorial-data-sinks"
-              }
-            },
-            {
-              "unversionedId": "extend-tutorial-data-sources",
-              "id": "version-0.68.0/extend-tutorial-data-sources",
-              "title": "Tutorial: Data Sources",
-              "description": "In this tutorial, we will add a new data source consisting of a single data stream. The source will be provided as a standalone component (i.e., the description will be accessible through an integrated web server).",
-              "source": "@site/versioned_docs/version-0.68.0/06_extend-tutorial-data-sources.md",
-              "sourceDirName": ".",
-              "slug": "/extend-tutorial-data-sources",
-              "permalink": "/docs/0.68.0/extend-tutorial-data-sources",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-tutorial-data-sources",
-                "title": "Tutorial: Data Sources",
-                "sidebar_label": "Tutorial: Data Sources",
-                "original_id": "extend-tutorial-data-sources"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.flic.mqtt",
-              "id": "version-0.68.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt",
-              "title": "Flic MQTT",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.flic.mqtt",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.flic.mqtt",
-                "title": "Flic MQTT",
-                "sidebar_label": "Flic MQTT",
-                "original_id": "org.apache.streampipes.connect.adapters.flic.mqtt"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.opcua",
-              "id": "version-0.68.0/pe/org.apache.streampipes.connect.adapters.opcua",
-              "title": "OPC UA",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.adapters.opcua.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.opcua",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.connect.adapters.opcua",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.opcua",
-                "title": "OPC UA",
-                "sidebar_label": "OPC UA",
-                "original_id": "org.apache.streampipes.connect.adapters.opcua"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.plc4x.modbus",
-              "id": "version-0.68.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus",
-              "title": "PLC4X MODBUS",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.plc4x.modbus",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.plc4x.modbus",
-                "title": "PLC4X MODBUS",
-                "sidebar_label": "PLC4X MODBUS",
-                "original_id": "org.apache.streampipes.connect.adapters.plc4x.modbus"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.simulator.machine",
-              "id": "version-0.68.0/pe/org.apache.streampipes.connect.adapters.simulator.machine",
-              "title": "Machine Data Simulator",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.adapters.simulator.machine.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.simulator.machine",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.connect.adapters.simulator.machine",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.simulator.machine",
-                "title": "Machine Data Simulator",
-                "sidebar_label": "Machine Data Simulator",
-                "original_id": "org.apache.streampipes.connect.adapters.simulator.machine"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.httpserver",
-              "id": "version-0.68.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver",
-              "title": "HTTP Server",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.protocol.stream.httpserver",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.protocol.stream.httpserver",
-                "title": "HTTP Server",
-                "sidebar_label": "HTTP Server",
-                "original_id": "org.apache.streampipes.connect.protocol.stream.httpserver"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "title": "Google Maps Geocoder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.jvm.geocoding",
-                "title": "Google Maps Geocoder",
-                "sidebar_label": "Google Maps Geocoder",
-                "original_id": "org.apache.streampipes.processor.geo.jvm.geocoding"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "title": "Reverse Geocoder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-                "title": "Reverse Geocoder",
-                "sidebar_label": "Reverse Geocoder",
-                "original_id": "org.apache.streampipes.processor.geo.jvm.reversegeocoding"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "title": "Static Google Maps Geocoder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-                "title": "Static Google Maps Geocoder",
-                "sidebar_label": "Static Google Maps Geocoder",
-                "original_id": "org.apache.streampipes.processor.geo.jvm.staticgeocoding"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "title": "Generic Image Classification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-                "title": "Generic Image Classification",
-                "sidebar_label": "Generic Image Classification",
-                "original_id": "org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "title": "Image Enricher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-                "title": "Image Enricher",
-                "sidebar_label": "Image Enricher",
-                "original_id": "org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.imageclassification.qrcode",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processor.imageclassification.qrcode",
-              "title": "QR Code Reader",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.imageclassification.qrcode.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.imageclassification.qrcode",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processor.imageclassification.qrcode",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.imageclassification.qrcode",
-                "title": "QR Code Reader",
-                "sidebar_label": "QR Code Reader",
-                "original_id": "org.apache.streampipes.processor.imageclassification.qrcode"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "title": "Aggregation",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.aggregation",
-                "title": "Aggregation",
-                "sidebar_label": "Aggregation",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.aggregation"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.aggregation.flink.count",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.count",
-              "title": "Count Aggregation",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.count.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.aggregation.flink.count",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.count",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.count",
-                "title": "Count Aggregation",
-                "sidebar_label": "Count Aggregation",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.count"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "title": "Event Counter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.eventcount",
-                "title": "Event Counter",
-                "sidebar_label": "Event Counter",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.eventcount"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.aggregation.flink.rate",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.rate",
-              "title": "Event Rate",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.rate.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.aggregation.flink.rate",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.rate",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.rate",
-                "title": "Event Rate",
-                "sidebar_label": "Event Rate",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.rate"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.changedetection.jvm.cusum",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum",
-              "title": "Cusum",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.changedetection.jvm.cusum",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.changedetection.jvm.cusum",
-                "title": "Cusum",
-                "sidebar_label": "Cusum",
-                "original_id": "org.apache.streampipes.processors.changedetection.jvm.cusum"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.limit",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.filters.jvm.limit",
-              "title": "Rate Limit",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.filters.jvm.limit.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.limit",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.filters.jvm.limit",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.limit",
-                "title": "Rate Limit",
-                "sidebar_label": "Rate Limit",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.limit"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.merge",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.filters.jvm.merge",
-              "title": "Synchronize Two Streams",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.filters.jvm.merge.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.merge",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.filters.jvm.merge",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.merge",
-                "title": "Synchronize Two Streams",
-                "sidebar_label": "Synchronize Two Streams",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.merge"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "title": "Distance Calculator",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-                "title": "Distance Calculator",
-                "sidebar_label": "Distance Calculator",
-                "original_id": "org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-              "title": "Static Distance Calculator",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-                "title": "Static Distance Calculator",
-                "sidebar_label": "Static Distance Calculator",
-                "original_id": "org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
-              "title": "Absence",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.pattern-detection.flink.absence",
-                "title": "Absence",
-                "sidebar_label": "Absence",
-                "original_id": "org.apache.streampipes.processors.pattern-detection.flink.absence"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.pattern-detection.flink.and",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and",
-              "title": "And",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.pattern-detection.flink.and",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.pattern-detection.flink.and",
-                "title": "And",
-                "sidebar_label": "And",
-                "original_id": "org.apache.streampipes.processors.pattern-detection.flink.and"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "title": "Peak Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-                "title": "Peak Detection",
-                "sidebar_label": "Peak Detection",
-                "original_id": "org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
-              "title": "Sequence",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.pattern-detection.flink.sequence",
-                "title": "Sequence",
-                "sidebar_label": "Sequence",
-                "original_id": "org.apache.streampipes.processors.pattern-detection.flink.sequence"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.frequency",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.siddhi.frequency",
-              "title": "Frequency Calculation",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.frequency.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.frequency",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.siddhi.frequency",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.frequency",
-                "title": "Frequency Calculation",
-                "sidebar_label": "Frequency Calculation",
-                "original_id": "org.apache.streampipes.processors.siddhi.frequency"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.frequencychange",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.siddhi.frequencychange",
-              "title": "Frequency Change",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.frequencychange.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.frequencychange",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.siddhi.frequencychange",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.frequencychange",
-                "title": "Frequency Change",
-                "sidebar_label": "Frequency Change",
-                "original_id": "org.apache.streampipes.processors.siddhi.frequencychange"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.increase",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.siddhi.increase",
-              "title": "Trend",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.increase.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.increase",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.siddhi.increase",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.increase",
-                "title": "Trend",
-                "sidebar_label": "Trend",
-                "original_id": "org.apache.streampipes.processors.siddhi.increase"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "title": "Numerical Filter (Siddhi)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.numericalfilter",
-                "title": "Numerical Filter (Siddhi)",
-                "sidebar_label": "Numerical Filter (Siddhi)",
-                "original_id": "org.apache.streampipes.processors.siddhi.numericalfilter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.stop",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.siddhi.stop",
-              "title": "Stream Stop Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.stop.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.stop",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.siddhi.stop",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.stop",
-                "title": "Stream Stop Detection",
-                "sidebar_label": "Stream Stop Detection",
-                "original_id": "org.apache.streampipes.processors.siddhi.stop"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "title": "Language Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.flink.languagedetection",
-                "title": "Language Detection",
-                "sidebar_label": "Language Detection",
-                "original_id": "org.apache.streampipes.processors.textmining.flink.languagedetection"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "title": "Word Count",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.flink.wordcount",
-                "title": "Word Count",
-                "sidebar_label": "Word Count",
-                "original_id": "org.apache.streampipes.processors.textmining.flink.wordcount"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "title": "Field Converter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.field-converter",
-                "title": "Field Converter",
-                "sidebar_label": "Field Converter",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.field-converter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "title": "Field Renamer",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.field-renamer",
-                "title": "Field Renamer",
-                "sidebar_label": "Field Renamer",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.field-renamer"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "title": "Field Hasher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.fieldhasher",
-                "title": "Field Hasher",
-                "sidebar_label": "Field Hasher",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.fieldhasher"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "title": "Measurement Unit Converter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-                "title": "Measurement Unit Converter",
-                "sidebar_label": "Measurement Unit Converter",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "title": "Boolean Counter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-                "title": "Boolean Counter",
-                "sidebar_label": "Boolean Counter",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
-              "title": "Signal Edge Filter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
-                "title": "Signal Edge Filter",
-                "sidebar_label": "Signal Edge Filter",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state",
-              "title": "Boolean To State",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state",
-                "title": "Boolean To State",
-                "sidebar_label": "Boolean To State",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer",
-              "title": "State Buffer",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.processor.state.buffer",
-                "title": "State Buffer",
-                "sidebar_label": "State Buffer",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.state.buffer"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer",
-              "title": "State Buffer Labeler",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer",
-                "title": "State Buffer Labeler",
-                "sidebar_label": "State Buffer Labeler",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number",
-              "title": "Number Labeler",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number",
-                "title": "Number Labeler",
-                "sidebar_label": "Number Labeler",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state",
-              "title": "String To State",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state",
-                "title": "String To State",
-                "sidebar_label": "String To State",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "title": "Split Array",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.split-array",
-                "title": "Split Array",
-                "sidebar_label": "Split Array",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.split-array"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-              "id": "version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-              "title": "String Timer",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-                "title": "String Timer",
-                "sidebar_label": "String Timer",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.stringoperator.timer"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.nats",
-              "id": "version-0.68.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats",
-              "title": "NATS Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.nats",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.nats",
-                "title": "NATS Publisher",
-                "sidebar_label": "NATS Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.nats"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "id": "version-0.68.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "title": "RabbitMQ Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-                "title": "RabbitMQ Publisher",
-                "sidebar_label": "RabbitMQ Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.databases.ditto",
-              "id": "version-0.68.0/pe/org.apache.streampipes.sinks.databases.ditto",
-              "title": "Eclipse Ditto",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.databases.ditto.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.databases.ditto",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.sinks.databases.ditto",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.ditto",
-                "title": "Eclipse Ditto",
-                "sidebar_label": "Eclipse Ditto",
-                "original_id": "org.apache.streampipes.sinks.databases.ditto"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.mysql",
-              "id": "version-0.68.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql",
-              "title": "MySQL Database",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.mysql",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.mysql",
-                "title": "MySQL Database",
-                "sidebar_label": "MySQL Database",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.mysql"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.internal.jvm.notification",
-              "id": "version-0.68.0/pe/org.apache.streampipes.sinks.internal.jvm.notification",
-              "title": "Notification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.internal.jvm.notification.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.internal.jvm.notification",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.sinks.internal.jvm.notification",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.internal.jvm.notification",
-                "title": "Notification",
-                "sidebar_label": "Notification",
-                "original_id": "org.apache.streampipes.sinks.internal.jvm.notification"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "id": "version-0.68.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "title": "Slack Notification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.notifications.jvm.slack",
-                "title": "Slack Notification",
-                "sidebar_label": "Slack Notification",
-                "original_id": "org.apache.streampipes.sinks.notifications.jvm.slack"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.notifications.jvm.telegram",
-              "id": "version-0.68.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram",
-              "title": "Telegram Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.notifications.jvm.telegram",
-              "permalink": "/docs/0.68.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.notifications.jvm.telegram",
-                "title": "Telegram Publisher",
-                "sidebar_label": "Telegram Publisher",
-                "original_id": "org.apache.streampipes.sinks.notifications.jvm.telegram"
-              }
-            },
-            {
-              "unversionedId": "technicals-configuration",
-              "id": "version-0.68.0/technicals-configuration",
-              "title": "Configuration",
-              "description": "On this page we explain how the StreamPipes configuration works.",
-              "source": "@site/versioned_docs/version-0.68.0/07_technicals-configuration.md",
-              "sourceDirName": ".",
-              "slug": "/technicals-configuration",
-              "permalink": "/docs/0.68.0/technicals-configuration",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 7,
-              "frontMatter": {
-                "id": "technicals-configuration",
-                "title": "Configuration",
-                "sidebar_label": "Configuration",
-                "original_id": "technicals-configuration"
-              }
-            },
-            {
-              "unversionedId": "try-installation",
-              "id": "version-0.68.0/try-installation",
-              "title": "Installation",
-              "description": "The easiest way to install StreamPipes is our Docker-based installation. For production-grade deployments, we also",
-              "source": "@site/versioned_docs/version-0.68.0/01_try-installation.md",
-              "sourceDirName": ".",
-              "slug": "/try-installation",
-              "permalink": "/docs/0.68.0/try-installation",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 1,
-              "frontMatter": {
-                "id": "try-installation",
-                "title": "Installation",
-                "sidebar_label": "Installation",
-                "original_id": "try-installation"
-              }
-            },
-            {
-              "unversionedId": "try-tutorial",
-              "id": "version-0.68.0/try-tutorial",
-              "title": "Interactive Tutorial",
-              "description": "Once you've installed StreamPipes and see the home screen, you'll see a number of modules that are part of the StreamPipes toolbox.",
-              "source": "@site/versioned_docs/version-0.68.0/01_try-tutorial.md",
-              "sourceDirName": ".",
-              "slug": "/try-tutorial",
-              "permalink": "/docs/0.68.0/try-tutorial",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 1,
-              "frontMatter": {
-                "id": "try-tutorial",
-                "title": "Interactive Tutorial",
-                "sidebar_label": "Interactive Tutorial",
-                "original_id": "try-tutorial"
-              }
-            },
-            {
-              "unversionedId": "use-configurations",
-              "id": "version-0.68.0/use-configurations",
-              "title": "Configurations",
-              "description": "The configuration section is an admin-only interface for system-wide settings.",
-              "source": "@site/versioned_docs/version-0.68.0/03_use-configurations.md",
-              "sourceDirName": ".",
-              "slug": "/use-configurations",
-              "permalink": "/docs/0.68.0/use-configurations",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 3,
-              "frontMatter": {
-                "id": "use-configurations",
-                "title": "Configurations",
-                "sidebar_label": "Configurations",
-                "original_id": "use-configurations"
-              }
-            },
-            {
-              "unversionedId": "use-dashboard",
-              "id": "version-0.68.0/use-dashboard",
-              "title": "Live Dashboard",
-              "description": "The live dashboard can be used to visualize live data of data streams using a set of visualizations",
-              "source": "@site/versioned_docs/version-0.68.0/03_use-dashboard.md",
-              "sourceDirName": ".",
-              "slug": "/use-dashboard",
-              "permalink": "/docs/0.68.0/use-dashboard",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 3,
-              "frontMatter": {
-                "id": "use-dashboard",
-                "title": "Live Dashboard",
-                "sidebar_label": "Live Dashboard",
-                "original_id": "use-dashboard"
-              }
-            },
-            {
-              "unversionedId": "use-data-explorer",
-              "id": "version-0.68.0/use-data-explorer",
-              "title": "Data Explorer",
-              "description": "The data explorer can be used to visualize and explore data streams that are persisted by using the Data Lake sink.",
-              "source": "@site/versioned_docs/version-0.68.0/03_use-data-explorer.md",
-              "sourceDirName": ".",
-              "slug": "/use-data-explorer",
-              "permalink": "/docs/0.68.0/use-data-explorer",
-              "draft": false,
-              "tags": [],
-              "version": "0.68.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 3,
-              "frontMatter": {
-                "id": "use-data-explorer",
-                "title": "Data Explorer",
-                "sidebar_label": "Data Explorer",
-                "original_id": "use-data-explorer"
-              }
-            }
-          ],
-          "drafts": [],
-          "sidebars": {}
-        },
-        {
-          "versionName": "0.67.0",
-          "label": "0.67.0",
-          "banner": "unmaintained",
-          "badge": true,
-          "noIndex": false,
-          "className": "docs-version-0.67.0",
-          "path": "/docs/0.67.0",
-          "tagsPath": "/docs/0.67.0/tags",
-          "isLast": false,
-          "sidebarFilePath": "C:\\git\\apache\\incubator-streampipes-website\\website-v2\\versioned_sidebars\\version-0.67.0-sidebars.json",
-          "contentPath": "C:\\git\\apache\\incubator-streampipes-website\\website-v2\\versioned_docs\\version-0.67.0",
-          "contentPathLocalized": "C:\\git\\apache\\incubator-streampipes-website\\website-v2\\i18n\\en\\docusaurus-plugin-content-docs\\version-0.67.0",
-          "docs": [
-            {
-              "unversionedId": "community-contribute",
-              "id": "version-0.67.0/community-contribute",
-              "title": "Contribute",
-              "description": "Contribute",
-              "source": "@site/versioned_docs/version-0.67.0/09_contribute.md",
-              "sourceDirName": ".",
-              "slug": "/community-contribute",
-              "permalink": "/docs/0.67.0/community-contribute",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 9,
-              "frontMatter": {
-                "id": "community-contribute",
-                "title": "Contribute",
-                "sidebar_label": "Contribute",
-                "original_id": "community-contribute"
-              }
-            },
-            {
-              "unversionedId": "community-get-help",
-              "id": "version-0.67.0/community-get-help",
-              "title": "Get Help",
-              "description": "The Apache StreamPipes community is happy to help with any questions or problems you might have.",
-              "source": "@site/versioned_docs/version-0.67.0/09_get-help.md",
-              "sourceDirName": ".",
-              "slug": "/community-get-help",
-              "permalink": "/docs/0.67.0/community-get-help",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 9,
-              "frontMatter": {
-                "id": "community-get-help",
-                "title": "Get Help",
-                "sidebar_label": "Get Help",
-                "original_id": "community-get-help"
-              }
-            },
-            {
-              "unversionedId": "concepts-adapter",
-              "id": "version-0.67.0/concepts-adapter",
-              "title": "Data Adapters",
-              "description": "tbd",
-              "source": "@site/versioned_docs/version-0.67.0/02_concepts-adapter.md",
-              "sourceDirName": ".",
-              "slug": "/concepts-adapter",
-              "permalink": "/docs/0.67.0/concepts-adapter",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 2,
-              "frontMatter": {
-                "id": "concepts-adapter",
-                "title": "Data Adapters",
-                "sidebar_label": "Data Adapters",
-                "original_id": "concepts-adapter"
-              }
-            },
-            {
-              "unversionedId": "concepts-data-streams",
-              "id": "version-0.67.0/concepts-data-streams",
-              "title": "Data Streams",
-              "description": "tbd",
-              "source": "@site/versioned_docs/version-0.67.0/02_concepts-data-streams.md",
-              "sourceDirName": ".",
-              "slug": "/concepts-data-streams",
-              "permalink": "/docs/0.67.0/concepts-data-streams",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 2,
-              "frontMatter": {
-                "id": "concepts-data-streams",
-                "title": "Data Streams",
-                "sidebar_label": "Data Streams",
-                "original_id": "concepts-data-streams"
-              }
-            },
-            {
-              "unversionedId": "concepts-glossary",
-              "id": "version-0.67.0/concepts-glossary",
-              "title": "Glossary",
-              "description": "tbd",
-              "source": "@site/versioned_docs/version-0.67.0/02_concepts-glossary.md",
-              "sourceDirName": ".",
-              "slug": "/concepts-glossary",
-              "permalink": "/docs/0.67.0/concepts-glossary",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 2,
-              "frontMatter": {
-                "id": "concepts-glossary",
-                "title": "Glossary",
-                "sidebar_label": "Glossary",
-                "original_id": "concepts-glossary"
-              }
-            },
-            {
-              "unversionedId": "concepts-overview",
-              "id": "version-0.67.0/concepts-overview",
-              "title": "StreamPipes Concepts",
-              "description": "To understand how StreamPipes works, the knowledge of a few core concepts, illustrated below, will be helpful.",
-              "source": "@site/versioned_docs/version-0.67.0/02_concepts-overview.md",
-              "sourceDirName": ".",
-              "slug": "/concepts-overview",
-              "permalink": "/docs/0.67.0/concepts-overview",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 2,
-              "frontMatter": {
-                "id": "concepts-overview",
-                "title": "StreamPipes Concepts",
-                "sidebar_label": "Overview",
-                "original_id": "concepts-overview"
-              }
-            },
-            {
-              "unversionedId": "concepts-pipelines",
-              "id": "version-0.67.0/concepts-pipelines",
-              "title": "Pipelines",
-              "description": "tbd",
-              "source": "@site/versioned_docs/version-0.67.0/02_concepts-pipeline.md",
-              "sourceDirName": ".",
-              "slug": "/concepts-pipelines",
-              "permalink": "/docs/0.67.0/concepts-pipelines",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 2,
-              "frontMatter": {
-                "id": "concepts-pipelines",
-                "title": "Pipelines",
-                "sidebar_label": "Pipelines",
-                "original_id": "concepts-pipelines"
-              }
-            },
-            {
-              "unversionedId": "debugging-debugging",
-              "id": "version-0.67.0/debugging-debugging",
-              "title": "Debugging",
-              "description": "tbd",
-              "source": "@site/versioned_docs/version-0.67.0/08_debugging.md",
-              "sourceDirName": ".",
-              "slug": "/debugging-debugging",
-              "permalink": "/docs/0.67.0/debugging-debugging",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 8,
-              "frontMatter": {
-                "id": "debugging-debugging",
-                "title": "Debugging",
-                "sidebar_label": "Debugging",
-                "original_id": "debugging-debugging"
-              }
-            },
-            {
-              "unversionedId": "debugging-monitoring",
-              "id": "version-0.67.0/debugging-monitoring",
-              "title": "Monitoring",
-              "description": "tbd",
-              "source": "@site/versioned_docs/version-0.67.0/08_monitoring.md",
-              "sourceDirName": ".",
-              "slug": "/debugging-monitoring",
-              "permalink": "/docs/0.67.0/debugging-monitoring",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 8,
-              "frontMatter": {
-                "id": "debugging-monitoring",
-                "title": "Monitoring",
-                "sidebar_label": "Monitoring",
-                "original_id": "debugging-monitoring"
-              }
-            },
-            {
-              "unversionedId": "deploy-docker",
-              "id": "version-0.67.0/deploy-docker",
-              "title": "Docker Deployment",
-              "description": "StreamPipes Compose is a simple collection of user-friendly docker-compose files that easily lets gain first-hand experience with Apache StreamPipes.",
-              "source": "@site/versioned_docs/version-0.67.0/05_deploy-docker.md",
-              "sourceDirName": ".",
-              "slug": "/deploy-docker",
-              "permalink": "/docs/0.67.0/deploy-docker",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 5,
-              "frontMatter": {
-                "id": "deploy-docker",
-                "title": "Docker Deployment",
-                "sidebar_label": "Docker Deployment",
-                "original_id": "deploy-docker"
-              }
-            },
-            {
-              "unversionedId": "deploy-kubernetes",
-              "id": "version-0.67.0/deploy-kubernetes",
-              "title": "Kubernetes Deployment",
-              "description": "Prerequisites",
-              "source": "@site/versioned_docs/version-0.67.0/05_deploy-kubernetes.md",
-              "sourceDirName": ".",
-              "slug": "/deploy-kubernetes",
-              "permalink": "/docs/0.67.0/deploy-kubernetes",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 5,
-              "frontMatter": {
-                "id": "deploy-kubernetes",
-                "title": "Kubernetes Deployment",
-                "sidebar_label": "Kubernetes Deployment",
-                "original_id": "deploy-kubernetes"
-              }
-            },
-            {
-              "unversionedId": "deploy-security",
-              "id": "version-0.67.0/deploy-security",
-              "title": "Security",
-              "description": "Overriding default settings",
-              "source": "@site/versioned_docs/version-0.67.0/05_deploy-security.md",
-              "sourceDirName": ".",
-              "slug": "/deploy-security",
-              "permalink": "/docs/0.67.0/deploy-security",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 5,
-              "frontMatter": {
-                "id": "deploy-security",
-                "title": "Security",
-                "sidebar_label": "Security",
-                "original_id": "deploy-security"
-              }
-            },
-            {
-              "unversionedId": "deploy-use-ssl",
-              "id": "version-0.67.0/deploy-use-ssl",
-              "title": "Use SSL",
-              "description": "This page explains how SSL Certificates can be used to provide transport layer security between your Browser and the Streampipes Backend.",
-              "source": "@site/versioned_docs/version-0.67.0/05_deploy-use-ssl.md",
-              "sourceDirName": ".",
-              "slug": "/deploy-use-ssl",
-              "permalink": "/docs/0.67.0/deploy-use-ssl",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 5,
-              "frontMatter": {
-                "id": "deploy-use-ssl",
-                "title": "Use SSL",
-                "sidebar_label": "Use SSL",
-                "original_id": "deploy-use-ssl"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-archetype",
-              "id": "version-0.67.0/dev-guide-archetype",
-              "title": "Start Developing",
-              "description": "",
-              "source": "@site/versioned_docs/version-0.67.0/dev-guide-archetype.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-archetype",
-              "permalink": "/docs/0.67.0/dev-guide-archetype",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-archetype",
-                "title": "Start Developing",
-                "sidebar_label": "Start Developing",
-                "original_id": "dev-guide-archetype"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-sdk-guide-processors",
-              "id": "version-0.67.0/dev-guide-sdk-guide-processors",
-              "title": "SDK Guide: Data Processors",
-              "description": "Project Setup",
-              "source": "@site/versioned_docs/version-0.67.0/dev-guide-processor-sdk.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-sdk-guide-processors",
-              "permalink": "/docs/0.67.0/dev-guide-sdk-guide-processors",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-sdk-guide-processors",
-                "title": "SDK Guide: Data Processors",
-                "sidebar_label": "SDK Guide: Data Processors",
-                "original_id": "dev-guide-sdk-guide-processors"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-sdk-guide-sinks",
-              "id": "version-0.67.0/dev-guide-sdk-guide-sinks",
-              "title": "SDK Guide: Data Sinks",
-              "description": "Project Setup",
-              "source": "@site/versioned_docs/version-0.67.0/dev-guide-sink-sdk.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-sdk-guide-sinks",
-              "permalink": "/docs/0.67.0/dev-guide-sdk-guide-sinks",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-sdk-guide-sinks",
-                "title": "SDK Guide: Data Sinks",
-                "sidebar_label": "SDK Guide: Data Sinks",
-                "original_id": "dev-guide-sdk-guide-sinks"
-              }
-            },
-            {
-              "unversionedId": "extend-archetypes",
-              "id": "version-0.67.0/extend-archetypes",
-              "title": "Maven Archetypes",
-              "description": "In this tutorial we explain how you can use the Maven archetypes to develop your own StreamPipes processors and sinks.",
-              "source": "@site/versioned_docs/version-0.67.0/06_extend-archetypes.md",
-              "sourceDirName": ".",
-              "slug": "/extend-archetypes",
-              "permalink": "/docs/0.67.0/extend-archetypes",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-archetypes",
-                "title": "Maven Archetypes",
-                "sidebar_label": "Maven Archetypes",
-                "original_id": "extend-archetypes"
-              }
-            },
-            {
-              "unversionedId": "extend-cli",
-              "id": "version-0.67.0/extend-cli",
-              "title": "StreamPipes CLI",
-              "description": "The StreamPipes command-line interface (CLI) is focused on developers in order to provide an easy entrypoint to set up a suitable dev environment, either planning on developing",
-              "source": "@site/versioned_docs/version-0.67.0/06_extend-cli.md",
-              "sourceDirName": ".",
-              "slug": "/extend-cli",
-              "permalink": "/docs/0.67.0/extend-cli",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-cli",
-                "title": "StreamPipes CLI",
-                "sidebar_label": "StreamPipes CLI",
-                "original_id": "extend-cli"
-              }
-            },
-            {
-              "unversionedId": "extend-first-processor",
-              "id": "version-0.67.0/extend-first-processor",
-              "title": "Your first data processor",
-              "description": "In this section, we will explain how to start a pipeline element service and install it using the StreamPipes UI.",
-              "source": "@site/versioned_docs/version-0.67.0/06_extend-first-processor.md",
-              "sourceDirName": ".",
-              "slug": "/extend-first-processor",
-              "permalink": "/docs/0.67.0/extend-first-processor",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-first-processor",
-                "title": "Your first data processor",
-                "sidebar_label": "Your first data processor",
-                "original_id": "extend-first-processor"
-              }
-            },
-            {
-              "unversionedId": "extend-sdk-event-model",
-              "id": "version-0.67.0/extend-sdk-event-model",
-              "title": "SDK Guide: Event Model",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.67.0/06_extend-sdk-event-model.md",
-              "sourceDirName": ".",
-              "slug": "/extend-sdk-event-model",
-              "permalink": "/docs/0.67.0/extend-sdk-event-model",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-sdk-event-model",
-                "title": "SDK Guide: Event Model",
-                "sidebar_label": "SDK: Event Model",
-                "original_id": "extend-sdk-event-model"
-              }
-            },
-            {
-              "unversionedId": "extend-sdk-functions",
-              "id": "version-0.67.0/extend-sdk-functions",
-              "title": "SDK Guide: Functions",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.67.0/06_extend-sdk-functions.md",
-              "sourceDirName": ".",
-              "slug": "/extend-sdk-functions",
-              "permalink": "/docs/0.67.0/extend-sdk-functions",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-sdk-functions",
-                "title": "SDK Guide: Functions",
-                "sidebar_label": "SDK: Functions",
-                "original_id": "extend-sdk-functions"
-              }
-            },
-            {
-              "unversionedId": "extend-sdk-migration-service-discovery",
-              "id": "version-0.67.0/extend-sdk-migration-service-discovery",
-              "title": "Migration Guide: New Service Discovery in 0.69.0",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.67.0/06_extend-sdk-migration-sd.md",
-              "sourceDirName": ".",
-              "slug": "/extend-sdk-migration-service-discovery",
-              "permalink": "/docs/0.67.0/extend-sdk-migration-service-discovery",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-sdk-migration-service-discovery",
-                "title": "Migration Guide: New Service Discovery in 0.69.0",
-                "sidebar_label": "Migration Guide: 0.69.0",
-                "original_id": "extend-sdk-migration-service-discovery"
-              }
-            },
-            {
-              "unversionedId": "extend-sdk-output-strategies",
-              "id": "version-0.67.0/extend-sdk-output-strategies",
-              "title": "SDK Guide: Output Strategies",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.67.0/06_extend-sdk-output-strategies.md",
-              "sourceDirName": ".",
-              "slug": "/extend-sdk-output-strategies",
-              "permalink": "/docs/0.67.0/extend-sdk-output-strategies",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-sdk-output-strategies",
-                "title": "SDK Guide: Output Strategies",
-                "sidebar_label": "SDK: Output Strategies",
-                "original_id": "extend-sdk-output-strategies"
-              }
-            },
-            {
-              "unversionedId": "extend-sdk-static-properties",
-              "id": "version-0.67.0/extend-sdk-static-properties",
-              "title": "SDK Guide: Static Properties",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.67.0/06_extend-sdk-static-properties.md",
-              "sourceDirName": ".",
-              "slug": "/extend-sdk-static-properties",
-              "permalink": "/docs/0.67.0/extend-sdk-static-properties",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-sdk-static-properties",
-                "title": "SDK Guide: Static Properties",
-                "sidebar_label": "SDK: Static Properties",
-                "original_id": "extend-sdk-static-properties"
-              }
-            },
-            {
-              "unversionedId": "extend-sdk-stream-requirements",
-              "id": "version-0.67.0/extend-sdk-stream-requirements",
-              "title": "SDK Guide: Stream Requirements",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.67.0/06_extend-sdk-stream-requirements.md",
-              "sourceDirName": ".",
-              "slug": "/extend-sdk-stream-requirements",
-              "permalink": "/docs/0.67.0/extend-sdk-stream-requirements",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-sdk-stream-requirements",
-                "title": "SDK Guide: Stream Requirements",
-                "sidebar_label": "SDK: Stream Requirements",
-                "original_id": "extend-sdk-stream-requirements"
-              }
-            },
-            {
-              "unversionedId": "extend-setup",
-              "id": "version-0.67.0/extend-setup",
-              "title": "Development Setup",
-              "description": "Pipeline elements in StreamPipes are provided as standalone microservices. New pipeline elements can be easily developed using the provided Maven archetypes and can be installed in StreamPipes at runtime.",
-              "source": "@site/versioned_docs/version-0.67.0/06_extend-setup.md",
-              "sourceDirName": ".",
-              "slug": "/extend-setup",
-              "permalink": "/docs/0.67.0/extend-setup",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-setup",
-                "title": "Development Setup",
-                "sidebar_label": "Development Setup",
-                "original_id": "extend-setup"
-              }
-            },
-            {
-              "unversionedId": "extend-tutorial-data-processors",
-              "id": "version-0.67.0/extend-tutorial-data-processors",
-              "title": "Tutorial: Data Processors",
-              "description": "In this tutorial, we will add a new data processor using the Apache Flink wrapper.",
-              "source": "@site/versioned_docs/version-0.67.0/06_extend-tutorial-data-processors.md",
-              "sourceDirName": ".",
-              "slug": "/extend-tutorial-data-processors",
-              "permalink": "/docs/0.67.0/extend-tutorial-data-processors",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-tutorial-data-processors",
-                "title": "Tutorial: Data Processors",
-                "sidebar_label": "Tutorial: Data Processors",
-                "original_id": "extend-tutorial-data-processors"
-              }
-            },
-            {
-              "unversionedId": "extend-tutorial-data-sinks",
-              "id": "version-0.67.0/extend-tutorial-data-sinks",
-              "title": "Tutorial: Data Sinks",
-              "description": "In this tutorial, we will add a new data sink using the standalone wrapper.",
-              "source": "@site/versioned_docs/version-0.67.0/06_extend-tutorial-data-sinks.md",
-              "sourceDirName": ".",
-              "slug": "/extend-tutorial-data-sinks",
-              "permalink": "/docs/0.67.0/extend-tutorial-data-sinks",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-tutorial-data-sinks",
-                "title": "Tutorial: Data Sinks",
-                "sidebar_label": "Tutorial: Data Sinks",
-                "original_id": "extend-tutorial-data-sinks"
-              }
-            },
-            {
-              "unversionedId": "extend-tutorial-data-sources",
-              "id": "version-0.67.0/extend-tutorial-data-sources",
-              "title": "Tutorial: Data Sources",
-              "description": "In this tutorial, we will add a new data source consisting of a single data stream. The source will be provided as a standalone component (i.e., the description will be accessible through an integrated web server).",
-              "source": "@site/versioned_docs/version-0.67.0/06_extend-tutorial-data-sources.md",
-              "sourceDirName": ".",
-              "slug": "/extend-tutorial-data-sources",
-              "permalink": "/docs/0.67.0/extend-tutorial-data-sources",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-tutorial-data-sources",
-                "title": "Tutorial: Data Sources",
-                "sidebar_label": "Tutorial: Data Sources",
-                "original_id": "extend-tutorial-data-sources"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.flic.mqtt",
-              "id": "version-0.67.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt",
-              "title": "Flic MQTT",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.flic.mqtt",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.flic.mqtt",
-                "title": "Flic MQTT",
-                "sidebar_label": "Flic MQTT",
-                "original_id": "org.apache.streampipes.connect.adapters.flic.mqtt"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.opcua",
-              "id": "version-0.67.0/pe/org.apache.streampipes.connect.adapters.opcua",
-              "title": "OPC UA",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.adapters.opcua.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.opcua",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.connect.adapters.opcua",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.opcua",
-                "title": "OPC UA",
-                "sidebar_label": "OPC UA",
-                "original_id": "org.apache.streampipes.connect.adapters.opcua"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.plc4x.modbus",
-              "id": "version-0.67.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus",
-              "title": "PLC4X MODBUS",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.plc4x.modbus",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.plc4x.modbus",
-                "title": "PLC4X MODBUS",
-                "sidebar_label": "PLC4X MODBUS",
-                "original_id": "org.apache.streampipes.connect.adapters.plc4x.modbus"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.simulator.machine",
-              "id": "version-0.67.0/pe/org.apache.streampipes.connect.adapters.simulator.machine",
-              "title": "Machine Data Simulator",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.adapters.simulator.machine.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.simulator.machine",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.connect.adapters.simulator.machine",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.simulator.machine",
-                "title": "Machine Data Simulator",
-                "sidebar_label": "Machine Data Simulator",
-                "original_id": "org.apache.streampipes.connect.adapters.simulator.machine"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.httpserver",
-              "id": "version-0.67.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver",
-              "title": "HTTP Server",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.protocol.stream.httpserver",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.protocol.stream.httpserver",
-                "title": "HTTP Server",
-                "sidebar_label": "HTTP Server",
-                "original_id": "org.apache.streampipes.connect.protocol.stream.httpserver"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "title": "Google Maps Geocoder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.jvm.geocoding",
-                "title": "Google Maps Geocoder",
-                "sidebar_label": "Google Maps Geocoder",
-                "original_id": "org.apache.streampipes.processor.geo.jvm.geocoding"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "title": "Reverse Geocoder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-                "title": "Reverse Geocoder",
-                "sidebar_label": "Reverse Geocoder",
-                "original_id": "org.apache.streampipes.processor.geo.jvm.reversegeocoding"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "title": "Static Google Maps Geocoder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-                "title": "Static Google Maps Geocoder",
-                "sidebar_label": "Static Google Maps Geocoder",
-                "original_id": "org.apache.streampipes.processor.geo.jvm.staticgeocoding"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "title": "Generic Image Classification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-                "title": "Generic Image Classification",
-                "sidebar_label": "Generic Image Classification",
-                "original_id": "org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "title": "Image Enricher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-                "title": "Image Enricher",
-                "sidebar_label": "Image Enricher",
-                "original_id": "org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.imageclassification.qrcode",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processor.imageclassification.qrcode",
-              "title": "QR Code Reader",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.imageclassification.qrcode.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.imageclassification.qrcode",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processor.imageclassification.qrcode",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.imageclassification.qrcode",
-                "title": "QR Code Reader",
-                "sidebar_label": "QR Code Reader",
-                "original_id": "org.apache.streampipes.processor.imageclassification.qrcode"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "title": "Aggregation",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.aggregation",
-                "title": "Aggregation",
-                "sidebar_label": "Aggregation",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.aggregation"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.aggregation.flink.count",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.count",
-              "title": "Count Aggregation",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.count.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.aggregation.flink.count",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.count",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.count",
-                "title": "Count Aggregation",
-                "sidebar_label": "Count Aggregation",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.count"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "title": "Event Counter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.eventcount",
-                "title": "Event Counter",
-                "sidebar_label": "Event Counter",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.eventcount"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.aggregation.flink.rate",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.rate",
-              "title": "Event Rate",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.rate.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.aggregation.flink.rate",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.rate",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.rate",
-                "title": "Event Rate",
-                "sidebar_label": "Event Rate",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.rate"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.changedetection.jvm.cusum",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum",
-              "title": "Cusum",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.changedetection.jvm.cusum",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.changedetection.jvm.cusum",
-                "title": "Cusum",
-                "sidebar_label": "Cusum",
-                "original_id": "org.apache.streampipes.processors.changedetection.jvm.cusum"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.limit",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.filters.jvm.limit",
-              "title": "Rate Limit",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.filters.jvm.limit.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.limit",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.filters.jvm.limit",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.limit",
-                "title": "Rate Limit",
-                "sidebar_label": "Rate Limit",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.limit"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.merge",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.filters.jvm.merge",
-              "title": "Synchronize Two Streams",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.filters.jvm.merge.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.merge",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.filters.jvm.merge",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.merge",
-                "title": "Synchronize Two Streams",
-                "sidebar_label": "Synchronize Two Streams",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.merge"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "title": "Distance Calculator",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-                "title": "Distance Calculator",
-                "sidebar_label": "Distance Calculator",
-                "original_id": "org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-              "title": "Static Distance Calculator",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-                "title": "Static Distance Calculator",
-                "sidebar_label": "Static Distance Calculator",
-                "original_id": "org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
-              "title": "Absence",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.pattern-detection.flink.absence",
-                "title": "Absence",
-                "sidebar_label": "Absence",
-                "original_id": "org.apache.streampipes.processors.pattern-detection.flink.absence"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.pattern-detection.flink.and",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and",
-              "title": "And",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.pattern-detection.flink.and",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.pattern-detection.flink.and",
-                "title": "And",
-                "sidebar_label": "And",
-                "original_id": "org.apache.streampipes.processors.pattern-detection.flink.and"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "title": "Peak Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-                "title": "Peak Detection",
-                "sidebar_label": "Peak Detection",
-                "original_id": "org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
-              "title": "Sequence",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.pattern-detection.flink.sequence",
-                "title": "Sequence",
-                "sidebar_label": "Sequence",
-                "original_id": "org.apache.streampipes.processors.pattern-detection.flink.sequence"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.frequency",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.siddhi.frequency",
-              "title": "Frequency Calculation",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.frequency.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.frequency",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.siddhi.frequency",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.frequency",
-                "title": "Frequency Calculation",
-                "sidebar_label": "Frequency Calculation",
-                "original_id": "org.apache.streampipes.processors.siddhi.frequency"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.frequencychange",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.siddhi.frequencychange",
-              "title": "Frequency Change",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.frequencychange.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.frequencychange",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.siddhi.frequencychange",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.frequencychange",
-                "title": "Frequency Change",
-                "sidebar_label": "Frequency Change",
-                "original_id": "org.apache.streampipes.processors.siddhi.frequencychange"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.increase",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.siddhi.increase",
-              "title": "Trend",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.increase.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.increase",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.siddhi.increase",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.increase",
-                "title": "Trend",
-                "sidebar_label": "Trend",
-                "original_id": "org.apache.streampipes.processors.siddhi.increase"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "title": "Numerical Filter (Siddhi)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.numericalfilter",
-                "title": "Numerical Filter (Siddhi)",
-                "sidebar_label": "Numerical Filter (Siddhi)",
-                "original_id": "org.apache.streampipes.processors.siddhi.numericalfilter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.stop",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.siddhi.stop",
-              "title": "Stream Stop Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.stop.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.stop",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.siddhi.stop",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.stop",
-                "title": "Stream Stop Detection",
-                "sidebar_label": "Stream Stop Detection",
-                "original_id": "org.apache.streampipes.processors.siddhi.stop"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "title": "Language Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.flink.languagedetection",
-                "title": "Language Detection",
-                "sidebar_label": "Language Detection",
-                "original_id": "org.apache.streampipes.processors.textmining.flink.languagedetection"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "title": "Word Count",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.flink.wordcount",
-                "title": "Word Count",
-                "sidebar_label": "Word Count",
-                "original_id": "org.apache.streampipes.processors.textmining.flink.wordcount"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "title": "Field Converter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.field-converter",
-                "title": "Field Converter",
-                "sidebar_label": "Field Converter",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.field-converter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "title": "Field Renamer",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.field-renamer",
-                "title": "Field Renamer",
-                "sidebar_label": "Field Renamer",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.field-renamer"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "title": "Field Hasher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.fieldhasher",
-                "title": "Field Hasher",
-                "sidebar_label": "Field Hasher",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.fieldhasher"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "title": "Measurement Unit Converter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-                "title": "Measurement Unit Converter",
-                "sidebar_label": "Measurement Unit Converter",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "title": "Boolean Counter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-                "title": "Boolean Counter",
-                "sidebar_label": "Boolean Counter",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
-              "title": "Signal Edge Filter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
-                "title": "Signal Edge Filter",
-                "sidebar_label": "Signal Edge Filter",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state",
-              "title": "Boolean To State",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state",
-                "title": "Boolean To State",
-                "sidebar_label": "Boolean To State",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer",
-              "title": "State Buffer",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.processor.state.buffer",
-                "title": "State Buffer",
-                "sidebar_label": "State Buffer",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.state.buffer"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer",
-              "title": "State Buffer Labeler",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer",
-                "title": "State Buffer Labeler",
-                "sidebar_label": "State Buffer Labeler",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number",
-              "title": "Number Labeler",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number",
-                "title": "Number Labeler",
-                "sidebar_label": "Number Labeler",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state",
-              "title": "String To State",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state",
-                "title": "String To State",
-                "sidebar_label": "String To State",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "title": "Split Array",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.split-array",
-                "title": "Split Array",
-                "sidebar_label": "Split Array",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.split-array"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-              "id": "version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-              "title": "String Timer",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-                "title": "String Timer",
-                "sidebar_label": "String Timer",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.stringoperator.timer"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.nats",
-              "id": "version-0.67.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats",
-              "title": "NATS Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.nats",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.nats",
-                "title": "NATS Publisher",
-                "sidebar_label": "NATS Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.nats"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "id": "version-0.67.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "title": "RabbitMQ Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-                "title": "RabbitMQ Publisher",
-                "sidebar_label": "RabbitMQ Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.databases.ditto",
-              "id": "version-0.67.0/pe/org.apache.streampipes.sinks.databases.ditto",
-              "title": "Eclipse Ditto",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.databases.ditto.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.databases.ditto",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.sinks.databases.ditto",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.ditto",
-                "title": "Eclipse Ditto",
-                "sidebar_label": "Eclipse Ditto",
-                "original_id": "org.apache.streampipes.sinks.databases.ditto"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.mysql",
-              "id": "version-0.67.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql",
-              "title": "MySQL Database",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.mysql",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.mysql",
-                "title": "MySQL Database",
-                "sidebar_label": "MySQL Database",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.mysql"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.internal.jvm.notification",
-              "id": "version-0.67.0/pe/org.apache.streampipes.sinks.internal.jvm.notification",
-              "title": "Notification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.internal.jvm.notification.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.internal.jvm.notification",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.sinks.internal.jvm.notification",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.internal.jvm.notification",
-                "title": "Notification",
-                "sidebar_label": "Notification",
-                "original_id": "org.apache.streampipes.sinks.internal.jvm.notification"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "id": "version-0.67.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "title": "Slack Notification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.notifications.jvm.slack",
-                "title": "Slack Notification",
-                "sidebar_label": "Slack Notification",
-                "original_id": "org.apache.streampipes.sinks.notifications.jvm.slack"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.notifications.jvm.telegram",
-              "id": "version-0.67.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram",
-              "title": "Telegram Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.notifications.jvm.telegram",
-              "permalink": "/docs/0.67.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.notifications.jvm.telegram",
-                "title": "Telegram Publisher",
-                "sidebar_label": "Telegram Publisher",
-                "original_id": "org.apache.streampipes.sinks.notifications.jvm.telegram"
-              }
-            },
-            {
-              "unversionedId": "technicals-architecture",
-              "id": "version-0.67.0/technicals-architecture",
-              "title": "Architecture",
-              "description": "The following picture illustrates the high-level architecture of StreamPipes:",
-              "source": "@site/versioned_docs/version-0.67.0/07_technicals-architecture.md",
-              "sourceDirName": ".",
-              "slug": "/technicals-architecture",
-              "permalink": "/docs/0.67.0/technicals-architecture",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 7,
-              "frontMatter": {
-                "id": "technicals-architecture",
-                "title": "Architecture",
-                "sidebar_label": "Architecture",
-                "original_id": "technicals-architecture"
-              }
-            },
-            {
-              "unversionedId": "technicals-configuration",
-              "id": "version-0.67.0/technicals-configuration",
-              "title": "Configuration",
-              "description": "On this page we explain how the StreamPipes configuration works.",
-              "source": "@site/versioned_docs/version-0.67.0/07_technicals-configuration.md",
-              "sourceDirName": ".",
-              "slug": "/technicals-configuration",
-              "permalink": "/docs/0.67.0/technicals-configuration",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 7,
-              "frontMatter": {
-                "id": "technicals-configuration",
-                "title": "Configuration",
-                "sidebar_label": "Configuration",
-                "original_id": "technicals-configuration"
-              }
-            },
-            {
-              "unversionedId": "technicals-messaging",
-              "id": "version-0.67.0/technicals-messaging",
-              "title": "Messaging",
-              "description": "tbd",
-              "source": "@site/versioned_docs/version-0.67.0/07_technicals-messaging.md",
-              "sourceDirName": ".",
-              "slug": "/technicals-messaging",
-              "permalink": "/docs/0.67.0/technicals-messaging",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 7,
-              "frontMatter": {
-                "id": "technicals-messaging",
-                "title": "Messaging",
-                "sidebar_label": "Messaging",
-                "original_id": "technicals-messaging"
-              }
-            },
-            {
-              "unversionedId": "technicals-runtime-wrappers",
-              "id": "version-0.67.0/technicals-runtime-wrappers",
-              "title": "Runtime Wrappers",
-              "description": "tbd",
-              "source": "@site/versioned_docs/version-0.67.0/07_technicals-runtime-wrappers.md",
-              "sourceDirName": ".",
-              "slug": "/technicals-runtime-wrappers",
-              "permalink": "/docs/0.67.0/technicals-runtime-wrappers",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 7,
-              "frontMatter": {
-                "id": "technicals-runtime-wrappers",
-                "title": "Runtime Wrappers",
-                "sidebar_label": "Runtime Wrappers",
-                "original_id": "technicals-runtime-wrappers"
-              }
-            },
-            {
-              "unversionedId": "technicals-user-guidance",
-              "id": "version-0.67.0/technicals-user-guidance",
-              "title": "User Guidance",
-              "description": "tbd",
-              "source": "@site/versioned_docs/version-0.67.0/07_technicals-user-guidance.md",
-              "sourceDirName": ".",
-              "slug": "/technicals-user-guidance",
-              "permalink": "/docs/0.67.0/technicals-user-guidance",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 7,
-              "frontMatter": {
-                "id": "technicals-user-guidance",
-                "title": "User Guidance",
-                "sidebar_label": "User Guidance",
-                "original_id": "technicals-user-guidance"
-              }
-            },
-            {
-              "unversionedId": "try-installation",
-              "id": "version-0.67.0/try-installation",
-              "title": "Installation",
-              "description": "The easiest way to install StreamPipes is our Docker-based installation. For production-grade deployments, we also",
-              "source": "@site/versioned_docs/version-0.67.0/01_try-installation.md",
-              "sourceDirName": ".",
-              "slug": "/try-installation",
-              "permalink": "/docs/0.67.0/try-installation",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 1,
-              "frontMatter": {
-                "id": "try-installation",
-                "title": "Installation",
-                "sidebar_label": "Installation",
-                "original_id": "try-installation"
-              }
-            },
-            {
-              "unversionedId": "try-tutorial",
-              "id": "version-0.67.0/try-tutorial",
-              "title": "Interactive Tutorial",
-              "description": "Once you've installed StreamPipes and see the home screen, you'll see a number of modules that are part of the StreamPipes toolbox.",
-              "source": "@site/versioned_docs/version-0.67.0/01_try-tutorial.md",
-              "sourceDirName": ".",
-              "slug": "/try-tutorial",
-              "permalink": "/docs/0.67.0/try-tutorial",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 1,
-              "frontMatter": {
-                "id": "try-tutorial",
-                "title": "Interactive Tutorial",
-                "sidebar_label": "Interactive Tutorial",
-                "original_id": "try-tutorial"
-              }
-            },
-            {
-              "unversionedId": "use-configurations",
-              "id": "version-0.67.0/use-configurations",
-              "title": "Configurations",
-              "description": "tbd",
-              "source": "@site/versioned_docs/version-0.67.0/03_use-configurations.md",
-              "sourceDirName": ".",
-              "slug": "/use-configurations",
-              "permalink": "/docs/0.67.0/use-configurations",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 3,
-              "frontMatter": {
-                "id": "use-configurations",
-                "title": "Configurations",
-                "sidebar_label": "Configurations",
-                "original_id": "use-configurations"
-              }
-            },
-            {
-              "unversionedId": "use-connect",
-              "id": "version-0.67.0/use-connect",
-              "title": "StreamPipes Connect",
-              "description": "StreamPipes Connect is the module to connect external data sources with Apache StreamPipes directly from the user interface.",
-              "source": "@site/versioned_docs/version-0.67.0/03_use-connect.md",
-              "sourceDirName": ".",
-              "slug": "/use-connect",
-              "permalink": "/docs/0.67.0/use-connect",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 3,
-              "frontMatter": {
-                "id": "use-connect",
-                "title": "StreamPipes Connect",
-                "sidebar_label": "StreamPipes Connect",
-                "original_id": "use-connect"
-              }
-            },
-            {
-              "unversionedId": "use-dashboard",
-              "id": "version-0.67.0/use-dashboard",
-              "title": "Live Dashboard",
-              "description": "The live dashboard can be used to visualize live data of data streams using a set of visualizations",
-              "source": "@site/versioned_docs/version-0.67.0/03_use-dashboard.md",
-              "sourceDirName": ".",
-              "slug": "/use-dashboard",
-              "permalink": "/docs/0.67.0/use-dashboard",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 3,
-              "frontMatter": {
-                "id": "use-dashboard",
-                "title": "Live Dashboard",
-                "sidebar_label": "Live Dashboard",
-                "original_id": "use-dashboard"
-              }
-            },
-            {
-              "unversionedId": "use-data-explorer",
-              "id": "version-0.67.0/use-data-explorer",
-              "title": "Data Explorer",
-              "description": "The data explorer can be used to visualize and explore data streams that are persisted by using the Data Lake sink.",
-              "source": "@site/versioned_docs/version-0.67.0/03_use-data-explorer.md",
-              "sourceDirName": ".",
-              "slug": "/use-data-explorer",
-              "permalink": "/docs/0.67.0/use-data-explorer",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 3,
-              "frontMatter": {
-                "id": "use-data-explorer",
-                "title": "Data Explorer",
-                "sidebar_label": "Data Explorer",
-                "original_id": "use-data-explorer"
-              }
-            },
-            {
-              "unversionedId": "use-install-pipeline-elements",
-              "id": "version-0.67.0/use-install-pipeline-elements",
-              "title": "Install Pipeline Elements",
-              "description": "Install Pipeline Elements",
-              "source": "@site/versioned_docs/version-0.67.0/03_use-install-pipeline-elements.md",
-              "sourceDirName": ".",
-              "slug": "/use-install-pipeline-elements",
-              "permalink": "/docs/0.67.0/use-install-pipeline-elements",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 3,
-              "frontMatter": {
-                "id": "use-install-pipeline-elements",
-                "title": "Install Pipeline Elements",
-                "sidebar_label": "Install Pipeline Elements",
-                "original_id": "use-install-pipeline-elements"
-              }
-            },
-            {
-              "unversionedId": "use-managing-pipelines",
-              "id": "version-0.67.0/use-managing-pipelines",
-              "title": "Managing Pipelines",
-              "description": "The pipeline view lists all created pipelines and provides several views and actions to manage the lifecycle of pipelines.",
-              "source": "@site/versioned_docs/version-0.67.0/03_use-managing-pipelines.md",
-              "sourceDirName": ".",
-              "slug": "/use-managing-pipelines",
-              "permalink": "/docs/0.67.0/use-managing-pipelines",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 3,
-              "frontMatter": {
-                "id": "use-managing-pipelines",
-                "title": "Managing Pipelines",
-                "sidebar_label": "Managing Pipelines",
-                "original_id": "use-managing-pipelines"
-              }
-            },
-            {
-              "unversionedId": "use-notifications",
-              "id": "version-0.67.0/use-notifications",
-              "title": "Notifications",
-              "description": "The notification module can be used to create internal notifications.",
-              "source": "@site/versioned_docs/version-0.67.0/03_use-notifications.md",
-              "sourceDirName": ".",
-              "slug": "/use-notifications",
-              "permalink": "/docs/0.67.0/use-notifications",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 3,
-              "frontMatter": {
-                "id": "use-notifications",
-                "title": "Notifications",
-                "sidebar_label": "Notifications",
-                "original_id": "use-notifications"
-              }
-            },
-            {
-              "unversionedId": "use-pipeline-editor",
-              "id": "version-0.67.0/use-pipeline-editor",
-              "title": "Pipeline Editor",
-              "description": "The pipeline editor module supports building pipelines that transform a data stream using a set of resuable data processors and data sinks.",
-              "source": "@site/versioned_docs/version-0.67.0/03_use-pipeline-editor.md",
-              "sourceDirName": ".",
-              "slug": "/use-pipeline-editor",
-              "permalink": "/docs/0.67.0/use-pipeline-editor",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 3,
-              "frontMatter": {
-                "id": "use-pipeline-editor",
-                "title": "Pipeline Editor",
-                "sidebar_label": "Pipeline Editor",
-                "original_id": "use-pipeline-editor"
-              }
-            },
-            {
-              "unversionedId": "user-guide-installation",
-              "id": "version-0.67.0/user-guide-installation",
-              "title": "Installation",
-              "description": "Prerequisites",
-              "source": "@site/versioned_docs/version-0.67.0/user-guide-installation.md",
-              "sourceDirName": ".",
-              "slug": "/user-guide-installation",
-              "permalink": "/docs/0.67.0/user-guide-installation",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "user-guide-installation",
-                "title": "Installation",
-                "sidebar_label": "Installation",
-                "original_id": "user-guide-installation"
-              }
-            },
-            {
-              "unversionedId": "user-guide-introduction",
-              "id": "version-0.67.0/user-guide-introduction",
-              "title": "Apache StreamPipes Documentation",
-              "description": "This is the documentation of Apache StreamPipes.",
-              "source": "@site/versioned_docs/version-0.67.0/01_try-overview.md",
-              "sourceDirName": ".",
-              "slug": "/user-guide-introduction",
-              "permalink": "/docs/0.67.0/user-guide-introduction",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 1,
-              "frontMatter": {
-                "id": "user-guide-introduction",
-                "title": "Apache StreamPipes Documentation",
-                "sidebar_label": "Overview",
-                "original_id": "user-guide-introduction"
-              }
-            },
-            {
-              "unversionedId": "user-guide-introduction-old",
-              "id": "version-0.67.0/user-guide-introduction-old",
-              "title": "Introduction",
-              "description": "StreamPipes is a framework that enables users to work with data streams.",
-              "source": "@site/versioned_docs/version-0.67.0/user-guide-introduction.md",
-              "sourceDirName": ".",
-              "slug": "/user-guide-introduction-old",
-              "permalink": "/docs/0.67.0/user-guide-introduction-old",
-              "draft": false,
-              "tags": [],
-              "version": "0.67.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "user-guide-introduction-old",
-                "title": "Introduction",
-                "sidebar_label": "Introduction",
-                "original_id": "user-guide-introduction-old"
-              }
-            }
-          ],
-          "drafts": [],
-          "sidebars": {}
-        },
-        {
-          "versionName": "0.66.0",
-          "label": "0.66.0",
-          "banner": "unmaintained",
-          "badge": true,
-          "noIndex": false,
-          "className": "docs-version-0.66.0",
-          "path": "/docs/0.66.0",
-          "tagsPath": "/docs/0.66.0/tags",
-          "isLast": false,
-          "sidebarFilePath": "C:\\git\\apache\\incubator-streampipes-website\\website-v2\\versioned_sidebars\\version-0.66.0-sidebars.json",
-          "contentPath": "C:\\git\\apache\\incubator-streampipes-website\\website-v2\\versioned_docs\\version-0.66.0",
-          "contentPathLocalized": "C:\\git\\apache\\incubator-streampipes-website\\website-v2\\i18n\\en\\docusaurus-plugin-content-docs\\version-0.66.0",
-          "docs": [
-            {
-              "unversionedId": "community-contribute",
-              "id": "version-0.66.0/community-contribute",
-              "title": "Contribute",
-              "description": "Contribute",
-              "source": "@site/versioned_docs/version-0.66.0/09_contribute.md",
-              "sourceDirName": ".",
-              "slug": "/community-contribute",
-              "permalink": "/docs/0.66.0/community-contribute",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 9,
-              "frontMatter": {
-                "id": "community-contribute",
-                "title": "Contribute",
-                "sidebar_label": "Contribute",
-                "original_id": "community-contribute"
-              }
-            },
-            {
-              "unversionedId": "community-get-help",
-              "id": "version-0.66.0/community-get-help",
-              "title": "Get Help",
-              "description": "The Apache StreamPipes community is happy to help with any questions or problems you might have.",
-              "source": "@site/versioned_docs/version-0.66.0/09_get-help.md",
-              "sourceDirName": ".",
-              "slug": "/community-get-help",
-              "permalink": "/docs/0.66.0/community-get-help",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 9,
-              "frontMatter": {
-                "id": "community-get-help",
-                "title": "Get Help",
-                "sidebar_label": "Get Help",
-                "original_id": "community-get-help"
-              }
-            },
-            {
-              "unversionedId": "concepts-adapter",
-              "id": "version-0.66.0/concepts-adapter",
-              "title": "Data Adapters",
-              "description": "tbd",
-              "source": "@site/versioned_docs/version-0.66.0/02_concepts-adapter.md",
-              "sourceDirName": ".",
-              "slug": "/concepts-adapter",
-              "permalink": "/docs/0.66.0/concepts-adapter",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 2,
-              "frontMatter": {
-                "id": "concepts-adapter",
-                "title": "Data Adapters",
-                "sidebar_label": "Data Adapters",
-                "original_id": "concepts-adapter"
-              }
-            },
-            {
-              "unversionedId": "concepts-data-streams",
-              "id": "version-0.66.0/concepts-data-streams",
-              "title": "Data Streams",
-              "description": "tbd",
-              "source": "@site/versioned_docs/version-0.66.0/02_concepts-data-streams.md",
-              "sourceDirName": ".",
-              "slug": "/concepts-data-streams",
-              "permalink": "/docs/0.66.0/concepts-data-streams",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 2,
-              "frontMatter": {
-                "id": "concepts-data-streams",
-                "title": "Data Streams",
-                "sidebar_label": "Data Streams",
-                "original_id": "concepts-data-streams"
-              }
-            },
-            {
-              "unversionedId": "concepts-glossary",
-              "id": "version-0.66.0/concepts-glossary",
-              "title": "Glossary",
-              "description": "tbd",
-              "source": "@site/versioned_docs/version-0.66.0/02_concepts-glossary.md",
-              "sourceDirName": ".",
-              "slug": "/concepts-glossary",
-              "permalink": "/docs/0.66.0/concepts-glossary",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 2,
-              "frontMatter": {
-                "id": "concepts-glossary",
-                "title": "Glossary",
-                "sidebar_label": "Glossary",
-                "original_id": "concepts-glossary"
-              }
-            },
-            {
-              "unversionedId": "concepts-overview",
-              "id": "version-0.66.0/concepts-overview",
-              "title": "StreamPipes Concepts",
-              "description": "To understand how StreamPipes works, the knowledge of a few core concepts, illustrated below, will be helpful.",
-              "source": "@site/versioned_docs/version-0.66.0/02_concepts-overview.md",
-              "sourceDirName": ".",
-              "slug": "/concepts-overview",
-              "permalink": "/docs/0.66.0/concepts-overview",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 2,
-              "frontMatter": {
-                "id": "concepts-overview",
-                "title": "StreamPipes Concepts",
-                "sidebar_label": "Overview",
-                "original_id": "concepts-overview"
-              }
-            },
-            {
-              "unversionedId": "concepts-pipelines",
-              "id": "version-0.66.0/concepts-pipelines",
-              "title": "Pipelines",
-              "description": "tbd",
-              "source": "@site/versioned_docs/version-0.66.0/02_concepts-pipeline.md",
-              "sourceDirName": ".",
-              "slug": "/concepts-pipelines",
-              "permalink": "/docs/0.66.0/concepts-pipelines",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 2,
-              "frontMatter": {
-                "id": "concepts-pipelines",
-                "title": "Pipelines",
-                "sidebar_label": "Pipelines",
-                "original_id": "concepts-pipelines"
-              }
-            },
-            {
-              "unversionedId": "debugging-debugging",
-              "id": "version-0.66.0/debugging-debugging",
-              "title": "Debugging",
-              "description": "tbd",
-              "source": "@site/versioned_docs/version-0.66.0/08_debugging.md",
-              "sourceDirName": ".",
-              "slug": "/debugging-debugging",
-              "permalink": "/docs/0.66.0/debugging-debugging",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 8,
-              "frontMatter": {
-                "id": "debugging-debugging",
-                "title": "Debugging",
-                "sidebar_label": "Debugging",
-                "original_id": "debugging-debugging"
-              }
-            },
-            {
-              "unversionedId": "debugging-monitoring",
-              "id": "version-0.66.0/debugging-monitoring",
-              "title": "Monitoring",
-              "description": "tbd",
-              "source": "@site/versioned_docs/version-0.66.0/08_monitoring.md",
-              "sourceDirName": ".",
-              "slug": "/debugging-monitoring",
-              "permalink": "/docs/0.66.0/debugging-monitoring",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 8,
-              "frontMatter": {
-                "id": "debugging-monitoring",
-                "title": "Monitoring",
-                "sidebar_label": "Monitoring",
-                "original_id": "debugging-monitoring"
-              }
-            },
-            {
-              "unversionedId": "deploy-docker",
-              "id": "version-0.66.0/deploy-docker",
-              "title": "Docker Deployment",
-              "description": "StreamPipes Compose is a simple collection of user-friendly docker-compose files that easily lets gain first-hand experience with Apache StreamPipes.",
-              "source": "@site/versioned_docs/version-0.66.0/05_deploy-docker.md",
-              "sourceDirName": ".",
-              "slug": "/deploy-docker",
-              "permalink": "/docs/0.66.0/deploy-docker",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 5,
-              "frontMatter": {
-                "id": "deploy-docker",
-                "title": "Docker Deployment",
-                "sidebar_label": "Docker Deployment",
-                "original_id": "deploy-docker"
-              }
-            },
-            {
-              "unversionedId": "deploy-kubernetes",
-              "id": "version-0.66.0/deploy-kubernetes",
-              "title": "Kubernetes Deployment",
-              "description": "Prerequisites",
-              "source": "@site/versioned_docs/version-0.66.0/05_deploy-kubernetes.md",
-              "sourceDirName": ".",
-              "slug": "/deploy-kubernetes",
-              "permalink": "/docs/0.66.0/deploy-kubernetes",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 5,
-              "frontMatter": {
-                "id": "deploy-kubernetes",
-                "title": "Kubernetes Deployment",
-                "sidebar_label": "Kubernetes Deployment",
-                "original_id": "deploy-kubernetes"
-              }
-            },
-            {
-              "unversionedId": "deploy-security",
-              "id": "version-0.66.0/deploy-security",
-              "title": "Security",
-              "description": "Overriding default settings",
-              "source": "@site/versioned_docs/version-0.66.0/05_deploy-security.md",
-              "sourceDirName": ".",
-              "slug": "/deploy-security",
-              "permalink": "/docs/0.66.0/deploy-security",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 5,
-              "frontMatter": {
-                "id": "deploy-security",
-                "title": "Security",
-                "sidebar_label": "Security",
-                "original_id": "deploy-security"
-              }
-            },
-            {
-              "unversionedId": "deploy-use-ssl",
-              "id": "version-0.66.0/deploy-use-ssl",
-              "title": "Use SSL",
-              "description": "This page explains how SSL Certificates can be used to provide transport layer security between your Browser and the Streampipes Backend.",
-              "source": "@site/versioned_docs/version-0.66.0/05_deploy-use-ssl.md",
-              "sourceDirName": ".",
-              "slug": "/deploy-use-ssl",
-              "permalink": "/docs/0.66.0/deploy-use-ssl",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 5,
-              "frontMatter": {
-                "id": "deploy-use-ssl",
-                "title": "Use SSL",
-                "sidebar_label": "Use SSL",
-                "original_id": "deploy-use-ssl"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-archetype",
-              "id": "version-0.66.0/dev-guide-archetype",
-              "title": "Start Developing",
-              "description": "In this tutorial we explain how you can use the Maven archetypes to develop your own StreamPipes processors and sinks.",
-              "source": "@site/versioned_docs/version-0.66.0/dev-guide-archetype.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-archetype",
-              "permalink": "/docs/0.66.0/dev-guide-archetype",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-archetype",
-                "title": "Start Developing",
-                "sidebar_label": "Start Developing",
-                "original_id": "dev-guide-archetype"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-configuration",
-              "id": "version-0.66.0/dev-guide-configuration",
-              "title": "Configuration",
-              "description": "On this page we explain how the StreamPipes configuration works.",
-              "source": "@site/versioned_docs/version-0.66.0/dev-guide-configuration.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-configuration",
-              "permalink": "/docs/0.66.0/dev-guide-configuration",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-configuration",
-                "title": "Configuration",
-                "sidebar_label": "Configuration",
-                "original_id": "dev-guide-configuration"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-development-environment",
-              "id": "version-0.66.0/dev-guide-development-environment",
-              "title": "Development Environment",
-              "description": "In this section, we describe our recommended minimum setup for locally setting up a development instance of StreamPipes needed to develop, run and test new pipeline elements.",
-              "source": "@site/versioned_docs/version-0.66.0/dev-guide-environment.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-development-environment",
-              "permalink": "/docs/0.66.0/dev-guide-development-environment",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-development-environment",
-                "title": "Development Environment",
-                "sidebar_label": "Development Environment",
-                "original_id": "dev-guide-development-environment"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-output-strategies",
-              "id": "version-0.66.0/dev-guide-output-strategies",
-              "title": "SDK Guide: Output Strategies",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.66.0/dev-guide-output-strategies.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-output-strategies",
-              "permalink": "/docs/0.66.0/dev-guide-output-strategies",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-output-strategies",
-                "title": "SDK Guide: Output Strategies",
-                "sidebar_label": "Output Strategies",
-                "original_id": "dev-guide-output-strategies"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-static-properties",
-              "id": "version-0.66.0/dev-guide-static-properties",
-              "title": "SDK Guide: Static Properties",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.66.0/dev-guide-static-properties.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-static-properties",
-              "permalink": "/docs/0.66.0/dev-guide-static-properties",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-static-properties",
-                "title": "SDK Guide: Static Properties",
-                "sidebar_label": "Static Properties",
-                "original_id": "dev-guide-static-properties"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-stream-requirements",
-              "id": "version-0.66.0/dev-guide-stream-requirements",
-              "title": "SDK Guide: Stream Requirements",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.66.0/dev-guide-stream-requirements.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-stream-requirements",
-              "permalink": "/docs/0.66.0/dev-guide-stream-requirements",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-stream-requirements",
-                "title": "SDK Guide: Stream Requirements",
-                "sidebar_label": "Stream Requirements",
-                "original_id": "dev-guide-stream-requirements"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-tutorial-sources",
-              "id": "version-0.66.0/dev-guide-tutorial-sources",
-              "title": "Tutorial: Data Sources",
-              "description": "In this tutorial, we will add a new data source consisting of a single data stream. The source will be provided as a standalone component (i.e., the description will be accessible through an integrated web server).",
-              "source": "@site/versioned_docs/version-0.66.0/dev-guide-tutorial-sources.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-tutorial-sources",
-              "permalink": "/docs/0.66.0/dev-guide-tutorial-sources",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-tutorial-sources",
-                "title": "Tutorial: Data Sources",
-                "sidebar_label": "Tutorial: Data Sources",
-                "original_id": "dev-guide-tutorial-sources"
-              }
-            },
-            {
-              "unversionedId": "extend-archetypes",
-              "id": "version-0.66.0/extend-archetypes",
-              "title": "Maven Archetypes",
-              "description": "In this tutorial we explain how you can use the Maven archetypes to develop your own StreamPipes processors and sinks.",
-              "source": "@site/versioned_docs/version-0.66.0/06_extend-archetypes.md",
-              "sourceDirName": ".",
-              "slug": "/extend-archetypes",
-              "permalink": "/docs/0.66.0/extend-archetypes",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-archetypes",
-                "title": "Maven Archetypes",
-                "sidebar_label": "Maven Archetypes",
-                "original_id": "extend-archetypes"
-              }
-            },
-            {
-              "unversionedId": "extend-cli",
-              "id": "version-0.66.0/extend-cli",
-              "title": "StreamPipes CLI",
-              "description": "The StreamPipes command-line interface (CLI) is focused on developers in order to provide an easy entrypoint to set up a suitable dev environment, either planning on developing",
-              "source": "@site/versioned_docs/version-0.66.0/06_extend-cli.md",
-              "sourceDirName": ".",
-              "slug": "/extend-cli",
-              "permalink": "/docs/0.66.0/extend-cli",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-cli",
-                "title": "StreamPipes CLI",
-                "sidebar_label": "StreamPipes CLI",
-                "original_id": "extend-cli"
-              }
-            },
-            {
-              "unversionedId": "extend-first-processor",
-              "id": "version-0.66.0/extend-first-processor",
-              "title": "Your first data processor",
-              "description": "In this section, we will explain how to start a pipeline element service and install it using the StreamPipes UI.",
-              "source": "@site/versioned_docs/version-0.66.0/06_extend-first-processor.md",
-              "sourceDirName": ".",
-              "slug": "/extend-first-processor",
-              "permalink": "/docs/0.66.0/extend-first-processor",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-first-processor",
-                "title": "Your first data processor",
-                "sidebar_label": "Your first data processor",
-                "original_id": "extend-first-processor"
-              }
-            },
-            {
-              "unversionedId": "extend-sdk-event-model",
-              "id": "version-0.66.0/extend-sdk-event-model",
-              "title": "SDK Guide: Event Model",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.66.0/06_extend-sdk-event-model.md",
-              "sourceDirName": ".",
-              "slug": "/extend-sdk-event-model",
-              "permalink": "/docs/0.66.0/extend-sdk-event-model",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-sdk-event-model",
-                "title": "SDK Guide: Event Model",
-                "sidebar_label": "SDK: Event Model",
-                "original_id": "extend-sdk-event-model"
-              }
-            },
-            {
-              "unversionedId": "extend-sdk-migration-service-discovery",
-              "id": "version-0.66.0/extend-sdk-migration-service-discovery",
-              "title": "Migration Guide: New Service Discovery in 0.69.0",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.66.0/06_extend-sdk-migration-sd.md",
-              "sourceDirName": ".",
-              "slug": "/extend-sdk-migration-service-discovery",
-              "permalink": "/docs/0.66.0/extend-sdk-migration-service-discovery",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-sdk-migration-service-discovery",
-                "title": "Migration Guide: New Service Discovery in 0.69.0",
-                "sidebar_label": "Migration Guide: 0.69.0",
-                "original_id": "extend-sdk-migration-service-discovery"
-              }
-            },
-            {
-              "unversionedId": "extend-sdk-output-strategies",
-              "id": "version-0.66.0/extend-sdk-output-strategies",
-              "title": "SDK Guide: Output Strategies",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.66.0/06_extend-sdk-output-strategies.md",
-              "sourceDirName": ".",
-              "slug": "/extend-sdk-output-strategies",
-              "permalink": "/docs/0.66.0/extend-sdk-output-strategies",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-sdk-output-strategies",
-                "title": "SDK Guide: Output Strategies",
-                "sidebar_label": "SDK: Output Strategies",
-                "original_id": "extend-sdk-output-strategies"
-              }
-            },
-            {
-              "unversionedId": "extend-sdk-static-properties",
-              "id": "version-0.66.0/extend-sdk-static-properties",
-              "title": "SDK Guide: Static Properties",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.66.0/06_extend-sdk-static-properties.md",
-              "sourceDirName": ".",
-              "slug": "/extend-sdk-static-properties",
-              "permalink": "/docs/0.66.0/extend-sdk-static-properties",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-sdk-static-properties",
-                "title": "SDK Guide: Static Properties",
-                "sidebar_label": "SDK: Static Properties",
-                "original_id": "extend-sdk-static-properties"
-              }
-            },
-            {
-              "unversionedId": "extend-sdk-stream-requirements",
-              "id": "version-0.66.0/extend-sdk-stream-requirements",
-              "title": "SDK Guide: Stream Requirements",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.66.0/06_extend-sdk-stream-requirements.md",
-              "sourceDirName": ".",
-              "slug": "/extend-sdk-stream-requirements",
-              "permalink": "/docs/0.66.0/extend-sdk-stream-requirements",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-sdk-stream-requirements",
-                "title": "SDK Guide: Stream Requirements",
-                "sidebar_label": "SDK: Stream Requirements",
-                "original_id": "extend-sdk-stream-requirements"
-              }
-            },
-            {
-              "unversionedId": "extend-setup",
-              "id": "version-0.66.0/extend-setup",
-              "title": "Development Setup",
-              "description": "Pipeline elements in StreamPipes are provided as standalone microservices. New pipeline elements can be easily developed using the provided Maven archetypes and can be installed in StreamPipes at runtime.",
-              "source": "@site/versioned_docs/version-0.66.0/06_extend-setup.md",
-              "sourceDirName": ".",
-              "slug": "/extend-setup",
-              "permalink": "/docs/0.66.0/extend-setup",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-setup",
-                "title": "Development Setup",
-                "sidebar_label": "Development Setup",
-                "original_id": "extend-setup"
-              }
-            },
-            {
-              "unversionedId": "extend-tutorial-data-processors",
-              "id": "version-0.66.0/extend-tutorial-data-processors",
-              "title": "Tutorial: Data Processors",
-              "description": "In this tutorial, we will add a new data processor using the Apache Flink wrapper.",
-              "source": "@site/versioned_docs/version-0.66.0/06_extend-tutorial-data-processors.md",
-              "sourceDirName": ".",
-              "slug": "/extend-tutorial-data-processors",
-              "permalink": "/docs/0.66.0/extend-tutorial-data-processors",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-tutorial-data-processors",
-                "title": "Tutorial: Data Processors",
-                "sidebar_label": "Tutorial: Data Processors",
-                "original_id": "extend-tutorial-data-processors"
-              }
-            },
-            {
-              "unversionedId": "extend-tutorial-data-sinks",
-              "id": "version-0.66.0/extend-tutorial-data-sinks",
-              "title": "Tutorial: Data Sinks",
-              "description": "In this tutorial, we will add a new data sink using the standalone wrapper.",
-              "source": "@site/versioned_docs/version-0.66.0/06_extend-tutorial-data-sinks.md",
-              "sourceDirName": ".",
-              "slug": "/extend-tutorial-data-sinks",
-              "permalink": "/docs/0.66.0/extend-tutorial-data-sinks",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-tutorial-data-sinks",
-                "title": "Tutorial: Data Sinks",
-                "sidebar_label": "Tutorial: Data Sinks",
-                "original_id": "extend-tutorial-data-sinks"
-              }
-            },
-            {
-              "unversionedId": "extend-tutorial-data-sources",
-              "id": "version-0.66.0/extend-tutorial-data-sources",
-              "title": "Tutorial: Data Sources",
-              "description": "In this tutorial, we will add a new data source consisting of a single data stream. The source will be provided as a standalone component (i.e., the description will be accessible through an integrated web server).",
-              "source": "@site/versioned_docs/version-0.66.0/06_extend-tutorial-data-sources.md",
-              "sourceDirName": ".",
-              "slug": "/extend-tutorial-data-sources",
-              "permalink": "/docs/0.66.0/extend-tutorial-data-sources",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-tutorial-data-sources",
-                "title": "Tutorial: Data Sources",
-                "sidebar_label": "Tutorial: Data Sources",
-                "original_id": "extend-tutorial-data-sources"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.coindesk",
-              "id": "version-0.66.0/pe/org.apache.streampipes.connect.adapters.coindesk",
-              "title": "Coindesk Bitcoin Price",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.coindesk.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.coindesk",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.coindesk",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.coindesk",
-                "title": "Coindesk Bitcoin Price",
-                "sidebar_label": "Coindesk Bitcoin Price",
-                "original_id": "org.apache.streampipes.connect.adapters.coindesk"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.gdelt",
-              "id": "version-0.66.0/pe/org.apache.streampipes.connect.adapters.gdelt",
-              "title": "GDELT",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.gdelt.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.gdelt",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.gdelt",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.gdelt",
-                "title": "GDELT",
-                "sidebar_label": "GDELT",
-                "original_id": "org.apache.streampipes.connect.adapters.gdelt"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.iex.news",
-              "id": "version-0.66.0/pe/org.apache.streampipes.connect.adapters.iex.news",
-              "title": "IEX Cloud News",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.iex.news.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.iex.news",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.iex.news",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.iex.news",
-                "title": "IEX Cloud News",
-                "sidebar_label": "IEX Cloud News",
-                "original_id": "org.apache.streampipes.connect.adapters.iex.news"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.iex.stocks",
-              "id": "version-0.66.0/pe/org.apache.streampipes.connect.adapters.iex.stocks",
-              "title": "IEX Cloud Stock Quotes",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.iex.stocks.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.iex.stocks",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.iex.stocks",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.iex.stocks",
-                "title": "IEX Cloud Stock Quotes",
-                "sidebar_label": "IEX Cloud Stock Quotes",
-                "original_id": "org.apache.streampipes.connect.adapters.iex.stocks"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.image.set",
-              "id": "version-0.66.0/pe/org.apache.streampipes.connect.adapters.image.set",
-              "title": "Image Upload (Set)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.image.set.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.image.set",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.image.set",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.image.set",
-                "title": "Image Upload (Set)",
-                "sidebar_label": "Image Upload (Set)",
-                "original_id": "org.apache.streampipes.connect.adapters.image.set"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.image.stream",
-              "id": "version-0.66.0/pe/org.apache.streampipes.connect.adapters.image.stream",
-              "title": "Image Upload (Stream)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.image.stream.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.image.stream",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.image.stream",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.image.stream",
-                "title": "Image Upload (Stream)",
-                "sidebar_label": "Image Upload (Stream)",
-                "original_id": "org.apache.streampipes.connect.adapters.image.stream"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.influxdb.set",
-              "id": "version-0.66.0/pe/org.apache.streampipes.connect.adapters.influxdb.set",
-              "title": "InfluxDB Set Adapter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.influxdb.set.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.influxdb.set",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.influxdb.set",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.influxdb.set",
-                "title": "InfluxDB Set Adapter",
-                "sidebar_label": "InfluxDB Set Adapter",
-                "original_id": "org.apache.streampipes.connect.adapters.influxdb.set"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.influxdb.stream",
-              "id": "version-0.66.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream",
-              "title": "InfluxDB Stream Adapter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.influxdb.stream",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.influxdb.stream",
-                "title": "InfluxDB Stream Adapter",
-                "sidebar_label": "InfluxDB Stream Adapter",
-                "original_id": "org.apache.streampipes.connect.adapters.influxdb.stream"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.iss",
-              "id": "version-0.66.0/pe/org.apache.streampipes.connect.adapters.iss",
-              "title": "ISS Location",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.iss.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.iss",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.iss",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.iss",
-                "title": "ISS Location",
-                "sidebar_label": "ISS Location",
-                "original_id": "org.apache.streampipes.connect.adapters.iss"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.mysql.set",
-              "id": "version-0.66.0/pe/org.apache.streampipes.connect.adapters.mysql.set",
-              "title": "MySQL Set Adapter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.mysql.set.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.mysql.set",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.mysql.set",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.mysql.set",
-                "title": "MySQL Set Adapter",
-                "sidebar_label": "MySQL Set Adapter",
-                "original_id": "org.apache.streampipes.connect.adapters.mysql.set"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.mysql.stream",
-              "id": "version-0.66.0/pe/org.apache.streampipes.connect.adapters.mysql.stream",
-              "title": "MySql Stream Adapter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.mysql.stream.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.mysql.stream",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.mysql.stream",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.mysql.stream",
-                "title": "MySql Stream Adapter",
-                "sidebar_label": "MySql Stream Adapter",
-                "original_id": "org.apache.streampipes.connect.adapters.mysql.stream"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.netio.mqtt",
-              "id": "version-0.66.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt",
-              "title": "NETIO MQTT M2M",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.netio.mqtt",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.netio.mqtt",
-                "title": "NETIO MQTT M2M",
-                "sidebar_label": "NETIO MQTT M2M",
-                "original_id": "org.apache.streampipes.connect.adapters.netio.mqtt"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.netio.rest",
-              "id": "version-0.66.0/pe/org.apache.streampipes.connect.adapters.netio.rest",
-              "title": "NETIO http JSON",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.netio.rest.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.netio.rest",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.netio.rest",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.netio.rest",
-                "title": "NETIO http JSON",
-                "sidebar_label": "NETIO http JSON",
-                "original_id": "org.apache.streampipes.connect.adapters.netio.rest"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
-              "id": "version-0.66.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
-              "title": "NSW Traffic Cameras",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
-                "title": "NSW Traffic Cameras",
-                "sidebar_label": "NSW Traffic Cameras",
-                "original_id": "org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.opcua",
-              "id": "version-0.66.0/pe/org.apache.streampipes.connect.adapters.opcua",
-              "title": "OPC UA",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.opcua.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.opcua",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.opcua",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.opcua",
-                "title": "OPC UA",
-                "sidebar_label": "OPC UA",
-                "original_id": "org.apache.streampipes.connect.adapters.opcua"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.plc4x.s7",
-              "id": "version-0.66.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7",
-              "title": "PLC4X S7",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.plc4x.s7",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.plc4x.s7",
-                "title": "PLC4X S7",
-                "sidebar_label": "PLC4X S7",
-                "original_id": "org.apache.streampipes.connect.adapters.plc4x.s7"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.ros",
-              "id": "version-0.66.0/pe/org.apache.streampipes.connect.adapters.ros",
-              "title": "ROS Bridge",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.ros.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.ros",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.ros",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.ros",
-                "title": "ROS Bridge",
-                "sidebar_label": "ROS Bridge",
-                "original_id": "org.apache.streampipes.connect.adapters.ros"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
-              "id": "version-0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
-              "title": "Random Data Simulator (Set)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.simulator.randomdataset",
-                "title": "Random Data Simulator (Set)",
-                "sidebar_label": "Random Data Simulator (Set)",
-                "original_id": "org.apache.streampipes.connect.adapters.simulator.randomdataset"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
-              "id": "version-0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
-              "title": "Random Data Simulator (Stream)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.simulator.randomdatastream",
-                "title": "Random Data Simulator (Stream)",
-                "sidebar_label": "Random Data Simulator (Stream)",
-                "original_id": "org.apache.streampipes.connect.adapters.simulator.randomdatastream"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.slack",
-              "id": "version-0.66.0/pe/org.apache.streampipes.connect.adapters.slack",
-              "title": "Slack",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.slack.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.slack",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.slack",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.slack",
-                "title": "Slack",
-                "sidebar_label": "Slack",
-                "original_id": "org.apache.streampipes.connect.adapters.slack"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.ti",
-              "id": "version-0.66.0/pe/org.apache.streampipes.connect.adapters.ti",
-              "title": "TI Sensor Tag",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.ti.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.ti",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.ti",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.ti",
-                "title": "TI Sensor Tag",
-                "sidebar_label": "TI Sensor Tag",
-                "original_id": "org.apache.streampipes.connect.adapters.ti"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
-              "id": "version-0.66.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
-              "title": "Wikipedia Edits",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.wikipedia.edit",
-                "title": "Wikipedia Edits",
-                "sidebar_label": "Wikipedia Edits",
-                "original_id": "org.apache.streampipes.connect.adapters.wikipedia.edit"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.wikipedia.new",
-              "id": "version-0.66.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new",
-              "title": "Wikipedia New Articles",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.wikipedia.new",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.wikipedia.new",
-                "title": "Wikipedia New Articles",
-                "sidebar_label": "Wikipedia New Articles",
-                "original_id": "org.apache.streampipes.connect.adapters.wikipedia.new"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.file",
-              "id": "version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.file",
-              "title": "File Stream",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.file.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.protocol.stream.file",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.connect.protocol.stream.file",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.protocol.stream.file",
-                "title": "File Stream",
-                "sidebar_label": "File Stream",
-                "original_id": "org.apache.streampipes.connect.protocol.stream.file"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.http",
-              "id": "version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.http",
-              "title": "HTTP Stream",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.http.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.protocol.stream.http",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.connect.protocol.stream.http",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.protocol.stream.http",
-                "title": "HTTP Stream",
-                "sidebar_label": "HTTP Stream",
-                "original_id": "org.apache.streampipes.connect.protocol.stream.http"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.kafka",
-              "id": "version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.kafka",
-              "title": "Apache Kafka",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.kafka.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.protocol.stream.kafka",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.connect.protocol.stream.kafka",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.protocol.stream.kafka",
-                "title": "Apache Kafka",
-                "sidebar_label": "Apache Kafka",
-                "original_id": "org.apache.streampipes.connect.protocol.stream.kafka"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.mqtt",
-              "id": "version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt",
-              "title": "MQTT",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.protocol.stream.mqtt",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.protocol.stream.mqtt",
-                "title": "MQTT",
-                "sidebar_label": "MQTT",
-                "original_id": "org.apache.streampipes.connect.protocol.stream.mqtt"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.pulsar",
-              "id": "version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar",
-              "title": "Apache Pulsar",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.protocol.stream.pulsar",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.protocol.stream.pulsar",
-                "title": "Apache Pulsar",
-                "sidebar_label": "Apache Pulsar",
-                "original_id": "org.apache.streampipes.connect.protocol.stream.pulsar"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.geo.flink",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processor.geo.flink",
-              "title": "Spatial Grid Enrichment",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.geo.flink.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.geo.flink",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processor.geo.flink",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.flink",
-                "title": "Spatial Grid Enrichment",
-                "sidebar_label": "Spatial Grid Enrichment",
-                "original_id": "org.apache.streampipes.processor.geo.flink"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "title": "Google Maps Geocoder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.jvm.geocoding",
-                "title": "Google Maps Geocoder",
-                "sidebar_label": "Google Maps Geocoder",
-                "original_id": "org.apache.streampipes.processor.geo.jvm.geocoding"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "title": "Reverse Geocoder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-                "title": "Reverse Geocoder",
-                "sidebar_label": "Reverse Geocoder",
-                "original_id": "org.apache.streampipes.processor.geo.jvm.reversegeocoding"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "title": "Static Google Maps Geocoder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-                "title": "Static Google Maps Geocoder",
-                "sidebar_label": "Static Google Maps Geocoder",
-                "original_id": "org.apache.streampipes.processor.geo.jvm.staticgeocoding"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "title": "Generic Image Classification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-                "title": "Generic Image Classification",
-                "sidebar_label": "Generic Image Classification",
-                "original_id": "org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
-              "title": "Image Cropper",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
-                "title": "Image Cropper",
-                "sidebar_label": "Image Cropper",
-                "original_id": "org.apache.streampipes.processor.imageclassification.jvm.image-cropper"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "title": "Image Enricher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-                "title": "Image Enricher",
-                "sidebar_label": "Image Enricher",
-                "original_id": "org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.imageclassification.qrcode",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.qrcode",
-              "title": "QR Code Reader",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.qrcode.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.imageclassification.qrcode",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processor.imageclassification.qrcode",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.imageclassification.qrcode",
-                "title": "QR Code Reader",
-                "sidebar_label": "QR Code Reader",
-                "original_id": "org.apache.streampipes.processor.imageclassification.qrcode"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "title": "Aggregation",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.aggregation",
-                "title": "Aggregation",
-                "sidebar_label": "Aggregation",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.aggregation"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.aggregation.flink.count",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.count",
-              "title": "Count Aggregation",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.count.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.aggregation.flink.count",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.count",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.count",
-                "title": "Count Aggregation",
-                "sidebar_label": "Count Aggregation",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.count"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "title": "Event Counter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.eventcount",
-                "title": "Event Counter",
-                "sidebar_label": "Event Counter",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.eventcount"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.aggregation.flink.rate",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.rate",
-              "title": "Event Rate",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.rate.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.aggregation.flink.rate",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.rate",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.rate",
-                "title": "Event Rate",
-                "sidebar_label": "Event Rate",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.rate"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "title": "Math",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-                "title": "Math",
-                "sidebar_label": "Math",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.math.mathop"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "title": "Static Math",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-                "title": "Static Math",
-                "sidebar_label": "Static Math",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "title": "Trigonometry Functions",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-                "title": "Trigonometry Functions",
-                "sidebar_label": "Trigonometry Functions",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.trigonometry"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "title": "URL Dereferencing",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-                "title": "URL Dereferencing",
-                "sidebar_label": "URL Dereferencing",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.urldereferencing"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "title": "Timestamp Enricher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.timestamp",
-                "title": "Timestamp Enricher",
-                "sidebar_label": "Timestamp Enricher",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.timestamp"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "title": "Size Measure",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-                "title": "Size Measure",
-                "sidebar_label": "Size Measure",
-                "original_id": "org.apache.streampipes.processors.enricher.jvm.sizemeasure"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.compose",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.compose",
-              "title": "Compose",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.compose.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.compose",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.compose",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.compose",
-                "title": "Compose",
-                "sidebar_label": "Compose",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.compose"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.enrich",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.enrich",
-              "title": "Merge By Enrich",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.enrich.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.enrich",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.enrich",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.enrich",
-                "title": "Merge By Enrich",
-                "sidebar_label": "Merge By Enrich",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.enrich"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.merge",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.merge",
-              "title": "Merge By Time",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.merge.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.merge",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.merge",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.merge",
-                "title": "Merge By Time",
-                "sidebar_label": "Merge By Time",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.merge"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "title": "Numerical Filter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.numericalfilter",
-                "title": "Numerical Filter",
-                "sidebar_label": "Numerical Filter",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.numericalfilter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "title": "Numerical Text Filter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-                "title": "Numerical Text Filter",
-                "sidebar_label": "Numerical Text Filter",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.numericaltextfilter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.project",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.project",
-              "title": "Projection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.project.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.project",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.project",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.project",
-                "title": "Projection",
-                "sidebar_label": "Projection",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.project"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "title": "Text Filter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.textfilter",
-                "title": "Text Filter",
-                "sidebar_label": "Text Filter",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.textfilter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.threshold",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.threshold",
-              "title": "Threshold Detector",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.threshold.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.threshold",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.threshold",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.threshold",
-                "title": "Threshold Detector",
-                "sidebar_label": "Threshold Detector",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.threshold"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
-              "title": "Creates JTS Point",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
-                "title": "Creates JTS Point",
-                "sidebar_label": "Creates JTS Point",
-                "original_id": "org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
-              "title": "EPSG Code",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
-                "title": "EPSG Code",
-                "sidebar_label": "EPSG Code",
-                "original_id": "org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
-              "title": "Single Trajectory Creator",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
-                "title": "Single Trajectory Creator",
-                "sidebar_label": "Single Trajectory Creator",
-                "original_id": "org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "title": "Distance Calculator",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-                "title": "Distance Calculator",
-                "sidebar_label": "Distance Calculator",
-                "original_id": "org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
-              "title": "Speed Calculator",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.geo.jvm.processor.speed",
-                "title": "Speed Calculator",
-                "sidebar_label": "Speed Calculator",
-                "original_id": "org.apache.streampipes.processors.geo.jvm.processor.speed"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-              "title": "Static Distance Calculator",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-                "title": "Static Distance Calculator",
-                "sidebar_label": "Static Distance Calculator",
-                "original_id": "org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
-              "title": "Absence",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.pattern-detection.flink.absence",
-                "title": "Absence",
-                "sidebar_label": "Absence",
-                "original_id": "org.apache.streampipes.processors.pattern-detection.flink.absence"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.pattern-detection.flink.and",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and",
-              "title": "And",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.pattern-detection.flink.and",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.pattern-detection.flink.and",
-                "title": "And",
-                "sidebar_label": "And",
-                "original_id": "org.apache.streampipes.processors.pattern-detection.flink.and"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "title": "Peak Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-                "title": "Peak Detection",
-                "sidebar_label": "Peak Detection",
-                "original_id": "org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
-              "title": "Sequence",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.pattern-detection.flink.sequence",
-                "title": "Sequence",
-                "sidebar_label": "Sequence",
-                "original_id": "org.apache.streampipes.processors.pattern-detection.flink.sequence"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.frequency",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.siddhi.frequency",
-              "title": "Frequency Calculation",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.frequency.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.frequency",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.siddhi.frequency",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.frequency",
-                "title": "Frequency Calculation",
-                "sidebar_label": "Frequency Calculation",
-                "original_id": "org.apache.streampipes.processors.siddhi.frequency"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.frequencychange",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.siddhi.frequencychange",
-              "title": "Frequency Change",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.frequencychange.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.frequencychange",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.siddhi.frequencychange",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.frequencychange",
-                "title": "Frequency Change",
-                "sidebar_label": "Frequency Change",
-                "original_id": "org.apache.streampipes.processors.siddhi.frequencychange"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.increase",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.siddhi.increase",
-              "title": "Trend",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.increase.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.increase",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.siddhi.increase",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.increase",
-                "title": "Trend",
-                "sidebar_label": "Trend",
-                "original_id": "org.apache.streampipes.processors.siddhi.increase"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "title": "Numerical Filter (Siddhi)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.numericalfilter",
-                "title": "Numerical Filter (Siddhi)",
-                "sidebar_label": "Numerical Filter (Siddhi)",
-                "original_id": "org.apache.streampipes.processors.siddhi.numericalfilter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.sequence",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.siddhi.sequence",
-              "title": "Sequence Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.sequence.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.sequence",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.siddhi.sequence",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.sequence",
-                "title": "Sequence Detection",
-                "sidebar_label": "Sequence Detection",
-                "original_id": "org.apache.streampipes.processors.siddhi.sequence"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.stop",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.siddhi.stop",
-              "title": "Stream Stop Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.stop.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.stop",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.siddhi.stop",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.stop",
-                "title": "Stream Stop Detection",
-                "sidebar_label": "Stream Stop Detection",
-                "original_id": "org.apache.streampipes.processors.siddhi.stop"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
-              "title": "Statistics Summary",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.statistics.flink.statistics-summary",
-                "title": "Statistics Summary",
-                "sidebar_label": "Statistics Summary",
-                "original_id": "org.apache.streampipes.processors.statistics.flink.statistics-summary"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "title": "Language Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.flink.languagedetection",
-                "title": "Language Detection",
-                "sidebar_label": "Language Detection",
-                "original_id": "org.apache.streampipes.processors.textmining.flink.languagedetection"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "title": "Word Count",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.flink.wordcount",
-                "title": "Word Count",
-                "sidebar_label": "Word Count",
-                "original_id": "org.apache.streampipes.processors.textmining.flink.wordcount"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "title": "Chunker (English)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.chunker",
-                "title": "Chunker (English)",
-                "sidebar_label": "Chunker (English)",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.chunker"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "title": "Language Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.languagedetection",
-                "title": "Language Detection",
-                "sidebar_label": "Language Detection",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.languagedetection"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "title": "Name Finder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.namefinder",
-                "title": "Name Finder",
-                "sidebar_label": "Name Finder",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.namefinder"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "title": "Part of Speech (English)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.partofspeech",
-                "title": "Part of Speech (English)",
-                "sidebar_label": "Part of Speech (English)",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.partofspeech"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "title": "Sentence Detection (English)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-                "title": "Sentence Detection (English)",
-                "sidebar_label": "Sentence Detection (English)",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.sentencedetection"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "title": "Tokenizer (English)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.tokenizer",
-                "title": "Tokenizer (English)",
-                "sidebar_label": "Tokenizer (English)",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.tokenizer"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "title": "Field Converter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.field-converter",
-                "title": "Field Converter",
-                "sidebar_label": "Field Converter",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.field-converter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "title": "Field Mapper",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.field-mapper",
-                "title": "Field Mapper",
-                "sidebar_label": "Field Mapper",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.field-mapper"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "title": "Field Renamer",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.field-renamer",
-                "title": "Field Renamer",
-                "sidebar_label": "Field Renamer",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.field-renamer"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "title": "Field Hasher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.fieldhasher",
-                "title": "Field Hasher",
-                "sidebar_label": "Field Hasher",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.fieldhasher"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "title": "Measurement Unit Converter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-                "title": "Measurement Unit Converter",
-                "sidebar_label": "Measurement Unit Converter",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "title": "Boilerplate Removal",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-                "title": "Boilerplate Removal",
-                "sidebar_label": "Boilerplate Removal",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.processor.boilerplate"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "title": "Boolean Counter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-                "title": "Boolean Counter",
-                "sidebar_label": "Boolean Counter",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "title": "Boolean Inverter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-                "title": "Boolean Inverter",
-                "sidebar_label": "Boolean Inverter",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.inverter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "title": "Measure Time Between Two Sensors",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-                "title": "Measure Time Between Two Sensors",
-                "sidebar_label": "Measure Time Between Two Sensors",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "title": "Boolean Timer",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-                "title": "Boolean Timer",
-                "sidebar_label": "Boolean Timer",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timer"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "title": "Value Changed",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.changed-value",
-                "title": "Value Changed",
-                "sidebar_label": "Value Changed",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.changed-value"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "title": "Count Array",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.count-array",
-                "title": "Count Array",
-                "sidebar_label": "Count Array",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.count-array"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "title": "CSV Metadata Enricher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-                "title": "CSV Metadata Enricher",
-                "sidebar_label": "CSV Metadata Enricher",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.csvmetadata"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "title": "Calculate Duration",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.duration-value",
-                "title": "Calculate Duration",
-                "sidebar_label": "Calculate Duration",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.duration-value"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "title": "Timestamp Extractor",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-                "title": "Timestamp Extractor",
-                "sidebar_label": "Timestamp Extractor",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "title": "Split Array",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.split-array",
-                "title": "Split Array",
-                "sidebar_label": "Split Array",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.split-array"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
-              "title": "String Counter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
-                "title": "String Counter",
-                "sidebar_label": "String Counter",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.stringoperator.counter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-              "title": "String Timer",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-                "title": "String Timer",
-                "sidebar_label": "String Timer",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.stringoperator.timer"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "title": "Task Duration",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.taskduration",
-                "title": "Task Duration",
-                "sidebar_label": "Task Duration",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.taskduration"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "id": "version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "title": "Transform to boolean",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-                "title": "Transform to boolean",
-                "sidebar_label": "Transform to boolean",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.transform-to-boolean"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.protocol.set.file",
-              "id": "version-0.66.0/pe/org.apache.streampipes.protocol.set.file",
-              "title": "File Set",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.protocol.set.file.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.protocol.set.file",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.protocol.set.file",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.protocol.set.file",
-                "title": "File Set",
-                "sidebar_label": "File Set",
-                "original_id": "org.apache.streampipes.protocol.set.file"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.protocol.set.http",
-              "id": "version-0.66.0/pe/org.apache.streampipes.protocol.set.http",
-              "title": "HTTP Set",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.protocol.set.http.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.protocol.set.http",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.protocol.set.http",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.protocol.set.http",
-                "title": "HTTP Set",
-                "sidebar_label": "HTTP Set",
-                "original_id": "org.apache.streampipes.protocol.set.http"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "id": "version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "title": "Buffered REST Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-                "title": "Buffered REST Publisher",
-                "sidebar_label": "Buffered REST Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.bufferrest"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "id": "version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "title": "JMS Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.jms",
-                "title": "JMS Publisher",
-                "sidebar_label": "JMS Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.jms"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "id": "version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "title": "Kafka Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.kafka",
-                "title": "Kafka Publisher",
-                "sidebar_label": "Kafka Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.kafka"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
-              "id": "version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
-              "title": "MQTT Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.mqtt",
-                "title": "MQTT Publisher",
-                "sidebar_label": "MQTT Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.mqtt"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "id": "version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "title": "Pulsar Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.pulsar",
-                "title": "Pulsar Publisher",
-                "sidebar_label": "Pulsar Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.pulsar"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "id": "version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "title": "RabbitMQ Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-                "title": "RabbitMQ Publisher",
-                "sidebar_label": "RabbitMQ Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "id": "version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "title": "REST Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.rest",
-                "title": "REST Publisher",
-                "sidebar_label": "REST Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.rest"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.databases.ditto",
-              "id": "version-0.66.0/pe/org.apache.streampipes.sinks.databases.ditto",
-              "title": "Eclipse Ditto",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.ditto.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.databases.ditto",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.ditto",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.ditto",
-                "title": "Eclipse Ditto",
-                "sidebar_label": "Eclipse Ditto",
-                "original_id": "org.apache.streampipes.sinks.databases.ditto"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "id": "version-0.66.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "title": "Elasticsearch",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.flink.elasticsearch",
-                "title": "Elasticsearch",
-                "sidebar_label": "Elasticsearch",
-                "original_id": "org.apache.streampipes.sinks.databases.flink.elasticsearch"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "id": "version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "title": "CouchDB",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.couchdb",
-                "title": "CouchDB",
-                "sidebar_label": "CouchDB",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.couchdb"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "id": "version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "title": "InfluxDB",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.influxdb",
-                "title": "InfluxDB",
-                "sidebar_label": "InfluxDB",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.influxdb"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "id": "version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "title": "IoTDB",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.iotdb",
-                "title": "IoTDB",
-                "sidebar_label": "IoTDB",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.iotdb"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "id": "version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "title": "OPC-UA",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.opcua",
-                "title": "OPC-UA",
-                "sidebar_label": "OPC-UA",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.opcua"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "id": "version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "title": "PostgreSQL",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.postgresql",
-                "title": "PostgreSQL",
-                "sidebar_label": "PostgreSQL",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.postgresql"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "id": "version-0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "title": "Dashboard Sink",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.internal.jvm.dashboard",
-                "title": "Dashboard Sink",
-                "sidebar_label": "Dashboard Sink",
-                "original_id": "org.apache.streampipes.sinks.internal.jvm.dashboard"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "id": "version-0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "title": "Data Lake",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.internal.jvm.datalake",
-                "title": "Data Lake",
-                "sidebar_label": "Data Lake",
-                "original_id": "org.apache.streampipes.sinks.internal.jvm.datalake"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.internal.jvm.notification",
-              "id": "version-0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.notification",
-              "title": "Notification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.notification.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.internal.jvm.notification",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.notification",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.internal.jvm.notification",
-                "title": "Notification",
-                "sidebar_label": "Notification",
-                "original_id": "org.apache.streampipes.sinks.internal.jvm.notification"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.notifications.jvm.email",
-              "id": "version-0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.email",
-              "title": "Email Notification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.email.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.notifications.jvm.email",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.email",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.notifications.jvm.email",
-                "title": "Email Notification",
-                "sidebar_label": "Email Notification",
-                "original_id": "org.apache.streampipes.sinks.notifications.jvm.email"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "id": "version-0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "title": "OneSignal",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.notifications.jvm.onesignal",
-                "title": "OneSignal",
-                "sidebar_label": "OneSignal",
-                "original_id": "org.apache.streampipes.sinks.notifications.jvm.onesignal"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "id": "version-0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "title": "Slack Notification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "permalink": "/docs/0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.notifications.jvm.slack",
-                "title": "Slack Notification",
-                "sidebar_label": "Slack Notification",
-                "original_id": "org.apache.streampipes.sinks.notifications.jvm.slack"
-              }
-            },
-            {
-              "unversionedId": "pe/version-0.68.0-org.apache.streampipes.connect.adapters.flic.mqtt",
-              "id": "version-0.66.0/pe/version-0.68.0-org.apache.streampipes.connect.adapters.flic.mqtt",
-              "title": "Flic MQTT",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/version-0.68.0-org.apache.streampipes.connect.adapters.flic.mqtt",
-              "permalink": "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.connect.adapters.flic.mqtt",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.68.0-org.apache.streampipes.connect.adapters.flic.mqtt",
-                "title": "Flic MQTT",
-                "sidebar_label": "Flic MQTT",
-                "original_id": "org.apache.streampipes.connect.adapters.flic.mqtt"
-              }
-            },
-            {
-              "unversionedId": "pe/version-0.68.0-org.apache.streampipes.connect.adapters.plc4x.modbus",
-              "id": "version-0.66.0/pe/version-0.68.0-org.apache.streampipes.connect.adapters.plc4x.modbus",
-              "title": "PLC4X MODBUS",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/version-0.68.0-org.apache.streampipes.connect.adapters.plc4x.modbus",
-              "permalink": "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.connect.adapters.plc4x.modbus",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.68.0-org.apache.streampipes.connect.adapters.plc4x.modbus",
-                "title": "PLC4X MODBUS",
-                "sidebar_label": "PLC4X MODBUS",
-                "original_id": "org.apache.streampipes.connect.adapters.plc4x.modbus"
-              }
-            },
-            {
-              "unversionedId": "pe/version-0.68.0-org.apache.streampipes.connect.adapters.simulator.machine",
-              "id": "version-0.66.0/pe/version-0.68.0-org.apache.streampipes.connect.adapters.simulator.machine",
-              "title": "Machine Data Simulator",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.machine.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/version-0.68.0-org.apache.streampipes.connect.adapters.simulator.machine",
-              "permalink": "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.connect.adapters.simulator.machine",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.68.0-org.apache.streampipes.connect.adapters.simulator.machine",
-                "title": "Machine Data Simulator",
-                "sidebar_label": "Machine Data Simulator",
-                "original_id": "org.apache.streampipes.connect.adapters.simulator.machine"
-              }
-            },
-            {
-              "unversionedId": "pe/version-0.68.0-org.apache.streampipes.connect.protocol.stream.httpserver",
-              "id": "version-0.66.0/pe/version-0.68.0-org.apache.streampipes.connect.protocol.stream.httpserver",
-              "title": "HTTP Server",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/version-0.68.0-org.apache.streampipes.connect.protocol.stream.httpserver",
-              "permalink": "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.connect.protocol.stream.httpserver",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.68.0-org.apache.streampipes.connect.protocol.stream.httpserver",
-                "title": "HTTP Server",
-                "sidebar_label": "HTTP Server",
-                "original_id": "org.apache.streampipes.connect.protocol.stream.httpserver"
-              }
-            },
-            {
-              "unversionedId": "pe/version-0.68.0-org.apache.streampipes.processors.changedetection.jvm.cusum",
-              "id": "version-0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.changedetection.jvm.cusum",
-              "title": "Cusum",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/version-0.68.0-org.apache.streampipes.processors.changedetection.jvm.cusum",
-              "permalink": "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.changedetection.jvm.cusum",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.68.0-org.apache.streampipes.processors.changedetection.jvm.cusum",
-                "title": "Cusum",
-                "sidebar_label": "Cusum",
-                "original_id": "org.apache.streampipes.processors.changedetection.jvm.cusum"
-              }
-            },
-            {
-              "unversionedId": "pe/version-0.68.0-org.apache.streampipes.processors.filters.jvm.limit",
-              "id": "version-0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.filters.jvm.limit",
-              "title": "Rate Limit",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.limit.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/version-0.68.0-org.apache.streampipes.processors.filters.jvm.limit",
-              "permalink": "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.filters.jvm.limit",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.68.0-org.apache.streampipes.processors.filters.jvm.limit",
-                "title": "Rate Limit",
-                "sidebar_label": "Rate Limit",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.limit"
-              }
-            },
-            {
-              "unversionedId": "pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
-              "id": "version-0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
-              "title": "Signal Edge Filter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
-              "permalink": "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
-                "title": "Signal Edge Filter",
-                "sidebar_label": "Signal Edge Filter",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge"
-              }
-            },
-            {
-              "unversionedId": "pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state",
-              "id": "version-0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state",
-              "title": "Boolean To State",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state",
-              "permalink": "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state",
-                "title": "Boolean To State",
-                "sidebar_label": "Boolean To State",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state"
-              }
-            },
-            {
-              "unversionedId": "pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.buffer",
-              "id": "version-0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.buffer",
-              "title": "State Buffer",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.buffer",
-              "permalink": "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.buffer",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.buffer",
-                "title": "State Buffer",
-                "sidebar_label": "State Buffer",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.state.buffer"
-              }
-            },
-            {
-              "unversionedId": "pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer",
-              "id": "version-0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer",
-              "title": "State Buffer Labeler",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer",
-              "permalink": "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer",
-                "title": "State Buffer Labeler",
-                "sidebar_label": "State Buffer Labeler",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer"
-              }
-            },
-            {
-              "unversionedId": "pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number",
-              "id": "version-0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number",
-              "title": "Number Labeler",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number",
-              "permalink": "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number",
-                "title": "Number Labeler",
-                "sidebar_label": "Number Labeler",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number"
-              }
-            },
-            {
-              "unversionedId": "pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state",
-              "id": "version-0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state",
-              "title": "String To State",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state",
-              "permalink": "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state",
-                "title": "String To State",
-                "sidebar_label": "String To State",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state"
-              }
-            },
-            {
-              "unversionedId": "pe/version-0.68.0-org.apache.streampipes.sinks.brokers.jvm.nats",
-              "id": "version-0.66.0/pe/version-0.68.0-org.apache.streampipes.sinks.brokers.jvm.nats",
-              "title": "NATS Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/version-0.68.0-org.apache.streampipes.sinks.brokers.jvm.nats",
-              "permalink": "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.sinks.brokers.jvm.nats",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.68.0-org.apache.streampipes.sinks.brokers.jvm.nats",
-                "title": "NATS Publisher",
-                "sidebar_label": "NATS Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.nats"
-              }
-            },
-            {
-              "unversionedId": "pe/version-0.68.0-org.apache.streampipes.sinks.databases.jvm.mysql",
-              "id": "version-0.66.0/pe/version-0.68.0-org.apache.streampipes.sinks.databases.jvm.mysql",
-              "title": "MySQL Database",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/version-0.68.0-org.apache.streampipes.sinks.databases.jvm.mysql",
-              "permalink": "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.sinks.databases.jvm.mysql",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.68.0-org.apache.streampipes.sinks.databases.jvm.mysql",
-                "title": "MySQL Database",
-                "sidebar_label": "MySQL Database",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.mysql"
-              }
-            },
-            {
-              "unversionedId": "pe/version-0.68.0-org.apache.streampipes.sinks.notifications.jvm.telegram",
-              "id": "version-0.66.0/pe/version-0.68.0-org.apache.streampipes.sinks.notifications.jvm.telegram",
-              "title": "Telegram Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/version-0.68.0-org.apache.streampipes.sinks.notifications.jvm.telegram",
-              "permalink": "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.sinks.notifications.jvm.telegram",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.68.0-org.apache.streampipes.sinks.notifications.jvm.telegram",
-                "title": "Telegram Publisher",
-                "sidebar_label": "Telegram Publisher",
-                "original_id": "org.apache.streampipes.sinks.notifications.jvm.telegram"
-              }
-            },
-            {
-              "unversionedId": "technicals-architecture",
-              "id": "version-0.66.0/technicals-architecture",
-              "title": "Architecture",
-              "description": "The following picture illustrates the high-level architecture of StreamPipes:",
-              "source": "@site/versioned_docs/version-0.66.0/07_technicals-architecture.md",
-              "sourceDirName": ".",
-              "slug": "/technicals-architecture",
-              "permalink": "/docs/0.66.0/technicals-architecture",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 7,
-              "frontMatter": {
-                "id": "technicals-architecture",
-                "title": "Architecture",
-                "sidebar_label": "Architecture",
-                "original_id": "technicals-architecture"
-              }
-            },
-            {
-              "unversionedId": "technicals-configuration",
-              "id": "version-0.66.0/technicals-configuration",
-              "title": "Configuration",
-              "description": "On this page we explain how the StreamPipes configuration works.",
-              "source": "@site/versioned_docs/version-0.66.0/07_technicals-configuration.md",
-              "sourceDirName": ".",
-              "slug": "/technicals-configuration",
-              "permalink": "/docs/0.66.0/technicals-configuration",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 7,
-              "frontMatter": {
-                "id": "technicals-configuration",
-                "title": "Configuration",
-                "sidebar_label": "Configuration",
-                "original_id": "technicals-configuration"
-              }
-            },
-            {
-              "unversionedId": "technicals-messaging",
-              "id": "version-0.66.0/technicals-messaging",
-              "title": "Messaging",
-              "description": "tbd",
-              "source": "@site/versioned_docs/version-0.66.0/07_technicals-messaging.md",
-              "sourceDirName": ".",
-              "slug": "/technicals-messaging",
-              "permalink": "/docs/0.66.0/technicals-messaging",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 7,
-              "frontMatter": {
-                "id": "technicals-messaging",
-                "title": "Messaging",
-                "sidebar_label": "Messaging",
-                "original_id": "technicals-messaging"
-              }
-            },
-            {
-              "unversionedId": "technicals-runtime-wrappers",
-              "id": "version-0.66.0/technicals-runtime-wrappers",
-              "title": "Runtime Wrappers",
-              "description": "tbd",
-              "source": "@site/versioned_docs/version-0.66.0/07_technicals-runtime-wrappers.md",
-              "sourceDirName": ".",
-              "slug": "/technicals-runtime-wrappers",
-              "permalink": "/docs/0.66.0/technicals-runtime-wrappers",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 7,
-              "frontMatter": {
-                "id": "technicals-runtime-wrappers",
-                "title": "Runtime Wrappers",
-                "sidebar_label": "Runtime Wrappers",
-                "original_id": "technicals-runtime-wrappers"
-              }
-            },
-            {
-              "unversionedId": "technicals-user-guidance",
-              "id": "version-0.66.0/technicals-user-guidance",
-              "title": "User Guidance",
-              "description": "tbd",
-              "source": "@site/versioned_docs/version-0.66.0/07_technicals-user-guidance.md",
-              "sourceDirName": ".",
-              "slug": "/technicals-user-guidance",
-              "permalink": "/docs/0.66.0/technicals-user-guidance",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 7,
-              "frontMatter": {
-                "id": "technicals-user-guidance",
-                "title": "User Guidance",
-                "sidebar_label": "User Guidance",
-                "original_id": "technicals-user-guidance"
-              }
-            },
-            {
-              "unversionedId": "try-installation",
-              "id": "version-0.66.0/try-installation",
-              "title": "Installation",
-              "description": "The easiest way to install StreamPipes is our Docker-based installation. For production-grade deployments, we also",
-              "source": "@site/versioned_docs/version-0.66.0/01_try-installation.md",
-              "sourceDirName": ".",
-              "slug": "/try-installation",
-              "permalink": "/docs/0.66.0/try-installation",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 1,
-              "frontMatter": {
-                "id": "try-installation",
-                "title": "Installation",
-                "sidebar_label": "Installation",
-                "original_id": "try-installation"
-              }
-            },
-            {
-              "unversionedId": "try-tutorial",
-              "id": "version-0.66.0/try-tutorial",
-              "title": "Interactive Tutorial",
-              "description": "Once you've installed StreamPipes and see the home screen, you'll see a number of modules that are part of the StreamPipes toolbox.",
-              "source": "@site/versioned_docs/version-0.66.0/01_try-tutorial.md",
-              "sourceDirName": ".",
-              "slug": "/try-tutorial",
-              "permalink": "/docs/0.66.0/try-tutorial",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 1,
-              "frontMatter": {
-                "id": "try-tutorial",
-                "title": "Interactive Tutorial",
-                "sidebar_label": "Interactive Tutorial",
-                "original_id": "try-tutorial"
-              }
-            },
-            {
-              "unversionedId": "use-configurations",
-              "id": "version-0.66.0/use-configurations",
-              "title": "Configurations",
-              "description": "tbd",
-              "source": "@site/versioned_docs/version-0.66.0/03_use-configurations.md",
-              "sourceDirName": ".",
-              "slug": "/use-configurations",
-              "permalink": "/docs/0.66.0/use-configurations",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 3,
-              "frontMatter": {
-                "id": "use-configurations",
-                "title": "Configurations",
-                "sidebar_label": "Configurations",
-                "original_id": "use-configurations"
-              }
-            },
-            {
-              "unversionedId": "use-connect",
-              "id": "version-0.66.0/use-connect",
-              "title": "StreamPipes Connect",
-              "description": "StreamPipes Connect is the module to connect external data sources with Apache StreamPipes directly from the user interface.",
-              "source": "@site/versioned_docs/version-0.66.0/03_use-connect.md",
-              "sourceDirName": ".",
-              "slug": "/use-connect",
-              "permalink": "/docs/0.66.0/use-connect",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 3,
-              "frontMatter": {
-                "id": "use-connect",
-                "title": "StreamPipes Connect",
-                "sidebar_label": "StreamPipes Connect",
-                "original_id": "use-connect"
-              }
-            },
-            {
-              "unversionedId": "use-dashboard",
-              "id": "version-0.66.0/use-dashboard",
-              "title": "Live Dashboard",
-              "description": "The live dashboard can be used to visualize live data of data streams using a set of visualizations",
-              "source": "@site/versioned_docs/version-0.66.0/03_use-dashboard.md",
-              "sourceDirName": ".",
-              "slug": "/use-dashboard",
-              "permalink": "/docs/0.66.0/use-dashboard",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 3,
-              "frontMatter": {
-                "id": "use-dashboard",
-                "title": "Live Dashboard",
-                "sidebar_label": "Live Dashboard",
-                "original_id": "use-dashboard"
-              }
-            },
-            {
-              "unversionedId": "use-data-explorer",
-              "id": "version-0.66.0/use-data-explorer",
-              "title": "Data Explorer",
-              "description": "The data explorer can be used to visualize and explore data streams that are persisted by using the Data Lake sink.",
-              "source": "@site/versioned_docs/version-0.66.0/03_use-data-explorer.md",
-              "sourceDirName": ".",
-              "slug": "/use-data-explorer",
-              "permalink": "/docs/0.66.0/use-data-explorer",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 3,
-              "frontMatter": {
-                "id": "use-data-explorer",
-                "title": "Data Explorer",
-                "sidebar_label": "Data Explorer",
-                "original_id": "use-data-explorer"
-              }
-            },
-            {
-              "unversionedId": "use-install-pipeline-elements",
-              "id": "version-0.66.0/use-install-pipeline-elements",
-              "title": "Install Pipeline Elements",
-              "description": "Install Pipeline Elements",
-              "source": "@site/versioned_docs/version-0.66.0/03_use-install-pipeline-elements.md",
-              "sourceDirName": ".",
-              "slug": "/use-install-pipeline-elements",
-              "permalink": "/docs/0.66.0/use-install-pipeline-elements",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 3,
-              "frontMatter": {
-                "id": "use-install-pipeline-elements",
-                "title": "Install Pipeline Elements",
-                "sidebar_label": "Install Pipeline Elements",
-                "original_id": "use-install-pipeline-elements"
-              }
-            },
-            {
-              "unversionedId": "use-managing-pipelines",
-              "id": "version-0.66.0/use-managing-pipelines",
-              "title": "Managing Pipelines",
-              "description": "The pipeline view lists all created pipelines and provides several views and actions to manage the lifecycle of pipelines.",
-              "source": "@site/versioned_docs/version-0.66.0/03_use-managing-pipelines.md",
-              "sourceDirName": ".",
-              "slug": "/use-managing-pipelines",
-              "permalink": "/docs/0.66.0/use-managing-pipelines",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 3,
-              "frontMatter": {
-                "id": "use-managing-pipelines",
-                "title": "Managing Pipelines",
-                "sidebar_label": "Managing Pipelines",
-                "original_id": "use-managing-pipelines"
-              }
-            },
-            {
-              "unversionedId": "use-notifications",
-              "id": "version-0.66.0/use-notifications",
-              "title": "Notifications",
-              "description": "The notification module can be used to create internal notifications.",
-              "source": "@site/versioned_docs/version-0.66.0/03_use-notifications.md",
-              "sourceDirName": ".",
-              "slug": "/use-notifications",
-              "permalink": "/docs/0.66.0/use-notifications",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 3,
-              "frontMatter": {
-                "id": "use-notifications",
-                "title": "Notifications",
-                "sidebar_label": "Notifications",
-                "original_id": "use-notifications"
-              }
-            },
-            {
-              "unversionedId": "use-pipeline-editor",
-              "id": "version-0.66.0/use-pipeline-editor",
-              "title": "Pipeline Editor",
-              "description": "The pipeline editor module supports building pipelines that transform a data stream using a set of resuable data processors and data sinks.",
-              "source": "@site/versioned_docs/version-0.66.0/03_use-pipeline-editor.md",
-              "sourceDirName": ".",
-              "slug": "/use-pipeline-editor",
-              "permalink": "/docs/0.66.0/use-pipeline-editor",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 3,
-              "frontMatter": {
-                "id": "use-pipeline-editor",
-                "title": "Pipeline Editor",
-                "sidebar_label": "Pipeline Editor",
-                "original_id": "use-pipeline-editor"
-              }
-            },
-            {
-              "unversionedId": "user-guide-first-steps",
-              "id": "version-0.66.0/user-guide-first-steps",
-              "title": "First steps",
-              "description": "In this section, you'll learn how to create and run pipelines in StreamPipes.",
-              "source": "@site/versioned_docs/version-0.66.0/user-guide-first-steps.md",
-              "sourceDirName": ".",
-              "slug": "/user-guide-first-steps",
-              "permalink": "/docs/0.66.0/user-guide-first-steps",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "user-guide-first-steps",
-                "title": "First steps",
-                "sidebar_label": "First steps",
-                "original_id": "user-guide-first-steps"
-              }
-            },
-            {
-              "unversionedId": "user-guide-installation",
-              "id": "version-0.66.0/user-guide-installation",
-              "title": "Installation",
-              "description": "Prerequisites",
-              "source": "@site/versioned_docs/version-0.66.0/user-guide-installation.md",
-              "sourceDirName": ".",
-              "slug": "/user-guide-installation",
-              "permalink": "/docs/0.66.0/user-guide-installation",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "user-guide-installation",
-                "title": "Installation",
-                "sidebar_label": "Installation",
-                "original_id": "user-guide-installation"
-              }
-            },
-            {
-              "unversionedId": "user-guide-introduction",
-              "id": "version-0.66.0/user-guide-introduction",
-              "title": "Apache StreamPipes Documentation",
-              "description": "This is the documentation of Apache StreamPipes.",
-              "source": "@site/versioned_docs/version-0.66.0/01_try-overview.md",
-              "sourceDirName": ".",
-              "slug": "/user-guide-introduction",
-              "permalink": "/docs/0.66.0/user-guide-introduction",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 1,
-              "frontMatter": {
-                "id": "user-guide-introduction",
-                "title": "Apache StreamPipes Documentation",
-                "sidebar_label": "Overview",
-                "original_id": "user-guide-introduction"
-              }
-            },
-            {
-              "unversionedId": "user-guide-introduction-old",
-              "id": "version-0.66.0/user-guide-introduction-old",
-              "title": "Introduction",
-              "description": "StreamPipes is a framework that enables users to work with data streams.",
-              "source": "@site/versioned_docs/version-0.66.0/user-guide-introduction.md",
-              "sourceDirName": ".",
-              "slug": "/user-guide-introduction-old",
-              "permalink": "/docs/0.66.0/user-guide-introduction-old",
-              "draft": false,
-              "tags": [],
-              "version": "0.66.0",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "user-guide-introduction-old",
-                "title": "Introduction",
-                "sidebar_label": "Introduction",
-                "original_id": "user-guide-introduction-old"
-              }
-            }
-          ],
-          "drafts": [],
-          "sidebars": {}
-        },
-        {
-          "versionName": "0.65.0-pre-asf",
-          "label": "0.65.0-pre-asf",
-          "banner": "unmaintained",
-          "badge": true,
-          "noIndex": false,
-          "className": "docs-version-0.65.0-pre-asf",
-          "path": "/docs/0.65.0-pre-asf",
-          "tagsPath": "/docs/0.65.0-pre-asf/tags",
-          "isLast": false,
-          "sidebarFilePath": "C:\\git\\apache\\incubator-streampipes-website\\website-v2\\versioned_sidebars\\version-0.65.0-pre-asf-sidebars.json",
-          "contentPath": "C:\\git\\apache\\incubator-streampipes-website\\website-v2\\versioned_docs\\version-0.65.0-pre-asf",
-          "contentPathLocalized": "C:\\git\\apache\\incubator-streampipes-website\\website-v2\\i18n\\en\\docusaurus-plugin-content-docs\\version-0.65.0-pre-asf",
-          "docs": [
-            {
-              "unversionedId": "community-get-help",
-              "id": "version-0.65.0-pre-asf/community-get-help",
-              "title": "Get Help",
-              "description": "The Apache StreamPipes community is happy to help with any questions or problems you might have.",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/09_get-help.md",
-              "sourceDirName": ".",
-              "slug": "/community-get-help",
-              "permalink": "/docs/0.65.0-pre-asf/community-get-help",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 9,
-              "frontMatter": {
-                "id": "community-get-help",
-                "title": "Get Help",
-                "sidebar_label": "Get Help",
-                "original_id": "community-get-help"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-archetype",
-              "id": "version-0.65.0-pre-asf/dev-guide-archetype",
-              "title": "Start Developing",
-              "description": "In this tutorial we explain how you can use the Maven archetypes to develop your own StreamPipes processors and sinks.",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-archetype.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-archetype",
-              "permalink": "/docs/0.65.0-pre-asf/dev-guide-archetype",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-archetype",
-                "title": "Start Developing",
-                "sidebar_label": "Start Developing",
-                "original_id": "dev-guide-archetype"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-configuration",
-              "id": "version-0.65.0-pre-asf/dev-guide-configuration",
-              "title": "Configuration",
-              "description": "On this page we explain how the StreamPipes configuration works.",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-configuration.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-configuration",
-              "permalink": "/docs/0.65.0-pre-asf/dev-guide-configuration",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-configuration",
-                "title": "Configuration",
-                "sidebar_label": "Configuration",
-                "original_id": "dev-guide-configuration"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-development-environment",
-              "id": "version-0.65.0-pre-asf/dev-guide-development-environment",
-              "title": "Development Environment",
-              "description": "In this section, we describe our recommended minimum setup for locally setting up a development instance of StreamPipes needed to develop, run and test new pipeline elements.",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-environment.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-development-environment",
-              "permalink": "/docs/0.65.0-pre-asf/dev-guide-development-environment",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-development-environment",
-                "title": "Development Environment",
-                "sidebar_label": "Development Environment",
-                "original_id": "dev-guide-development-environment"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-output-strategies",
-              "id": "version-0.65.0-pre-asf/dev-guide-output-strategies",
-              "title": "SDK Guide: Output Strategies",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-output-strategies.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-output-strategies",
-              "permalink": "/docs/0.65.0-pre-asf/dev-guide-output-strategies",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-output-strategies",
-                "title": "SDK Guide: Output Strategies",
-                "sidebar_label": "Output Strategies",
-                "original_id": "dev-guide-output-strategies"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-static-properties",
-              "id": "version-0.65.0-pre-asf/dev-guide-static-properties",
-              "title": "SDK Guide: Static Properties",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-static-properties.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-static-properties",
-              "permalink": "/docs/0.65.0-pre-asf/dev-guide-static-properties",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-static-properties",
-                "title": "SDK Guide: Static Properties",
-                "sidebar_label": "Static Properties",
-                "original_id": "dev-guide-static-properties"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-stream-requirements",
-              "id": "version-0.65.0-pre-asf/dev-guide-stream-requirements",
-              "title": "SDK Guide: Stream Requirements",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-stream-requirements.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-stream-requirements",
-              "permalink": "/docs/0.65.0-pre-asf/dev-guide-stream-requirements",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-stream-requirements",
-                "title": "SDK Guide: Stream Requirements",
-                "sidebar_label": "Stream Requirements",
-                "original_id": "dev-guide-stream-requirements"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-tutorial-processors",
-              "id": "version-0.65.0-pre-asf/dev-guide-tutorial-processors",
-              "title": "Tutorial: Data Processors",
-              "description": "In this tutorial, we will add a new data processor using the Apache Flink wrapper.",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-tutorial-processors.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-tutorial-processors",
-              "permalink": "/docs/0.65.0-pre-asf/dev-guide-tutorial-processors",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-tutorial-processors",
-                "title": "Tutorial: Data Processors",
-                "sidebar_label": "Tutorial: Data Processors",
-                "original_id": "dev-guide-tutorial-processors"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-tutorial-sinks",
-              "id": "version-0.65.0-pre-asf/dev-guide-tutorial-sinks",
-              "title": "Tutorial: Data Sinks",
-              "description": "In this tutorial, we will add a new data sink using the standalone wrapper.",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-tutorial-sinks.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-tutorial-sinks",
-              "permalink": "/docs/0.65.0-pre-asf/dev-guide-tutorial-sinks",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-tutorial-sinks",
-                "title": "Tutorial: Data Sinks",
-                "sidebar_label": "Tutorial: Data Sinks",
-                "original_id": "dev-guide-tutorial-sinks"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-tutorial-sources",
-              "id": "version-0.65.0-pre-asf/dev-guide-tutorial-sources",
-              "title": "Tutorial: Data Sources",
-              "description": "In this tutorial, we will add a new data source consisting of a single data stream. The source will be provided as a standalone component (i.e., the description will be accessible through an integrated web server).",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-tutorial-sources.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-tutorial-sources",
-              "permalink": "/docs/0.65.0-pre-asf/dev-guide-tutorial-sources",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-tutorial-sources",
-                "title": "Tutorial: Data Sources",
-                "sidebar_label": "Tutorial: Data Sources",
-                "original_id": "dev-guide-tutorial-sources"
-              }
-            },
-            {
-              "unversionedId": "extend-sdk-event-model",
-              "id": "version-0.65.0-pre-asf/extend-sdk-event-model",
-              "title": "SDK Guide: Event Model",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/06_extend-sdk-event-model.md",
-              "sourceDirName": ".",
-              "slug": "/extend-sdk-event-model",
-              "permalink": "/docs/0.65.0-pre-asf/extend-sdk-event-model",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-sdk-event-model",
-                "title": "SDK Guide: Event Model",
-                "sidebar_label": "SDK: Event Model",
-                "original_id": "extend-sdk-event-model"
-              }
-            },
-            {
-              "unversionedId": "extend-sdk-stream-requirements",
-              "id": "version-0.65.0-pre-asf/extend-sdk-stream-requirements",
-              "title": "SDK Guide: Stream Requirements",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/06_extend-sdk-stream-requirements.md",
-              "sourceDirName": ".",
-              "slug": "/extend-sdk-stream-requirements",
-              "permalink": "/docs/0.65.0-pre-asf/extend-sdk-stream-requirements",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-sdk-stream-requirements",
-                "title": "SDK Guide: Stream Requirements",
-                "sidebar_label": "SDK: Stream Requirements",
-                "original_id": "extend-sdk-stream-requirements"
-              }
-            },
-            {
-              "unversionedId": "extend-setup",
-              "id": "version-0.65.0-pre-asf/extend-setup",
-              "title": "Development Setup",
-              "description": "Pipeline elements in StreamPipes are provided as standalone microservices. New pipeline elements can be easily developed using the provided Maven archetypes and can be installed in StreamPipes at runtime.",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/06_extend-setup.md",
-              "sourceDirName": ".",
-              "slug": "/extend-setup",
-              "permalink": "/docs/0.65.0-pre-asf/extend-setup",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-setup",
-                "title": "Development Setup",
-                "sidebar_label": "Development Setup",
-                "original_id": "extend-setup"
-              }
-            },
-            {
-              "unversionedId": "extend-tutorial-data-processors",
-              "id": "version-0.65.0-pre-asf/extend-tutorial-data-processors",
-              "title": "Tutorial: Data Processors",
-              "description": "In this tutorial, we will add a new data processor.",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/06_extend-tutorial-data-processors.md",
-              "sourceDirName": ".",
-              "slug": "/extend-tutorial-data-processors",
-              "permalink": "/docs/0.65.0-pre-asf/extend-tutorial-data-processors",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-tutorial-data-processors",
-                "title": "Tutorial: Data Processors",
-                "sidebar_label": "Tutorial: Data Processors",
-                "original_id": "extend-tutorial-data-processors"
-              }
-            },
-            {
-              "unversionedId": "extend-tutorial-data-sinks",
-              "id": "version-0.65.0-pre-asf/extend-tutorial-data-sinks",
-              "title": "Tutorial: Data Sinks",
-              "description": "In this tutorial, we will add a new data sink using the standalone wrapper.",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/06_extend-tutorial-data-sinks.md",
-              "sourceDirName": ".",
-              "slug": "/extend-tutorial-data-sinks",
-              "permalink": "/docs/0.65.0-pre-asf/extend-tutorial-data-sinks",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-tutorial-data-sinks",
-                "title": "Tutorial: Data Sinks",
-                "sidebar_label": "Tutorial: Data Sinks",
-                "original_id": "extend-tutorial-data-sinks"
-              }
-            },
-            {
-              "unversionedId": "extend-tutorial-data-sources",
-              "id": "version-0.65.0-pre-asf/extend-tutorial-data-sources",
-              "title": "Tutorial: Data Sources",
-              "description": "In this tutorial, we will add a new data source consisting of a single data stream. The source will be provided as a standalone component (i.e., the description will be accessible through an integrated web server).",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/06_extend-tutorial-data-sources.md",
-              "sourceDirName": ".",
-              "slug": "/extend-tutorial-data-sources",
-              "permalink": "/docs/0.65.0-pre-asf/extend-tutorial-data-sources",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "extend-tutorial-data-sources",
-                "title": "Tutorial: Data Sources",
-                "sidebar_label": "Tutorial: Data Sources",
-                "original_id": "extend-tutorial-data-sources"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processor.geo.flink/org.apache.streampipes.processor.geo.flink",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processor.geo.flink/org.apache.streampipes.processor.geo.flink",
-              "title": "Spatial Grid Enrichment",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.geo.flink/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processor.geo.flink",
-              "slug": "/org.apache.streampipes.processor.geo.flink/org.apache.streampipes.processor.geo.flink",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processor.geo.flink/org.apache.streampipes.processor.geo.flink",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.flink",
-                "title": "Spatial Grid Enrichment",
-                "sidebar_label": "Spatial Grid Enrichment",
-                "original_id": "org.apache.streampipes.processor.geo.flink"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processor.geo.jvm.geocoding/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "title": "Google Maps Geocoder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processor.geo.jvm.geocoding",
-              "slug": "/org.apache.streampipes.processor.geo.jvm.geocoding/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.jvm.geocoding",
-                "title": "Google Maps Geocoder",
-                "sidebar_label": "Google Maps Geocoder",
-                "original_id": "org.apache.streampipes.processor.geo.jvm.geocoding"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processor.geo.jvm.reversegeocoding/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "title": "Reverse Geocoder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "slug": "/org.apache.streampipes.processor.geo.jvm.reversegeocoding/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-                "title": "Reverse Geocoder",
-                "sidebar_label": "Reverse Geocoder",
-                "original_id": "org.apache.streampipes.processor.geo.jvm.reversegeocoding"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processor.geo.jvm.staticgeocoding/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "title": "Static Google Maps Geocoder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "slug": "/org.apache.streampipes.processor.geo.jvm.staticgeocoding/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-                "title": "Static Google Maps Geocoder",
-                "sidebar_label": "Static Google Maps Geocoder",
-                "original_id": "org.apache.streampipes.processor.geo.jvm.staticgeocoding"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "title": "Generic Image Classification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "slug": "/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-                "title": "Generic Image Classification",
-                "sidebar_label": "Generic Image Classification",
-                "original_id": "org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processor.imageclassification.jvm.image-enricher/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "title": "Image Enricher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "slug": "/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-                "title": "Image Enricher",
-                "sidebar_label": "Image Enricher",
-                "original_id": "org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processor.imageclassification.qrcode/org.apache.streampipes.processor.imageclassification.qrcode",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/org.apache.streampipes.processor.imageclassification.qrcode",
-              "title": "QR Code Reader",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processor.imageclassification.qrcode",
-              "slug": "/org.apache.streampipes.processor.imageclassification.qrcode/org.apache.streampipes.processor.imageclassification.qrcode",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/org.apache.streampipes.processor.imageclassification.qrcode",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.imageclassification.qrcode",
-                "title": "QR Code Reader",
-                "sidebar_label": "QR Code Reader",
-                "original_id": "org.apache.streampipes.processor.imageclassification.qrcode"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.aggregation.flink.aggregation/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "title": "Aggregation",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "slug": "/org.apache.streampipes.processors.aggregation.flink.aggregation/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.aggregation",
-                "title": "Aggregation",
-                "sidebar_label": "Aggregation",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.aggregation"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.aggregation.flink.eventcount/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "title": "Event Counter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "slug": "/org.apache.streampipes.processors.aggregation.flink.eventcount/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.eventcount",
-                "title": "Event Counter",
-                "sidebar_label": "Event Counter",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.eventcount"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.aggregation.flink.rate/org.apache.streampipes.processors.aggregation.flink.rate",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/org.apache.streampipes.processors.aggregation.flink.rate",
-              "title": "Event Rate",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.aggregation.flink.rate",
-              "slug": "/org.apache.streampipes.processors.aggregation.flink.rate/org.apache.streampipes.processors.aggregation.flink.rate",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/org.apache.streampipes.processors.aggregation.flink.rate",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.rate",
-                "title": "Event Rate",
-                "sidebar_label": "Event Rate",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.rate"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.enricher.flink.processor.math.mathop/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "title": "Math",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "slug": "/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-                "title": "Math",
-                "sidebar_label": "Math",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.math.mathop"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "title": "Static Math",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "slug": "/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-                "title": "Static Math",
-                "sidebar_label": "Static Math",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.enricher.flink.processor.trigonometry/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "title": "Trigonometry Functions",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "slug": "/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-                "title": "Trigonometry Functions",
-                "sidebar_label": "Trigonometry Functions",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.trigonometry"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "title": "URL Dereferencing",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "slug": "/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-                "title": "URL Dereferencing",
-                "sidebar_label": "URL Dereferencing",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.urldereferencing"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.enricher.flink.timestamp/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "title": "Timestamp Enricher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.enricher.flink.timestamp",
-              "slug": "/org.apache.streampipes.processors.enricher.flink.timestamp/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.timestamp",
-                "title": "Timestamp Enricher",
-                "sidebar_label": "Timestamp Enricher",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.timestamp"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.enricher.jvm.sizemeasure/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "title": "Size Measure",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "slug": "/org.apache.streampipes.processors.enricher.jvm.sizemeasure/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-                "title": "Size Measure",
-                "sidebar_label": "Size Measure",
-                "original_id": "org.apache.streampipes.processors.enricher.jvm.sizemeasure"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.filters.jvm.compose/org.apache.streampipes.processors.filters.jvm.compose",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/org.apache.streampipes.processors.filters.jvm.compose",
-              "title": "Compose",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.filters.jvm.compose",
-              "slug": "/org.apache.streampipes.processors.filters.jvm.compose/org.apache.streampipes.processors.filters.jvm.compose",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/org.apache.streampipes.processors.filters.jvm.compose",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.compose",
-                "title": "Compose",
-                "sidebar_label": "Compose",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.compose"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.filters.jvm.enrich/org.apache.streampipes.processors.filters.jvm.enrich",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/org.apache.streampipes.processors.filters.jvm.enrich",
-              "title": "Merge By Enrich",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.filters.jvm.enrich",
-              "slug": "/org.apache.streampipes.processors.filters.jvm.enrich/org.apache.streampipes.processors.filters.jvm.enrich",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/org.apache.streampipes.processors.filters.jvm.enrich",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.enrich",
-                "title": "Merge By Enrich",
-                "sidebar_label": "Merge By Enrich",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.enrich"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.filters.jvm.merge/org.apache.streampipes.processors.filters.jvm.merge",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/org.apache.streampipes.processors.filters.jvm.merge",
-              "title": "Merge By Time",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.filters.jvm.merge",
-              "slug": "/org.apache.streampipes.processors.filters.jvm.merge/org.apache.streampipes.processors.filters.jvm.merge",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/org.apache.streampipes.processors.filters.jvm.merge",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.merge",
-                "title": "Merge By Time",
-                "sidebar_label": "Merge By Time",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.merge"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.filters.jvm.numericalfilter/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "title": "Numerical Filter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "slug": "/org.apache.streampipes.processors.filters.jvm.numericalfilter/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.numericalfilter",
-                "title": "Numerical Filter",
-                "sidebar_label": "Numerical Filter",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.numericalfilter"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.filters.jvm.numericaltextfilter/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "title": "Numerical Text Filter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "slug": "/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-                "title": "Numerical Text Filter",
-                "sidebar_label": "Numerical Text Filter",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.numericaltextfilter"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.filters.jvm.project/org.apache.streampipes.processors.filters.jvm.project",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/org.apache.streampipes.processors.filters.jvm.project",
-              "title": "Projection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.filters.jvm.project",
-              "slug": "/org.apache.streampipes.processors.filters.jvm.project/org.apache.streampipes.processors.filters.jvm.project",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/org.apache.streampipes.processors.filters.jvm.project",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.project",
-                "title": "Projection",
-                "sidebar_label": "Projection",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.project"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.filters.jvm.textfilter/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "title": "Text Filter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.filters.jvm.textfilter",
-              "slug": "/org.apache.streampipes.processors.filters.jvm.textfilter/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.textfilter",
-                "title": "Text Filter",
-                "sidebar_label": "Text Filter",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.textfilter"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.filters.jvm.threshold/org.apache.streampipes.processors.filters.jvm.threshold",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/org.apache.streampipes.processors.filters.jvm.threshold",
-              "title": "Threshold Detector",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.filters.jvm.threshold",
-              "slug": "/org.apache.streampipes.processors.filters.jvm.threshold/org.apache.streampipes.processors.filters.jvm.threshold",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/org.apache.streampipes.processors.filters.jvm.threshold",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.threshold",
-                "title": "Threshold Detector",
-                "sidebar_label": "Threshold Detector",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.threshold"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "title": "Distance Calculator",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "slug": "/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-                "title": "Distance Calculator",
-                "sidebar_label": "Distance Calculator",
-                "original_id": "org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.pattern-detection.flink.peak-detection/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "title": "Peak Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "slug": "/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-                "title": "Peak Detection",
-                "sidebar_label": "Peak Detection",
-                "original_id": "org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.siddhi.frequency/org.apache.streampipes.processors.siddhi.frequency",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/org.apache.streampipes.processors.siddhi.frequency",
-              "title": "Frequency Calculation",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.siddhi.frequency",
-              "slug": "/org.apache.streampipes.processors.siddhi.frequency/org.apache.streampipes.processors.siddhi.frequency",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/org.apache.streampipes.processors.siddhi.frequency",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.frequency",
-                "title": "Frequency Calculation",
-                "sidebar_label": "Frequency Calculation",
-                "original_id": "org.apache.streampipes.processors.siddhi.frequency"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.siddhi.frequencychange/org.apache.streampipes.processors.siddhi.frequencychange",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/org.apache.streampipes.processors.siddhi.frequencychange",
-              "title": "Frequency Change",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.siddhi.frequencychange",
-              "slug": "/org.apache.streampipes.processors.siddhi.frequencychange/org.apache.streampipes.processors.siddhi.frequencychange",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/org.apache.streampipes.processors.siddhi.frequencychange",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.frequencychange",
-                "title": "Frequency Change",
-                "sidebar_label": "Frequency Change",
-                "original_id": "org.apache.streampipes.processors.siddhi.frequencychange"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.siddhi.increase/org.apache.streampipes.processors.siddhi.increase",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/org.apache.streampipes.processors.siddhi.increase",
-              "title": "Trend",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.siddhi.increase",
-              "slug": "/org.apache.streampipes.processors.siddhi.increase/org.apache.streampipes.processors.siddhi.increase",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/org.apache.streampipes.processors.siddhi.increase",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.increase",
-                "title": "Trend",
-                "sidebar_label": "Trend",
-                "original_id": "org.apache.streampipes.processors.siddhi.increase"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.siddhi.numericalfilter/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "title": "Numerical Filter (Siddhi)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.siddhi.numericalfilter",
-              "slug": "/org.apache.streampipes.processors.siddhi.numericalfilter/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.numericalfilter",
-                "title": "Numerical Filter (Siddhi)",
-                "sidebar_label": "Numerical Filter (Siddhi)",
-                "original_id": "org.apache.streampipes.processors.siddhi.numericalfilter"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.siddhi.sequence/org.apache.streampipes.processors.siddhi.sequence",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/org.apache.streampipes.processors.siddhi.sequence",
-              "title": "Sequence Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.siddhi.sequence",
-              "slug": "/org.apache.streampipes.processors.siddhi.sequence/org.apache.streampipes.processors.siddhi.sequence",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/org.apache.streampipes.processors.siddhi.sequence",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.sequence",
-                "title": "Sequence Detection",
-                "sidebar_label": "Sequence Detection",
-                "original_id": "org.apache.streampipes.processors.siddhi.sequence"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.siddhi.stop/org.apache.streampipes.processors.siddhi.stop",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/org.apache.streampipes.processors.siddhi.stop",
-              "title": "Stream Stop Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.siddhi.stop",
-              "slug": "/org.apache.streampipes.processors.siddhi.stop/org.apache.streampipes.processors.siddhi.stop",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/org.apache.streampipes.processors.siddhi.stop",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.stop",
-                "title": "Stream Stop Detection",
-                "sidebar_label": "Stream Stop Detection",
-                "original_id": "org.apache.streampipes.processors.siddhi.stop"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.textmining.flink.languagedetection/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "title": "Language Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "slug": "/org.apache.streampipes.processors.textmining.flink.languagedetection/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.flink.languagedetection",
-                "title": "Language Detection",
-                "sidebar_label": "Language Detection",
-                "original_id": "org.apache.streampipes.processors.textmining.flink.languagedetection"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.textmining.flink.wordcount/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "title": "Word Count",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.textmining.flink.wordcount",
-              "slug": "/org.apache.streampipes.processors.textmining.flink.wordcount/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.flink.wordcount",
-                "title": "Word Count",
-                "sidebar_label": "Word Count",
-                "original_id": "org.apache.streampipes.processors.textmining.flink.wordcount"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.textmining.jvm.chunker/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "title": "Chunker (English)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.textmining.jvm.chunker",
-              "slug": "/org.apache.streampipes.processors.textmining.jvm.chunker/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.chunker",
-                "title": "Chunker (English)",
-                "sidebar_label": "Chunker (English)",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.chunker"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.textmining.jvm.languagedetection/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "title": "Language Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "slug": "/org.apache.streampipes.processors.textmining.jvm.languagedetection/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.languagedetection",
-                "title": "Language Detection",
-                "sidebar_label": "Language Detection",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.languagedetection"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.textmining.jvm.namefinder/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "title": "Name Finder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "slug": "/org.apache.streampipes.processors.textmining.jvm.namefinder/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.namefinder",
-                "title": "Name Finder",
-                "sidebar_label": "Name Finder",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.namefinder"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.textmining.jvm.partofspeech/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "title": "Part of Speech (English)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "slug": "/org.apache.streampipes.processors.textmining.jvm.partofspeech/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.partofspeech",
-                "title": "Part of Speech (English)",
-                "sidebar_label": "Part of Speech (English)",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.partofspeech"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.textmining.jvm.sentencedetection/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "title": "Sentence Detection (English)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "slug": "/org.apache.streampipes.processors.textmining.jvm.sentencedetection/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-                "title": "Sentence Detection (English)",
-                "sidebar_label": "Sentence Detection (English)",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.sentencedetection"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.textmining.jvm.tokenizer/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "title": "Tokenizer (English)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "slug": "/org.apache.streampipes.processors.textmining.jvm.tokenizer/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.tokenizer",
-                "title": "Tokenizer (English)",
-                "sidebar_label": "Tokenizer (English)",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.tokenizer"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.flink.field-converter/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "title": "Field Converter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.flink.field-converter",
-              "slug": "/org.apache.streampipes.processors.transformation.flink.field-converter/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.field-converter",
-                "title": "Field Converter",
-                "sidebar_label": "Field Converter",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.field-converter"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.flink.field-mapper/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "title": "Field Mapper",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "slug": "/org.apache.streampipes.processors.transformation.flink.field-mapper/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.field-mapper",
-                "title": "Field Mapper",
-                "sidebar_label": "Field Mapper",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.field-mapper"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.flink.field-renamer/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "title": "Field Renamer",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "slug": "/org.apache.streampipes.processors.transformation.flink.field-renamer/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.field-renamer",
-                "title": "Field Renamer",
-                "sidebar_label": "Field Renamer",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.field-renamer"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.flink.fieldhasher/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "title": "Field Hasher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "slug": "/org.apache.streampipes.processors.transformation.flink.fieldhasher/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.fieldhasher",
-                "title": "Field Hasher",
-                "sidebar_label": "Field Hasher",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.fieldhasher"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "title": "Measurement Unit Converter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "slug": "/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-                "title": "Measurement Unit Converter",
-                "sidebar_label": "Measurement Unit Converter",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.flink.processor.boilerplate/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "title": "Boilerplate Removal",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "slug": "/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-                "title": "Boilerplate Removal",
-                "sidebar_label": "Boilerplate Removal",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.processor.boilerplate"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.booloperator.counter/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "title": "Boolean Counter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-                "title": "Boolean Counter",
-                "sidebar_label": "Boolean Counter",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "title": "Boolean Inverter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-                "title": "Boolean Inverter",
-                "sidebar_label": "Boolean Inverter",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.inverter"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "title": "Measure Time Between Two Sensors",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-                "title": "Measure Time Between Two Sensors",
-                "sidebar_label": "Measure Time Between Two Sensors",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.booloperator.timer/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "title": "Boolean Timer",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-                "title": "Boolean Timer",
-                "sidebar_label": "Boolean Timer",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timer"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.changed-value/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "title": "Value Changed",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.changed-value/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.changed-value",
-                "title": "Value Changed",
-                "sidebar_label": "Value Changed",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.changed-value"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.count-array/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "title": "Count Array",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.count-array",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.count-array/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.count-array",
-                "title": "Count Array",
-                "sidebar_label": "Count Array",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.count-array"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.csvmetadata/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "title": "CSV Metadata Enricher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.csvmetadata/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-                "title": "CSV Metadata Enricher",
-                "sidebar_label": "CSV Metadata Enricher",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.csvmetadata"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.duration-value/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "title": "Calculate Duration",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.duration-value/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.duration-value",
-                "title": "Calculate Duration",
-                "sidebar_label": "Calculate Duration",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.duration-value"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "title": "Timestamp Extractor",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-                "title": "Timestamp Extractor",
-                "sidebar_label": "Timestamp Extractor",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.split-array/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "title": "Split Array",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.split-array",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.split-array/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.split-array",
-                "title": "Split Array",
-                "sidebar_label": "Split Array",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.split-array"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.taskduration/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "title": "Task Duration",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.taskduration/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.taskduration",
-                "title": "Task Duration",
-                "sidebar_label": "Task Duration",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.taskduration"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "title": "Transform to boolean",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-                "title": "Transform to boolean",
-                "sidebar_label": "Transform to boolean",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.transform-to-boolean"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.brokers.jvm.bufferrest/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "title": "Buffered REST Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "slug": "/org.apache.streampipes.sinks.brokers.jvm.bufferrest/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-                "title": "Buffered REST Publisher",
-                "sidebar_label": "Buffered REST Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.bufferrest"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.brokers.jvm.jms/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "title": "JMS Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.brokers.jvm.jms",
-              "slug": "/org.apache.streampipes.sinks.brokers.jvm.jms/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.jms",
-                "title": "JMS Publisher",
-                "sidebar_label": "JMS Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.jms"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.brokers.jvm.kafka/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "title": "Kafka Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "slug": "/org.apache.streampipes.sinks.brokers.jvm.kafka/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.kafka",
-                "title": "Kafka Publisher",
-                "sidebar_label": "Kafka Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.kafka"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.brokers.jvm.pulsar/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "title": "Pulsar Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "slug": "/org.apache.streampipes.sinks.brokers.jvm.pulsar/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.pulsar",
-                "title": "Pulsar Publisher",
-                "sidebar_label": "Pulsar Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.pulsar"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.brokers.jvm.rabbitmq/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "title": "RabbitMQ Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "slug": "/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-                "title": "RabbitMQ Publisher",
-                "sidebar_label": "RabbitMQ Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.brokers.jvm.rest/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "title": "REST Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.brokers.jvm.rest",
-              "slug": "/org.apache.streampipes.sinks.brokers.jvm.rest/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.rest",
-                "title": "REST Publisher",
-                "sidebar_label": "REST Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.rest"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.databases.ditto/org.apache.streampipes.sinks.databases.ditto",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/org.apache.streampipes.sinks.databases.ditto",
-              "title": "Eclipse Ditto",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.databases.ditto",
-              "slug": "/org.apache.streampipes.sinks.databases.ditto/org.apache.streampipes.sinks.databases.ditto",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/org.apache.streampipes.sinks.databases.ditto",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.ditto",
-                "title": "Eclipse Ditto",
-                "sidebar_label": "Eclipse Ditto",
-                "original_id": "org.apache.streampipes.sinks.databases.ditto"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.databases.flink.elasticsearch/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "title": "Elasticsearch",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "slug": "/org.apache.streampipes.sinks.databases.flink.elasticsearch/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.flink.elasticsearch",
-                "title": "Elasticsearch",
-                "sidebar_label": "Elasticsearch",
-                "original_id": "org.apache.streampipes.sinks.databases.flink.elasticsearch"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.databases.jvm.couchdb/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "title": "CouchDB",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "slug": "/org.apache.streampipes.sinks.databases.jvm.couchdb/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.couchdb",
-                "title": "CouchDB",
-                "sidebar_label": "CouchDB",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.couchdb"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.databases.jvm.influxdb/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "title": "InfluxDB",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "slug": "/org.apache.streampipes.sinks.databases.jvm.influxdb/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.influxdb",
-                "title": "InfluxDB",
-                "sidebar_label": "InfluxDB",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.influxdb"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.databases.jvm.iotdb/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "title": "IoTDB",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "slug": "/org.apache.streampipes.sinks.databases.jvm.iotdb/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.iotdb",
-                "title": "IoTDB",
-                "sidebar_label": "IoTDB",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.iotdb"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.databases.jvm.opcua/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "title": "OPC-UA",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.databases.jvm.opcua",
-              "slug": "/org.apache.streampipes.sinks.databases.jvm.opcua/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.opcua",
-                "title": "OPC-UA",
-                "sidebar_label": "OPC-UA",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.opcua"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.databases.jvm.postgresql/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "title": "PostgreSQL",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "slug": "/org.apache.streampipes.sinks.databases.jvm.postgresql/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.postgresql",
-                "title": "PostgreSQL",
-                "sidebar_label": "PostgreSQL",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.postgresql"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.internal.jvm.dashboard/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "title": "Dashboard Sink",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "slug": "/org.apache.streampipes.sinks.internal.jvm.dashboard/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.internal.jvm.dashboard",
-                "title": "Dashboard Sink",
-                "sidebar_label": "Dashboard Sink",
-                "original_id": "org.apache.streampipes.sinks.internal.jvm.dashboard"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.internal.jvm.datalake/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "title": "Data Lake",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.internal.jvm.datalake",
-              "slug": "/org.apache.streampipes.sinks.internal.jvm.datalake/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.internal.jvm.datalake",
-                "title": "Data Lake",
-                "sidebar_label": "Data Lake",
-                "original_id": "org.apache.streampipes.sinks.internal.jvm.datalake"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.internal.jvm.notification/org.apache.streampipes.sinks.internal.jvm.notification",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/org.apache.streampipes.sinks.internal.jvm.notification",
-              "title": "Notification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.internal.jvm.notification",
-              "slug": "/org.apache.streampipes.sinks.internal.jvm.notification/org.apache.streampipes.sinks.internal.jvm.notification",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/org.apache.streampipes.sinks.internal.jvm.notification",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.internal.jvm.notification",
-                "title": "Notification",
-                "sidebar_label": "Notification",
-                "original_id": "org.apache.streampipes.sinks.internal.jvm.notification"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.notifications.jvm.email/org.apache.streampipes.sinks.notifications.jvm.email",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/org.apache.streampipes.sinks.notifications.jvm.email",
-              "title": "Email Notification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.notifications.jvm.email",
-              "slug": "/org.apache.streampipes.sinks.notifications.jvm.email/org.apache.streampipes.sinks.notifications.jvm.email",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/org.apache.streampipes.sinks.notifications.jvm.email",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.notifications.jvm.email",
-                "title": "Email Notification",
-                "sidebar_label": "Email Notification",
-                "original_id": "org.apache.streampipes.sinks.notifications.jvm.email"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.notifications.jvm.onesignal/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "title": "OneSignal",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "slug": "/org.apache.streampipes.sinks.notifications.jvm.onesignal/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.notifications.jvm.onesignal",
-                "title": "OneSignal",
-                "sidebar_label": "OneSignal",
-                "original_id": "org.apache.streampipes.sinks.notifications.jvm.onesignal"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.notifications.jvm.slack/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "id": "version-0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "title": "Slack Notification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.notifications.jvm.slack",
-              "slug": "/org.apache.streampipes.sinks.notifications.jvm.slack/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "permalink": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.notifications.jvm.slack",
-                "title": "Slack Notification",
-                "sidebar_label": "Slack Notification",
-                "original_id": "org.apache.streampipes.sinks.notifications.jvm.slack"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.coindesk",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk",
-              "title": "Coindesk Bitcoin Price",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.coindesk",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.coindesk",
-                "title": "Coindesk Bitcoin Price",
-                "sidebar_label": "Coindesk Bitcoin Price",
-                "original_id": "org.apache.streampipes.connect.adapters.coindesk"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.gdelt",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt",
-              "title": "GDELT",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.gdelt",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.gdelt",
-                "title": "GDELT",
-                "sidebar_label": "GDELT",
-                "original_id": "org.apache.streampipes.connect.adapters.gdelt"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.iex.news",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news",
-              "title": "IEX Cloud News",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.iex.news",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.iex.news",
-                "title": "IEX Cloud News",
-                "sidebar_label": "IEX Cloud News",
-                "original_id": "org.apache.streampipes.connect.adapters.iex.news"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.iex.stocks",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks",
-              "title": "IEX Cloud Stock Quotes",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.iex.stocks",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.iex.stocks",
-                "title": "IEX Cloud Stock Quotes",
-                "sidebar_label": "IEX Cloud Stock Quotes",
-                "original_id": "org.apache.streampipes.connect.adapters.iex.stocks"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.image.set",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set",
-              "title": "Image Upload (Set)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.image.set",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.image.set",
-                "title": "Image Upload (Set)",
-                "sidebar_label": "Image Upload (Set)",
-                "original_id": "org.apache.streampipes.connect.adapters.image.set"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.image.stream",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream",
-              "title": "Image Upload (Stream)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.image.stream",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.image.stream",
-                "title": "Image Upload (Stream)",
-                "sidebar_label": "Image Upload (Stream)",
-                "original_id": "org.apache.streampipes.connect.adapters.image.stream"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.influxdb.set",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set",
-              "title": "InfluxDB Set Adapter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.influxdb.set",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.influxdb.set",
-                "title": "InfluxDB Set Adapter",
-                "sidebar_label": "InfluxDB Set Adapter",
-                "original_id": "org.apache.streampipes.connect.adapters.influxdb.set"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.influxdb.stream",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream",
-              "title": "InfluxDB Stream Adapter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.influxdb.stream",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.influxdb.stream",
-                "title": "InfluxDB Stream Adapter",
-                "sidebar_label": "InfluxDB Stream Adapter",
-                "original_id": "org.apache.streampipes.connect.adapters.influxdb.stream"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.iss",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss",
-              "title": "ISS Location",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.iss",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.iss",
-                "title": "ISS Location",
-                "sidebar_label": "ISS Location",
-                "original_id": "org.apache.streampipes.connect.adapters.iss"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.mysql.set",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set",
-              "title": "MySQL Set Adapter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.mysql.set",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.mysql.set",
-                "title": "MySQL Set Adapter",
-                "sidebar_label": "MySQL Set Adapter",
-                "original_id": "org.apache.streampipes.connect.adapters.mysql.set"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.mysql.stream",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream",
-              "title": "MySql Stream Adapter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.mysql.stream",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.mysql.stream",
-                "title": "MySql Stream Adapter",
-                "sidebar_label": "MySql Stream Adapter",
-                "original_id": "org.apache.streampipes.connect.adapters.mysql.stream"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.netio.mqtt",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt",
-              "title": "NETIO MQTT M2M",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.netio.mqtt",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.netio.mqtt",
-                "title": "NETIO MQTT M2M",
-                "sidebar_label": "NETIO MQTT M2M",
-                "original_id": "org.apache.streampipes.connect.adapters.netio.mqtt"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.netio.rest",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest",
-              "title": "NETIO http JSON",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.netio.rest",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.netio.rest",
-                "title": "NETIO http JSON",
-                "sidebar_label": "NETIO http JSON",
-                "original_id": "org.apache.streampipes.connect.adapters.netio.rest"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
-              "title": "NSW Traffic Cameras",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
-                "title": "NSW Traffic Cameras",
-                "sidebar_label": "NSW Traffic Cameras",
-                "original_id": "org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.opcua",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua",
-              "title": "OPC UA",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.opcua",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.opcua",
-                "title": "OPC UA",
-                "sidebar_label": "OPC UA",
-                "original_id": "org.apache.streampipes.connect.adapters.opcua"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.plc4x.s7",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7",
-              "title": "PLC4X S7",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.plc4x.s7",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.plc4x.s7",
-                "title": "PLC4X S7",
-                "sidebar_label": "PLC4X S7",
-                "original_id": "org.apache.streampipes.connect.adapters.plc4x.s7"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.ros",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros",
-              "title": "ROS Bridge",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.ros",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.ros",
-                "title": "ROS Bridge",
-                "sidebar_label": "ROS Bridge",
-                "original_id": "org.apache.streampipes.connect.adapters.ros"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
-              "title": "Random Data Simulator (Set)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.simulator.randomdataset",
-                "title": "Random Data Simulator (Set)",
-                "sidebar_label": "Random Data Simulator (Set)",
-                "original_id": "org.apache.streampipes.connect.adapters.simulator.randomdataset"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
-              "title": "Random Data Simulator (Stream)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.simulator.randomdatastream",
-                "title": "Random Data Simulator (Stream)",
-                "sidebar_label": "Random Data Simulator (Stream)",
-                "original_id": "org.apache.streampipes.connect.adapters.simulator.randomdatastream"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.slack",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack",
-              "title": "Slack",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.slack",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.slack",
-                "title": "Slack",
-                "sidebar_label": "Slack",
-                "original_id": "org.apache.streampipes.connect.adapters.slack"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.ti",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti",
-              "title": "TI Sensor Tag",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.ti",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.ti",
-                "title": "TI Sensor Tag",
-                "sidebar_label": "TI Sensor Tag",
-                "original_id": "org.apache.streampipes.connect.adapters.ti"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
-              "title": "Wikipedia Edits",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.wikipedia.edit",
-                "title": "Wikipedia Edits",
-                "sidebar_label": "Wikipedia Edits",
-                "original_id": "org.apache.streampipes.connect.adapters.wikipedia.edit"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.wikipedia.new",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new",
-              "title": "Wikipedia New Articles",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.wikipedia.new",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.wikipedia.new",
-                "title": "Wikipedia New Articles",
-                "sidebar_label": "Wikipedia New Articles",
-                "original_id": "org.apache.streampipes.connect.adapters.wikipedia.new"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.file",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file",
-              "title": "File Stream",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.protocol.stream.file",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.protocol.stream.file",
-                "title": "File Stream",
-                "sidebar_label": "File Stream",
-                "original_id": "org.apache.streampipes.connect.protocol.stream.file"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.http",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http",
-              "title": "HTTP Stream",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.protocol.stream.http",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.protocol.stream.http",
-                "title": "HTTP Stream",
-                "sidebar_label": "HTTP Stream",
-                "original_id": "org.apache.streampipes.connect.protocol.stream.http"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.kafka",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka",
-              "title": "Apache Kafka",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.protocol.stream.kafka",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.protocol.stream.kafka",
-                "title": "Apache Kafka",
-                "sidebar_label": "Apache Kafka",
-                "original_id": "org.apache.streampipes.connect.protocol.stream.kafka"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.mqtt",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt",
-              "title": "MQTT",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.protocol.stream.mqtt",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.protocol.stream.mqtt",
-                "title": "MQTT",
-                "sidebar_label": "MQTT",
-                "original_id": "org.apache.streampipes.connect.protocol.stream.mqtt"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.pulsar",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar",
-              "title": "Apache Pulsar",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.protocol.stream.pulsar",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.protocol.stream.pulsar",
-                "title": "Apache Pulsar",
-                "sidebar_label": "Apache Pulsar",
-                "original_id": "org.apache.streampipes.connect.protocol.stream.pulsar"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.geo.flink",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink",
-              "title": "Spatial Grid Enrichment",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.geo.flink",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.flink",
-                "title": "Spatial Grid Enrichment",
-                "sidebar_label": "Spatial Grid Enrichment",
-                "original_id": "org.apache.streampipes.processor.geo.flink"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "title": "Google Maps Geocoder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.jvm.geocoding",
-                "title": "Google Maps Geocoder",
-                "sidebar_label": "Google Maps Geocoder",
-                "original_id": "org.apache.streampipes.processor.geo.jvm.geocoding"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "title": "Reverse Geocoder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-                "title": "Reverse Geocoder",
-                "sidebar_label": "Reverse Geocoder",
-                "original_id": "org.apache.streampipes.processor.geo.jvm.reversegeocoding"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "title": "Static Google Maps Geocoder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-                "title": "Static Google Maps Geocoder",
-                "sidebar_label": "Static Google Maps Geocoder",
-                "original_id": "org.apache.streampipes.processor.geo.jvm.staticgeocoding"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "title": "Generic Image Classification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-                "title": "Generic Image Classification",
-                "sidebar_label": "Generic Image Classification",
-                "original_id": "org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
-              "title": "Image Cropper",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
-                "title": "Image Cropper",
-                "sidebar_label": "Image Cropper",
-                "original_id": "org.apache.streampipes.processor.imageclassification.jvm.image-cropper"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "title": "Image Enricher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-                "title": "Image Enricher",
-                "sidebar_label": "Image Enricher",
-                "original_id": "org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.imageclassification.qrcode",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode",
-              "title": "QR Code Reader",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.imageclassification.qrcode",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.imageclassification.qrcode",
-                "title": "QR Code Reader",
-                "sidebar_label": "QR Code Reader",
-                "original_id": "org.apache.streampipes.processor.imageclassification.qrcode"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "title": "Aggregation",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.aggregation",
-                "title": "Aggregation",
-                "sidebar_label": "Aggregation",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.aggregation"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.aggregation.flink.count",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count",
-              "title": "Count Aggregation",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.aggregation.flink.count",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.count",
-                "title": "Count Aggregation",
-                "sidebar_label": "Count Aggregation",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.count"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "title": "Event Counter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.eventcount",
-                "title": "Event Counter",
-                "sidebar_label": "Event Counter",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.eventcount"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.aggregation.flink.rate",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate",
-              "title": "Event Rate",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.aggregation.flink.rate",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.rate",
-                "title": "Event Rate",
-                "sidebar_label": "Event Rate",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.rate"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "title": "Math",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-                "title": "Math",
-                "sidebar_label": "Math",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.math.mathop"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "title": "Static Math",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-                "title": "Static Math",
-                "sidebar_label": "Static Math",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "title": "Trigonometry Functions",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-                "title": "Trigonometry Functions",
-                "sidebar_label": "Trigonometry Functions",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.trigonometry"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "title": "URL Dereferencing",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-                "title": "URL Dereferencing",
-                "sidebar_label": "URL Dereferencing",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.urldereferencing"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "title": "Timestamp Enricher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.timestamp",
-                "title": "Timestamp Enricher",
-                "sidebar_label": "Timestamp Enricher",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.timestamp"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "title": "Size Measure",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-                "title": "Size Measure",
-                "sidebar_label": "Size Measure",
-                "original_id": "org.apache.streampipes.processors.enricher.jvm.sizemeasure"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.compose",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose",
-              "title": "Compose",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.compose",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.compose",
-                "title": "Compose",
-                "sidebar_label": "Compose",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.compose"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.enrich",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich",
-              "title": "Merge By Enrich",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.enrich",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.enrich",
-                "title": "Merge By Enrich",
-                "sidebar_label": "Merge By Enrich",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.enrich"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.merge",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge",
-              "title": "Merge By Time",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.merge",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.merge",
-                "title": "Merge By Time",
-                "sidebar_label": "Merge By Time",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.merge"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "title": "Numerical Filter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.numericalfilter",
-                "title": "Numerical Filter",
-                "sidebar_label": "Numerical Filter",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.numericalfilter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "title": "Numerical Text Filter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-                "title": "Numerical Text Filter",
-                "sidebar_label": "Numerical Text Filter",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.numericaltextfilter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.project",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project",
-              "title": "Projection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.project",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.project",
-                "title": "Projection",
-                "sidebar_label": "Projection",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.project"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "title": "Text Filter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.textfilter",
-                "title": "Text Filter",
-                "sidebar_label": "Text Filter",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.textfilter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.threshold",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold",
-              "title": "Threshold Detector",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.threshold",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.threshold",
-                "title": "Threshold Detector",
-                "sidebar_label": "Threshold Detector",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.threshold"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
-              "title": "Creates JTS Point",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
-                "title": "Creates JTS Point",
-                "sidebar_label": "Creates JTS Point",
-                "original_id": "org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
-              "title": "EPSG Code",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
-                "title": "EPSG Code",
-                "sidebar_label": "EPSG Code",
-                "original_id": "org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
-              "title": "Single Trajectory Creator",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
-                "title": "Single Trajectory Creator",
-                "sidebar_label": "Single Trajectory Creator",
-                "original_id": "org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "title": "Distance Calculator",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-                "title": "Distance Calculator",
-                "sidebar_label": "Distance Calculator",
-                "original_id": "org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
-              "title": "Speed Calculator",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.geo.jvm.processor.speed",
-                "title": "Speed Calculator",
-                "sidebar_label": "Speed Calculator",
-                "original_id": "org.apache.streampipes.processors.geo.jvm.processor.speed"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-              "title": "Static Distance Calculator",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-                "title": "Static Distance Calculator",
-                "sidebar_label": "Static Distance Calculator",
-                "original_id": "org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
-              "title": "Absence",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.pattern-detection.flink.absence",
-                "title": "Absence",
-                "sidebar_label": "Absence",
-                "original_id": "org.apache.streampipes.processors.pattern-detection.flink.absence"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.pattern-detection.flink.and",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and",
-              "title": "And",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.pattern-detection.flink.and",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.pattern-detection.flink.and",
-                "title": "And",
-                "sidebar_label": "And",
-                "original_id": "org.apache.streampipes.processors.pattern-detection.flink.and"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "title": "Peak Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-                "title": "Peak Detection",
-                "sidebar_label": "Peak Detection",
-                "original_id": "org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
-              "title": "Sequence",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.pattern-detection.flink.sequence",
-                "title": "Sequence",
-                "sidebar_label": "Sequence",
-                "original_id": "org.apache.streampipes.processors.pattern-detection.flink.sequence"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.frequency",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency",
-              "title": "Frequency Calculation",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.frequency",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.frequency",
-                "title": "Frequency Calculation",
-                "sidebar_label": "Frequency Calculation",
-                "original_id": "org.apache.streampipes.processors.siddhi.frequency"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.frequencychange",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange",
-              "title": "Frequency Change",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.frequencychange",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.frequencychange",
-                "title": "Frequency Change",
-                "sidebar_label": "Frequency Change",
-                "original_id": "org.apache.streampipes.processors.siddhi.frequencychange"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.increase",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase",
-              "title": "Trend",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.increase",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.increase",
-                "title": "Trend",
-                "sidebar_label": "Trend",
-                "original_id": "org.apache.streampipes.processors.siddhi.increase"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "title": "Numerical Filter (Siddhi)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.numericalfilter",
-                "title": "Numerical Filter (Siddhi)",
-                "sidebar_label": "Numerical Filter (Siddhi)",
-                "original_id": "org.apache.streampipes.processors.siddhi.numericalfilter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.sequence",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence",
-              "title": "Sequence Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.sequence",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.sequence",
-                "title": "Sequence Detection",
-                "sidebar_label": "Sequence Detection",
-                "original_id": "org.apache.streampipes.processors.siddhi.sequence"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.stop",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop",
-              "title": "Stream Stop Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.stop",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.stop",
-                "title": "Stream Stop Detection",
-                "sidebar_label": "Stream Stop Detection",
-                "original_id": "org.apache.streampipes.processors.siddhi.stop"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
-              "title": "Statistics Summary",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.statistics.flink.statistics-summary",
-                "title": "Statistics Summary",
-                "sidebar_label": "Statistics Summary",
-                "original_id": "org.apache.streampipes.processors.statistics.flink.statistics-summary"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "title": "Language Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.flink.languagedetection",
-                "title": "Language Detection",
-                "sidebar_label": "Language Detection",
-                "original_id": "org.apache.streampipes.processors.textmining.flink.languagedetection"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "title": "Word Count",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.flink.wordcount",
-                "title": "Word Count",
-                "sidebar_label": "Word Count",
-                "original_id": "org.apache.streampipes.processors.textmining.flink.wordcount"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "title": "Chunker (English)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.chunker",
-                "title": "Chunker (English)",
-                "sidebar_label": "Chunker (English)",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.chunker"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "title": "Language Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.languagedetection",
-                "title": "Language Detection",
-                "sidebar_label": "Language Detection",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.languagedetection"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "title": "Name Finder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.namefinder",
-                "title": "Name Finder",
-                "sidebar_label": "Name Finder",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.namefinder"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "title": "Part of Speech (English)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.partofspeech",
-                "title": "Part of Speech (English)",
-                "sidebar_label": "Part of Speech (English)",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.partofspeech"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "title": "Sentence Detection (English)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-                "title": "Sentence Detection (English)",
-                "sidebar_label": "Sentence Detection (English)",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.sentencedetection"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "title": "Tokenizer (English)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.tokenizer",
-                "title": "Tokenizer (English)",
-                "sidebar_label": "Tokenizer (English)",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.tokenizer"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "title": "Field Converter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.field-converter",
-                "title": "Field Converter",
-                "sidebar_label": "Field Converter",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.field-converter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "title": "Field Mapper",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.field-mapper",
-                "title": "Field Mapper",
-                "sidebar_label": "Field Mapper",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.field-mapper"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "title": "Field Renamer",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.field-renamer",
-                "title": "Field Renamer",
-                "sidebar_label": "Field Renamer",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.field-renamer"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "title": "Field Hasher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.fieldhasher",
-                "title": "Field Hasher",
-                "sidebar_label": "Field Hasher",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.fieldhasher"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "title": "Measurement Unit Converter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-                "title": "Measurement Unit Converter",
-                "sidebar_label": "Measurement Unit Converter",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "title": "Boilerplate Removal",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-                "title": "Boilerplate Removal",
-                "sidebar_label": "Boilerplate Removal",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.processor.boilerplate"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "title": "Boolean Counter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-                "title": "Boolean Counter",
-                "sidebar_label": "Boolean Counter",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "title": "Boolean Inverter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-                "title": "Boolean Inverter",
-                "sidebar_label": "Boolean Inverter",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.inverter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "title": "Measure Time Between Two Sensors",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-                "title": "Measure Time Between Two Sensors",
-                "sidebar_label": "Measure Time Between Two Sensors",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "title": "Boolean Timer",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-                "title": "Boolean Timer",
-                "sidebar_label": "Boolean Timer",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timer"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "title": "Value Changed",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.changed-value",
-                "title": "Value Changed",
-                "sidebar_label": "Value Changed",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.changed-value"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "title": "Count Array",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.count-array",
-                "title": "Count Array",
-                "sidebar_label": "Count Array",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.count-array"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "title": "CSV Metadata Enricher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-                "title": "CSV Metadata Enricher",
-                "sidebar_label": "CSV Metadata Enricher",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.csvmetadata"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "title": "Calculate Duration",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.duration-value",
-                "title": "Calculate Duration",
-                "sidebar_label": "Calculate Duration",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.duration-value"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "title": "Timestamp Extractor",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-                "title": "Timestamp Extractor",
-                "sidebar_label": "Timestamp Extractor",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "title": "Split Array",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.split-array",
-                "title": "Split Array",
-                "sidebar_label": "Split Array",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.split-array"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
-              "title": "String Counter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
-                "title": "String Counter",
-                "sidebar_label": "String Counter",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.stringoperator.counter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-              "title": "String Timer",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-                "title": "String Timer",
-                "sidebar_label": "String Timer",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.stringoperator.timer"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "title": "Task Duration",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.taskduration",
-                "title": "Task Duration",
-                "sidebar_label": "Task Duration",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.taskduration"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "title": "Transform to boolean",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-                "title": "Transform to boolean",
-                "sidebar_label": "Transform to boolean",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.transform-to-boolean"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.protocol.set.file",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.protocol.set.file",
-              "title": "File Set",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.protocol.set.file.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.protocol.set.file",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.protocol.set.file",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.protocol.set.file",
-                "title": "File Set",
-                "sidebar_label": "File Set",
-                "original_id": "org.apache.streampipes.protocol.set.file"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.protocol.set.http",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.protocol.set.http",
-              "title": "HTTP Set",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.protocol.set.http.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.protocol.set.http",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.protocol.set.http",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.protocol.set.http",
-                "title": "HTTP Set",
-                "sidebar_label": "HTTP Set",
-                "original_id": "org.apache.streampipes.protocol.set.http"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "title": "Buffered REST Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-                "title": "Buffered REST Publisher",
-                "sidebar_label": "Buffered REST Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.bufferrest"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "title": "JMS Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.jms",
-                "title": "JMS Publisher",
-                "sidebar_label": "JMS Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.jms"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "title": "Kafka Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.kafka",
-                "title": "Kafka Publisher",
-                "sidebar_label": "Kafka Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.kafka"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
-              "title": "MQTT Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.mqtt",
-                "title": "MQTT Publisher",
-                "sidebar_label": "MQTT Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.mqtt"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "title": "Pulsar Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.pulsar",
-                "title": "Pulsar Publisher",
-                "sidebar_label": "Pulsar Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.pulsar"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "title": "RabbitMQ Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-                "title": "RabbitMQ Publisher",
-                "sidebar_label": "RabbitMQ Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "title": "REST Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.rest",
-                "title": "REST Publisher",
-                "sidebar_label": "REST Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.rest"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.databases.ditto",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto",
-              "title": "Eclipse Ditto",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.databases.ditto",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.ditto",
-                "title": "Eclipse Ditto",
-                "sidebar_label": "Eclipse Ditto",
-                "original_id": "org.apache.streampipes.sinks.databases.ditto"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "title": "Elasticsearch",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.flink.elasticsearch",
-                "title": "Elasticsearch",
-                "sidebar_label": "Elasticsearch",
-                "original_id": "org.apache.streampipes.sinks.databases.flink.elasticsearch"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "title": "CouchDB",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.couchdb",
-                "title": "CouchDB",
-                "sidebar_label": "CouchDB",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.couchdb"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "title": "InfluxDB",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.influxdb",
-                "title": "InfluxDB",
-                "sidebar_label": "InfluxDB",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.influxdb"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "title": "IoTDB",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.iotdb",
-                "title": "IoTDB",
-                "sidebar_label": "IoTDB",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.iotdb"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "title": "OPC-UA",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.opcua",
-                "title": "OPC-UA",
-                "sidebar_label": "OPC-UA",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.opcua"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "title": "PostgreSQL",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.postgresql",
-                "title": "PostgreSQL",
-                "sidebar_label": "PostgreSQL",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.postgresql"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "title": "Dashboard Sink",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.internal.jvm.dashboard",
-                "title": "Dashboard Sink",
-                "sidebar_label": "Dashboard Sink",
-                "original_id": "org.apache.streampipes.sinks.internal.jvm.dashboard"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "title": "Data Lake",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.internal.jvm.datalake",
-                "title": "Data Lake",
-                "sidebar_label": "Data Lake",
-                "original_id": "org.apache.streampipes.sinks.internal.jvm.datalake"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.internal.jvm.notification",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification",
-              "title": "Notification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.internal.jvm.notification",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.internal.jvm.notification",
-                "title": "Notification",
-                "sidebar_label": "Notification",
-                "original_id": "org.apache.streampipes.sinks.internal.jvm.notification"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.notifications.jvm.email",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email",
-              "title": "Email Notification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.notifications.jvm.email",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.notifications.jvm.email",
-                "title": "Email Notification",
-                "sidebar_label": "Email Notification",
-                "original_id": "org.apache.streampipes.sinks.notifications.jvm.email"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "title": "OneSignal",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.notifications.jvm.onesignal",
-                "title": "OneSignal",
-                "sidebar_label": "OneSignal",
-                "original_id": "org.apache.streampipes.sinks.notifications.jvm.onesignal"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "id": "version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "title": "Slack Notification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "permalink": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.notifications.jvm.slack",
-                "title": "Slack Notification",
-                "sidebar_label": "Slack Notification",
-                "original_id": "org.apache.streampipes.sinks.notifications.jvm.slack"
-              }
-            },
-            {
-              "unversionedId": "pe/version-0.68.0-org.apache.streampipes.connect.adapters.flic.mqtt",
-              "id": "version-0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.connect.adapters.flic.mqtt",
-              "title": "Flic MQTT",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/version-0.68.0-org.apache.streampipes.connect.adapters.flic.mqtt",
-              "permalink": "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.connect.adapters.flic.mqtt",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.68.0-org.apache.streampipes.connect.adapters.flic.mqtt",
-                "title": "Flic MQTT",
-                "sidebar_label": "Flic MQTT",
-                "original_id": "org.apache.streampipes.connect.adapters.flic.mqtt"
-              }
-            },
-            {
-              "unversionedId": "pe/version-0.68.0-org.apache.streampipes.connect.adapters.plc4x.modbus",
-              "id": "version-0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.connect.adapters.plc4x.modbus",
-              "title": "PLC4X MODBUS",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/version-0.68.0-org.apache.streampipes.connect.adapters.plc4x.modbus",
-              "permalink": "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.connect.adapters.plc4x.modbus",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.68.0-org.apache.streampipes.connect.adapters.plc4x.modbus",
-                "title": "PLC4X MODBUS",
-                "sidebar_label": "PLC4X MODBUS",
-                "original_id": "org.apache.streampipes.connect.adapters.plc4x.modbus"
-              }
-            },
-            {
-              "unversionedId": "pe/version-0.68.0-org.apache.streampipes.connect.adapters.simulator.machine",
-              "id": "version-0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.connect.adapters.simulator.machine",
-              "title": "Machine Data Simulator",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.machine.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/version-0.68.0-org.apache.streampipes.connect.adapters.simulator.machine",
-              "permalink": "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.connect.adapters.simulator.machine",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.68.0-org.apache.streampipes.connect.adapters.simulator.machine",
-                "title": "Machine Data Simulator",
-                "sidebar_label": "Machine Data Simulator",
-                "original_id": "org.apache.streampipes.connect.adapters.simulator.machine"
-              }
-            },
-            {
-              "unversionedId": "pe/version-0.68.0-org.apache.streampipes.connect.protocol.stream.httpserver",
-              "id": "version-0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.connect.protocol.stream.httpserver",
-              "title": "HTTP Server",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/version-0.68.0-org.apache.streampipes.connect.protocol.stream.httpserver",
-              "permalink": "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.connect.protocol.stream.httpserver",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.68.0-org.apache.streampipes.connect.protocol.stream.httpserver",
-                "title": "HTTP Server",
-                "sidebar_label": "HTTP Server",
-                "original_id": "org.apache.streampipes.connect.protocol.stream.httpserver"
-              }
-            },
-            {
-              "unversionedId": "pe/version-0.68.0-org.apache.streampipes.processors.changedetection.jvm.cusum",
-              "id": "version-0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.changedetection.jvm.cusum",
-              "title": "Cusum",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/version-0.68.0-org.apache.streampipes.processors.changedetection.jvm.cusum",
-              "permalink": "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.changedetection.jvm.cusum",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.68.0-org.apache.streampipes.processors.changedetection.jvm.cusum",
-                "title": "Cusum",
-                "sidebar_label": "Cusum",
-                "original_id": "org.apache.streampipes.processors.changedetection.jvm.cusum"
-              }
-            },
-            {
-              "unversionedId": "pe/version-0.68.0-org.apache.streampipes.processors.filters.jvm.limit",
-              "id": "version-0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.filters.jvm.limit",
-              "title": "Rate Limit",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.limit.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/version-0.68.0-org.apache.streampipes.processors.filters.jvm.limit",
-              "permalink": "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.filters.jvm.limit",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.68.0-org.apache.streampipes.processors.filters.jvm.limit",
-                "title": "Rate Limit",
-                "sidebar_label": "Rate Limit",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.limit"
-              }
-            },
-            {
-              "unversionedId": "pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
-              "id": "version-0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
-              "title": "Signal Edge Filter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
-              "permalink": "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
-                "title": "Signal Edge Filter",
-                "sidebar_label": "Signal Edge Filter",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge"
-              }
-            },
-            {
-              "unversionedId": "pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state",
-              "id": "version-0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state",
-              "title": "Boolean To State",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state",
-              "permalink": "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state",
-                "title": "Boolean To State",
-                "sidebar_label": "Boolean To State",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state"
-              }
-            },
-            {
-              "unversionedId": "pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.buffer",
-              "id": "version-0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.buffer",
-              "title": "State Buffer",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.buffer",
-              "permalink": "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.buffer",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.buffer",
-                "title": "State Buffer",
-                "sidebar_label": "State Buffer",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.state.buffer"
-              }
-            },
-            {
-              "unversionedId": "pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer",
-              "id": "version-0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer",
-              "title": "State Buffer Labeler",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer",
-              "permalink": "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer",
-                "title": "State Buffer Labeler",
-                "sidebar_label": "State Buffer Labeler",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer"
-              }
-            },
-            {
-              "unversionedId": "pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number",
-              "id": "version-0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number",
-              "title": "Number Labeler",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number",
-              "permalink": "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number",
-                "title": "Number Labeler",
-                "sidebar_label": "Number Labeler",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number"
-              }
-            },
-            {
-              "unversionedId": "pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state",
-              "id": "version-0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state",
-              "title": "String To State",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state",
-              "permalink": "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state",
-                "title": "String To State",
-                "sidebar_label": "String To State",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state"
-              }
-            },
-            {
-              "unversionedId": "pe/version-0.68.0-org.apache.streampipes.sinks.brokers.jvm.nats",
-              "id": "version-0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.sinks.brokers.jvm.nats",
-              "title": "NATS Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/version-0.68.0-org.apache.streampipes.sinks.brokers.jvm.nats",
-              "permalink": "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.sinks.brokers.jvm.nats",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.68.0-org.apache.streampipes.sinks.brokers.jvm.nats",
-                "title": "NATS Publisher",
-                "sidebar_label": "NATS Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.nats"
-              }
-            },
-            {
-              "unversionedId": "pe/version-0.68.0-org.apache.streampipes.sinks.databases.jvm.mysql",
-              "id": "version-0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.sinks.databases.jvm.mysql",
-              "title": "MySQL Database",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/version-0.68.0-org.apache.streampipes.sinks.databases.jvm.mysql",
-              "permalink": "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.sinks.databases.jvm.mysql",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.68.0-org.apache.streampipes.sinks.databases.jvm.mysql",
-                "title": "MySQL Database",
-                "sidebar_label": "MySQL Database",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.mysql"
-              }
-            },
-            {
-              "unversionedId": "pe/version-0.68.0-org.apache.streampipes.sinks.notifications.jvm.telegram",
-              "id": "version-0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.sinks.notifications.jvm.telegram",
-              "title": "Telegram Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/version-0.68.0-org.apache.streampipes.sinks.notifications.jvm.telegram",
-              "permalink": "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.sinks.notifications.jvm.telegram",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.68.0-org.apache.streampipes.sinks.notifications.jvm.telegram",
-                "title": "Telegram Publisher",
-                "sidebar_label": "Telegram Publisher",
-                "original_id": "org.apache.streampipes.sinks.notifications.jvm.telegram"
-              }
-            },
-            {
-              "unversionedId": "user-guide-first-steps",
-              "id": "version-0.65.0-pre-asf/user-guide-first-steps",
-              "title": "First steps",
-              "description": "In this section, you'll learn how to create and run pipelines in StreamPipes.",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/user-guide-first-steps.md",
-              "sourceDirName": ".",
-              "slug": "/user-guide-first-steps",
-              "permalink": "/docs/0.65.0-pre-asf/user-guide-first-steps",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "user-guide-first-steps",
-                "title": "First steps",
-                "sidebar_label": "First steps",
-                "original_id": "user-guide-first-steps"
-              }
-            },
-            {
-              "unversionedId": "user-guide-installation",
-              "id": "version-0.65.0-pre-asf/user-guide-installation",
-              "title": "Installation",
-              "description": "Prerequisites",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/user-guide-installation.md",
-              "sourceDirName": ".",
-              "slug": "/user-guide-installation",
-              "permalink": "/docs/0.65.0-pre-asf/user-guide-installation",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "user-guide-installation",
-                "title": "Installation",
-                "sidebar_label": "Installation",
-                "original_id": "user-guide-installation"
-              }
-            },
-            {
-              "unversionedId": "user-guide-tour",
-              "id": "version-0.65.0-pre-asf/user-guide-tour",
-              "title": "Tour",
-              "description": "StreamPipes is a framework that enables domain experts to model and execute stream processing pipelines in a big data infrastructure.",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/user-guide-tour.md",
-              "sourceDirName": ".",
-              "slug": "/user-guide-tour",
-              "permalink": "/docs/0.65.0-pre-asf/user-guide-tour",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "user-guide-tour",
-                "title": "Tour",
-                "sidebar_label": "Tour",
-                "original_id": "user-guide-tour"
-              }
-            },
-            {
-              "unversionedId": "version-0.67.0-community-contribute",
-              "id": "version-0.65.0-pre-asf/version-0.67.0-community-contribute",
-              "title": "Contribute",
-              "description": "Contribute",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/09_contribute.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.67.0-community-contribute",
-              "permalink": "/docs/0.65.0-pre-asf/version-0.67.0-community-contribute",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 9,
-              "frontMatter": {
-                "id": "version-0.67.0-community-contribute",
-                "title": "Contribute",
-                "sidebar_label": "Contribute",
-                "original_id": "community-contribute"
-              }
-            },
-            {
-              "unversionedId": "version-0.67.0-concepts-adapter",
-              "id": "version-0.65.0-pre-asf/version-0.67.0-concepts-adapter",
-              "title": "Data Adapters",
-              "description": "tbd",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/02_concepts-adapter.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.67.0-concepts-adapter",
-              "permalink": "/docs/0.65.0-pre-asf/version-0.67.0-concepts-adapter",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 2,
-              "frontMatter": {
-                "id": "version-0.67.0-concepts-adapter",
-                "title": "Data Adapters",
-                "sidebar_label": "Data Adapters",
-                "original_id": "concepts-adapter"
-              }
-            },
-            {
-              "unversionedId": "version-0.67.0-concepts-data-streams",
-              "id": "version-0.65.0-pre-asf/version-0.67.0-concepts-data-streams",
-              "title": "Data Streams",
-              "description": "tbd",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/02_concepts-data-streams.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.67.0-concepts-data-streams",
-              "permalink": "/docs/0.65.0-pre-asf/version-0.67.0-concepts-data-streams",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 2,
-              "frontMatter": {
-                "id": "version-0.67.0-concepts-data-streams",
-                "title": "Data Streams",
-                "sidebar_label": "Data Streams",
-                "original_id": "concepts-data-streams"
-              }
-            },
-            {
-              "unversionedId": "version-0.67.0-concepts-glossary",
-              "id": "version-0.65.0-pre-asf/version-0.67.0-concepts-glossary",
-              "title": "Glossary",
-              "description": "tbd",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/02_concepts-glossary.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.67.0-concepts-glossary",
-              "permalink": "/docs/0.65.0-pre-asf/version-0.67.0-concepts-glossary",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 2,
-              "frontMatter": {
-                "id": "version-0.67.0-concepts-glossary",
-                "title": "Glossary",
-                "sidebar_label": "Glossary",
-                "original_id": "concepts-glossary"
-              }
-            },
-            {
-              "unversionedId": "version-0.67.0-concepts-overview",
-              "id": "version-0.65.0-pre-asf/version-0.67.0-concepts-overview",
-              "title": "StreamPipes Concepts",
-              "description": "To understand how StreamPipes works, the knowledge of a few core concepts, illustrated below, will be helpful.",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/02_concepts-overview.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.67.0-concepts-overview",
-              "permalink": "/docs/0.65.0-pre-asf/version-0.67.0-concepts-overview",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 2,
-              "frontMatter": {
-                "id": "version-0.67.0-concepts-overview",
-                "title": "StreamPipes Concepts",
-                "sidebar_label": "Overview",
-                "original_id": "concepts-overview"
-              }
-            },
-            {
-              "unversionedId": "version-0.67.0-concepts-pipelines",
-              "id": "version-0.65.0-pre-asf/version-0.67.0-concepts-pipelines",
-              "title": "Pipelines",
-              "description": "tbd",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/02_concepts-pipeline.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.67.0-concepts-pipelines",
-              "permalink": "/docs/0.65.0-pre-asf/version-0.67.0-concepts-pipelines",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 2,
-              "frontMatter": {
-                "id": "version-0.67.0-concepts-pipelines",
-                "title": "Pipelines",
-                "sidebar_label": "Pipelines",
-                "original_id": "concepts-pipelines"
-              }
-            },
-            {
-              "unversionedId": "version-0.67.0-debugging-debugging",
-              "id": "version-0.65.0-pre-asf/version-0.67.0-debugging-debugging",
-              "title": "Debugging",
-              "description": "tbd",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/08_debugging.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.67.0-debugging-debugging",
-              "permalink": "/docs/0.65.0-pre-asf/version-0.67.0-debugging-debugging",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 8,
-              "frontMatter": {
-                "id": "version-0.67.0-debugging-debugging",
-                "title": "Debugging",
-                "sidebar_label": "Debugging",
-                "original_id": "debugging-debugging"
-              }
-            },
-            {
-              "unversionedId": "version-0.67.0-debugging-monitoring",
-              "id": "version-0.65.0-pre-asf/version-0.67.0-debugging-monitoring",
-              "title": "Monitoring",
-              "description": "tbd",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/08_monitoring.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.67.0-debugging-monitoring",
-              "permalink": "/docs/0.65.0-pre-asf/version-0.67.0-debugging-monitoring",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 8,
-              "frontMatter": {
-                "id": "version-0.67.0-debugging-monitoring",
-                "title": "Monitoring",
-                "sidebar_label": "Monitoring",
-                "original_id": "debugging-monitoring"
-              }
-            },
-            {
-              "unversionedId": "version-0.67.0-deploy-docker",
-              "id": "version-0.65.0-pre-asf/version-0.67.0-deploy-docker",
-              "title": "Docker Deployment",
-              "description": "StreamPipes Compose is a simple collection of user-friendly docker-compose files that easily lets gain first-hand experience with Apache StreamPipes.",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/05_deploy-docker.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.67.0-deploy-docker",
-              "permalink": "/docs/0.65.0-pre-asf/version-0.67.0-deploy-docker",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 5,
-              "frontMatter": {
-                "id": "version-0.67.0-deploy-docker",
-                "title": "Docker Deployment",
-                "sidebar_label": "Docker Deployment",
-                "original_id": "deploy-docker"
-              }
-            },
-            {
-              "unversionedId": "version-0.67.0-deploy-kubernetes",
-              "id": "version-0.65.0-pre-asf/version-0.67.0-deploy-kubernetes",
-              "title": "Kubernetes Deployment",
-              "description": "Prerequisites",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/05_deploy-kubernetes.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.67.0-deploy-kubernetes",
-              "permalink": "/docs/0.65.0-pre-asf/version-0.67.0-deploy-kubernetes",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 5,
-              "frontMatter": {
-                "id": "version-0.67.0-deploy-kubernetes",
-                "title": "Kubernetes Deployment",
-                "sidebar_label": "Kubernetes Deployment",
-                "original_id": "deploy-kubernetes"
-              }
-            },
-            {
-              "unversionedId": "version-0.67.0-deploy-use-ssl",
-              "id": "version-0.65.0-pre-asf/version-0.67.0-deploy-use-ssl",
-              "title": "Use SSL",
-              "description": "This page explains how SSL Certificates can be used to provide transport layer security between your Browser and the Streampipes Backend.",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/05_deploy-use-ssl.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.67.0-deploy-use-ssl",
-              "permalink": "/docs/0.65.0-pre-asf/version-0.67.0-deploy-use-ssl",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 5,
-              "frontMatter": {
-                "id": "version-0.67.0-deploy-use-ssl",
-                "title": "Use SSL",
-                "sidebar_label": "Use SSL",
-                "original_id": "deploy-use-ssl"
-              }
-            },
-            {
-              "unversionedId": "version-0.67.0-extend-archetypes",
-              "id": "version-0.65.0-pre-asf/version-0.67.0-extend-archetypes",
-              "title": "Maven Archetypes",
-              "description": "In this tutorial we explain how you can use the Maven archetypes to develop your own StreamPipes processors and sinks.",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/06_extend-archetypes.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.67.0-extend-archetypes",
-              "permalink": "/docs/0.65.0-pre-asf/version-0.67.0-extend-archetypes",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "version-0.67.0-extend-archetypes",
-                "title": "Maven Archetypes",
-                "sidebar_label": "Maven Archetypes",
-                "original_id": "extend-archetypes"
-              }
-            },
-            {
-              "unversionedId": "version-0.67.0-extend-cli",
-              "id": "version-0.65.0-pre-asf/version-0.67.0-extend-cli",
-              "title": "StreamPipes CLI",
-              "description": "The StreamPipes command-line interface (CLI) is focused on developers in order to provide an easy entrypoint to set up a suitable dev environment, either planning on developing",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/06_extend-cli.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.67.0-extend-cli",
-              "permalink": "/docs/0.65.0-pre-asf/version-0.67.0-extend-cli",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "version-0.67.0-extend-cli",
-                "title": "StreamPipes CLI",
-                "sidebar_label": "StreamPipes CLI",
-                "original_id": "extend-cli"
-              }
-            },
-            {
-              "unversionedId": "version-0.67.0-extend-sdk-output-strategies",
-              "id": "version-0.65.0-pre-asf/version-0.67.0-extend-sdk-output-strategies",
-              "title": "SDK Guide: Output Strategies",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/06_extend-sdk-output-strategies.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.67.0-extend-sdk-output-strategies",
-              "permalink": "/docs/0.65.0-pre-asf/version-0.67.0-extend-sdk-output-strategies",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "version-0.67.0-extend-sdk-output-strategies",
-                "title": "SDK Guide: Output Strategies",
-                "sidebar_label": "SDK: Output Strategies",
-                "original_id": "extend-sdk-output-strategies"
-              }
-            },
-            {
-              "unversionedId": "version-0.67.0-extend-sdk-static-properties",
-              "id": "version-0.65.0-pre-asf/version-0.67.0-extend-sdk-static-properties",
-              "title": "SDK Guide: Static Properties",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/06_extend-sdk-static-properties.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.67.0-extend-sdk-static-properties",
-              "permalink": "/docs/0.65.0-pre-asf/version-0.67.0-extend-sdk-static-properties",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 6,
-              "frontMatter": {
-                "id": "version-0.67.0-extend-sdk-static-properties",
-                "title": "SDK Guide: Static Properties",
-                "sidebar_label": "SDK: Static Properties",
-                "original_id": "extend-sdk-static-properties"
-              }
-            },
-            {
-              "unversionedId": "version-0.67.0-technicals-architecture",
-              "id": "version-0.65.0-pre-asf/version-0.67.0-technicals-architecture",
-              "title": "Architecture",
-              "description": "The following picture illustrates the high-level architecture of StreamPipes:",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/07_technicals-architecture.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.67.0-technicals-architecture",
-              "permalink": "/docs/0.65.0-pre-asf/version-0.67.0-technicals-architecture",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 7,
-              "frontMatter": {
-                "id": "version-0.67.0-technicals-architecture",
-                "title": "Architecture",
-                "sidebar_label": "Architecture",
-                "original_id": "technicals-architecture"
-              }
-            },
-            {
-              "unversionedId": "version-0.67.0-technicals-configuration",
-              "id": "version-0.65.0-pre-asf/version-0.67.0-technicals-configuration",
-              "title": "Configuration",
-              "description": "On this page we explain how the StreamPipes configuration works.",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/07_technicals-configuration.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.67.0-technicals-configuration",
-              "permalink": "/docs/0.65.0-pre-asf/version-0.67.0-technicals-configuration",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 7,
-              "frontMatter": {
-                "id": "version-0.67.0-technicals-configuration",
-                "title": "Configuration",
-                "sidebar_label": "Configuration",
-                "original_id": "technicals-configuration"
-              }
-            },
-            {
-              "unversionedId": "version-0.67.0-technicals-messaging",
-              "id": "version-0.65.0-pre-asf/version-0.67.0-technicals-messaging",
-              "title": "Messaging",
-              "description": "tbd",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/07_technicals-messaging.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.67.0-technicals-messaging",
-              "permalink": "/docs/0.65.0-pre-asf/version-0.67.0-technicals-messaging",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 7,
-              "frontMatter": {
-                "id": "version-0.67.0-technicals-messaging",
-                "title": "Messaging",
-                "sidebar_label": "Messaging",
-                "original_id": "technicals-messaging"
-              }
-            },
-            {
-              "unversionedId": "version-0.67.0-technicals-runtime-wrappers",
-              "id": "version-0.65.0-pre-asf/version-0.67.0-technicals-runtime-wrappers",
-              "title": "Runtime Wrappers",
-              "description": "tbd",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/07_technicals-runtime-wrappers.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.67.0-technicals-runtime-wrappers",
-              "permalink": "/docs/0.65.0-pre-asf/version-0.67.0-technicals-runtime-wrappers",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 7,
-              "frontMatter": {
-                "id": "version-0.67.0-technicals-runtime-wrappers",
-                "title": "Runtime Wrappers",
-                "sidebar_label": "Runtime Wrappers",
-                "original_id": "technicals-runtime-wrappers"
-              }
-            },
-            {
-              "unversionedId": "version-0.67.0-technicals-user-guidance",
-              "id": "version-0.65.0-pre-asf/version-0.67.0-technicals-user-guidance",
-              "title": "User Guidance",
-              "description": "tbd",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/07_technicals-user-guidance.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.67.0-technicals-user-guidance",
-              "permalink": "/docs/0.65.0-pre-asf/version-0.67.0-technicals-user-guidance",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 7,
-              "frontMatter": {
-                "id": "version-0.67.0-technicals-user-guidance",
-                "title": "User Guidance",
-                "sidebar_label": "User Guidance",
-                "original_id": "technicals-user-guidance"
-              }
-            },
-            {
-              "unversionedId": "version-0.67.0-try-installation",
-              "id": "version-0.65.0-pre-asf/version-0.67.0-try-installation",
-              "title": "Installation",
-              "description": "The easiest way to install StreamPipes is our Docker-based installation. For production-grade deployments, we also",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/01_try-installation.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.67.0-try-installation",
-              "permalink": "/docs/0.65.0-pre-asf/version-0.67.0-try-installation",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 1,
-              "frontMatter": {
-                "id": "version-0.67.0-try-installation",
-                "title": "Installation",
-                "sidebar_label": "Installation",
-                "original_id": "try-installation"
-              }
-            },
-            {
-              "unversionedId": "version-0.67.0-try-tutorial",
-              "id": "version-0.65.0-pre-asf/version-0.67.0-try-tutorial",
-              "title": "Interactive Tutorial",
-              "description": "Once you've installed StreamPipes and see the home screen, you'll see a number of modules that are part of the StreamPipes toolbox.",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/01_try-tutorial.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.67.0-try-tutorial",
-              "permalink": "/docs/0.65.0-pre-asf/version-0.67.0-try-tutorial",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 1,
-              "frontMatter": {
-                "id": "version-0.67.0-try-tutorial",
-                "title": "Interactive Tutorial",
-                "sidebar_label": "Interactive Tutorial",
-                "original_id": "try-tutorial"
-              }
-            },
-            {
-              "unversionedId": "version-0.67.0-use-configurations",
-              "id": "version-0.65.0-pre-asf/version-0.67.0-use-configurations",
-              "title": "Configurations",
-              "description": "tbd",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/03_use-configurations.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.67.0-use-configurations",
-              "permalink": "/docs/0.65.0-pre-asf/version-0.67.0-use-configurations",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 3,
-              "frontMatter": {
-                "id": "version-0.67.0-use-configurations",
-                "title": "Configurations",
-                "sidebar_label": "Configurations",
-                "original_id": "use-configurations"
-              }
-            },
-            {
-              "unversionedId": "version-0.67.0-use-connect",
-              "id": "version-0.65.0-pre-asf/version-0.67.0-use-connect",
-              "title": "StreamPipes Connect",
-              "description": "StreamPipes Connect is the module to connect external data sources with Apache StreamPipes directly from the user interface.",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/03_use-connect.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.67.0-use-connect",
-              "permalink": "/docs/0.65.0-pre-asf/version-0.67.0-use-connect",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 3,
-              "frontMatter": {
-                "id": "version-0.67.0-use-connect",
-                "title": "StreamPipes Connect",
-                "sidebar_label": "StreamPipes Connect",
-                "original_id": "use-connect"
-              }
-            },
-            {
-              "unversionedId": "version-0.67.0-use-dashboard",
-              "id": "version-0.65.0-pre-asf/version-0.67.0-use-dashboard",
-              "title": "Live Dashboard",
-              "description": "The live dashboard can be used to visualize live data of data streams using a set of visualizations",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/03_use-dashboard.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.67.0-use-dashboard",
-              "permalink": "/docs/0.65.0-pre-asf/version-0.67.0-use-dashboard",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 3,
-              "frontMatter": {
-                "id": "version-0.67.0-use-dashboard",
-                "title": "Live Dashboard",
-                "sidebar_label": "Live Dashboard",
-                "original_id": "use-dashboard"
-              }
-            },
-            {
-              "unversionedId": "version-0.67.0-use-data-explorer",
-              "id": "version-0.65.0-pre-asf/version-0.67.0-use-data-explorer",
-              "title": "Data Explorer",
-              "description": "The data explorer can be used to visualize and explore data streams that are persisted by using the Data Lake sink.",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/03_use-data-explorer.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.67.0-use-data-explorer",
-              "permalink": "/docs/0.65.0-pre-asf/version-0.67.0-use-data-explorer",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 3,
-              "frontMatter": {
-                "id": "version-0.67.0-use-data-explorer",
-                "title": "Data Explorer",
-                "sidebar_label": "Data Explorer",
-                "original_id": "use-data-explorer"
-              }
-            },
-            {
-              "unversionedId": "version-0.67.0-use-install-pipeline-elements",
-              "id": "version-0.65.0-pre-asf/version-0.67.0-use-install-pipeline-elements",
-              "title": "Install Pipeline Elements",
-              "description": "Install Pipeline Elements",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/03_use-install-pipeline-elements.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.67.0-use-install-pipeline-elements",
-              "permalink": "/docs/0.65.0-pre-asf/version-0.67.0-use-install-pipeline-elements",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 3,
-              "frontMatter": {
-                "id": "version-0.67.0-use-install-pipeline-elements",
-                "title": "Install Pipeline Elements",
-                "sidebar_label": "Install Pipeline Elements",
-                "original_id": "use-install-pipeline-elements"
-              }
-            },
-            {
-              "unversionedId": "version-0.67.0-use-managing-pipelines",
-              "id": "version-0.65.0-pre-asf/version-0.67.0-use-managing-pipelines",
-              "title": "Managing Pipelines",
-              "description": "The pipeline view lists all created pipelines and provides several views and actions to manage the lifecycle of pipelines.",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/03_use-managing-pipelines.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.67.0-use-managing-pipelines",
-              "permalink": "/docs/0.65.0-pre-asf/version-0.67.0-use-managing-pipelines",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 3,
-              "frontMatter": {
-                "id": "version-0.67.0-use-managing-pipelines",
-                "title": "Managing Pipelines",
-                "sidebar_label": "Managing Pipelines",
-                "original_id": "use-managing-pipelines"
-              }
-            },
-            {
-              "unversionedId": "version-0.67.0-use-notifications",
-              "id": "version-0.65.0-pre-asf/version-0.67.0-use-notifications",
-              "title": "Notifications",
-              "description": "The notification module can be used to create internal notifications.",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/03_use-notifications.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.67.0-use-notifications",
-              "permalink": "/docs/0.65.0-pre-asf/version-0.67.0-use-notifications",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 3,
-              "frontMatter": {
-                "id": "version-0.67.0-use-notifications",
-                "title": "Notifications",
-                "sidebar_label": "Notifications",
-                "original_id": "use-notifications"
-              }
-            },
-            {
-              "unversionedId": "version-0.67.0-use-pipeline-editor",
-              "id": "version-0.65.0-pre-asf/version-0.67.0-use-pipeline-editor",
-              "title": "Pipeline Editor",
-              "description": "The pipeline editor module supports building pipelines that transform a data stream using a set of resuable data processors and data sinks.",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/03_use-pipeline-editor.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.67.0-use-pipeline-editor",
-              "permalink": "/docs/0.65.0-pre-asf/version-0.67.0-use-pipeline-editor",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 3,
-              "frontMatter": {
-                "id": "version-0.67.0-use-pipeline-editor",
-                "title": "Pipeline Editor",
-                "sidebar_label": "Pipeline Editor",
-                "original_id": "use-pipeline-editor"
-              }
-            },
-            {
-              "unversionedId": "version-0.67.0-user-guide-introduction",
-              "id": "version-0.65.0-pre-asf/version-0.67.0-user-guide-introduction",
-              "title": "Apache StreamPipes Documentation",
-              "description": "This is the documentation of Apache StreamPipes.",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/01_try-overview.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.67.0-user-guide-introduction",
-              "permalink": "/docs/0.65.0-pre-asf/version-0.67.0-user-guide-introduction",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "sidebarPosition": 1,
-              "frontMatter": {
-                "id": "version-0.67.0-user-guide-introduction",
-                "title": "Apache StreamPipes Documentation",
-                "sidebar_label": "Overview",
-                "original_id": "user-guide-introduction"
-              }
-            },
-            {
-              "unversionedId": "version-0.67.0-user-guide-introduction-old",
-              "id": "version-0.65.0-pre-asf/version-0.67.0-user-guide-introduction-old",
-              "title": "Introduction",
-              "description": "StreamPipes is a framework that enables users to work with data streams.",
-              "source": "@site/versioned_docs/version-0.65.0-pre-asf/user-guide-introduction.md",
-              "sourceDirName": ".",
-              "slug": "/version-0.67.0-user-guide-introduction-old",
-              "permalink": "/docs/0.65.0-pre-asf/version-0.67.0-user-guide-introduction-old",
-              "draft": false,
-              "tags": [],
-              "version": "0.65.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.67.0-user-guide-introduction-old",
-                "title": "Introduction",
-                "sidebar_label": "Introduction",
-                "original_id": "user-guide-introduction-old"
-              }
-            }
-          ],
-          "drafts": [],
-          "sidebars": {}
-        },
-        {
-          "versionName": "0.64.0-pre-asf",
-          "label": "0.64.0-pre-asf",
-          "banner": "unmaintained",
-          "badge": true,
-          "noIndex": false,
-          "className": "docs-version-0.64.0-pre-asf",
-          "path": "/docs/0.64.0-pre-asf",
-          "tagsPath": "/docs/0.64.0-pre-asf/tags",
-          "isLast": false,
-          "sidebarFilePath": "C:\\git\\apache\\incubator-streampipes-website\\website-v2\\versioned_sidebars\\version-0.64.0-pre-asf-sidebars.json",
-          "contentPath": "C:\\git\\apache\\incubator-streampipes-website\\website-v2\\versioned_docs\\version-0.64.0-pre-asf",
-          "contentPathLocalized": "C:\\git\\apache\\incubator-streampipes-website\\website-v2\\i18n\\en\\docusaurus-plugin-content-docs\\version-0.64.0-pre-asf",
-          "docs": [
-            {
-              "unversionedId": "dev-guide-archetype",
-              "id": "version-0.64.0-pre-asf/dev-guide-archetype",
-              "title": "Start Developing",
-              "description": "In this tutorial we explain how you can use the Maven archetypes to develop your own StreamPipes processors and sinks.",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-archetype.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-archetype",
-              "permalink": "/docs/0.64.0-pre-asf/dev-guide-archetype",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-archetype",
-                "title": "Start Developing",
-                "sidebar_label": "Start Developing",
-                "original_id": "dev-guide-archetype"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-configuration",
-              "id": "version-0.64.0-pre-asf/dev-guide-configuration",
-              "title": "Configuration",
-              "description": "On this page we explain how the StreamPipes configuration works.",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-configuration.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-configuration",
-              "permalink": "/docs/0.64.0-pre-asf/dev-guide-configuration",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-configuration",
-                "title": "Configuration",
-                "sidebar_label": "Configuration",
-                "original_id": "dev-guide-configuration"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-development-environment",
-              "id": "version-0.64.0-pre-asf/dev-guide-development-environment",
-              "title": "Development Environment",
-              "description": "In this section, we describe our recommended minimum setup for locally setting up a development instance of StreamPipes needed to develop, run and test new pipeline elements.",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-environment.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-development-environment",
-              "permalink": "/docs/0.64.0-pre-asf/dev-guide-development-environment",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-development-environment",
-                "title": "Development Environment",
-                "sidebar_label": "Development Environment",
-                "original_id": "dev-guide-development-environment"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-output-strategies",
-              "id": "version-0.64.0-pre-asf/dev-guide-output-strategies",
-              "title": "SDK Guide: Output Strategies",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-output-strategies.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-output-strategies",
-              "permalink": "/docs/0.64.0-pre-asf/dev-guide-output-strategies",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-output-strategies",
-                "title": "SDK Guide: Output Strategies",
-                "sidebar_label": "Output Strategies",
-                "original_id": "dev-guide-output-strategies"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-static-properties",
-              "id": "version-0.64.0-pre-asf/dev-guide-static-properties",
-              "title": "SDK Guide: Static Properties",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-static-properties.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-static-properties",
-              "permalink": "/docs/0.64.0-pre-asf/dev-guide-static-properties",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-static-properties",
-                "title": "SDK Guide: Static Properties",
-                "sidebar_label": "Static Properties",
-                "original_id": "dev-guide-static-properties"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-stream-requirements",
-              "id": "version-0.64.0-pre-asf/dev-guide-stream-requirements",
-              "title": "SDK Guide: Stream Requirements",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-stream-requirements.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-stream-requirements",
-              "permalink": "/docs/0.64.0-pre-asf/dev-guide-stream-requirements",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-stream-requirements",
-                "title": "SDK Guide: Stream Requirements",
-                "sidebar_label": "Stream Requirements",
-                "original_id": "dev-guide-stream-requirements"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-tutorial-processors",
-              "id": "version-0.64.0-pre-asf/dev-guide-tutorial-processors",
-              "title": "Tutorial: Data Processors",
-              "description": "In this tutorial, we will add a new data processor using the Apache Flink wrapper.",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-tutorial-processors.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-tutorial-processors",
-              "permalink": "/docs/0.64.0-pre-asf/dev-guide-tutorial-processors",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-tutorial-processors",
-                "title": "Tutorial: Data Processors",
-                "sidebar_label": "Tutorial: Data Processors",
-                "original_id": "dev-guide-tutorial-processors"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-tutorial-sinks",
-              "id": "version-0.64.0-pre-asf/dev-guide-tutorial-sinks",
-              "title": "Tutorial: Data Sinks",
-              "description": "In this tutorial, we will add a new data sink using the standalone wrapper.",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-tutorial-sinks.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-tutorial-sinks",
-              "permalink": "/docs/0.64.0-pre-asf/dev-guide-tutorial-sinks",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-tutorial-sinks",
-                "title": "Tutorial: Data Sinks",
-                "sidebar_label": "Tutorial: Data Sinks",
-                "original_id": "dev-guide-tutorial-sinks"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-tutorial-sources",
-              "id": "version-0.64.0-pre-asf/dev-guide-tutorial-sources",
-              "title": "Tutorial: Data Sources",
-              "description": "In this tutorial, we will add a new data source consisting of a single data stream. The source will be provided as a standalone component (i.e., the description will be accessible through an integrated web server).",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-tutorial-sources.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-tutorial-sources",
-              "permalink": "/docs/0.64.0-pre-asf/dev-guide-tutorial-sources",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-tutorial-sources",
-                "title": "Tutorial: Data Sources",
-                "sidebar_label": "Tutorial: Data Sources",
-                "original_id": "dev-guide-tutorial-sources"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processor.geo.flink/org.apache.streampipes.processor.geo.flink",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processor.geo.flink/org.apache.streampipes.processor.geo.flink",
-              "title": "Spatial Grid Enrichment",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.geo.flink/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processor.geo.flink",
-              "slug": "/org.apache.streampipes.processor.geo.flink/org.apache.streampipes.processor.geo.flink",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processor.geo.flink/org.apache.streampipes.processor.geo.flink",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.flink",
-                "title": "Spatial Grid Enrichment",
-                "sidebar_label": "Spatial Grid Enrichment",
-                "original_id": "org.apache.streampipes.processor.geo.flink"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processor.geo.jvm.geocoding/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "title": "Google Maps Geocoder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processor.geo.jvm.geocoding",
-              "slug": "/org.apache.streampipes.processor.geo.jvm.geocoding/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.jvm.geocoding",
-                "title": "Google Maps Geocoder",
-                "sidebar_label": "Google Maps Geocoder",
-                "original_id": "org.apache.streampipes.processor.geo.jvm.geocoding"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processor.geo.jvm.reversegeocoding/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "title": "Reverse Geocoder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "slug": "/org.apache.streampipes.processor.geo.jvm.reversegeocoding/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-                "title": "Reverse Geocoder",
-                "sidebar_label": "Reverse Geocoder",
-                "original_id": "org.apache.streampipes.processor.geo.jvm.reversegeocoding"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processor.geo.jvm.staticgeocoding/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "title": "Static Google Maps Geocoder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "slug": "/org.apache.streampipes.processor.geo.jvm.staticgeocoding/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-                "title": "Static Google Maps Geocoder",
-                "sidebar_label": "Static Google Maps Geocoder",
-                "original_id": "org.apache.streampipes.processor.geo.jvm.staticgeocoding"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "title": "Generic Image Classification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "slug": "/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-                "title": "Generic Image Classification",
-                "sidebar_label": "Generic Image Classification",
-                "original_id": "org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processor.imageclassification.jvm.image-enricher/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "title": "Image Enricher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "slug": "/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-                "title": "Image Enricher",
-                "sidebar_label": "Image Enricher",
-                "original_id": "org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processor.imageclassification.qrcode/org.apache.streampipes.processor.imageclassification.qrcode",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/org.apache.streampipes.processor.imageclassification.qrcode",
-              "title": "QR Code Reader",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processor.imageclassification.qrcode",
-              "slug": "/org.apache.streampipes.processor.imageclassification.qrcode/org.apache.streampipes.processor.imageclassification.qrcode",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/org.apache.streampipes.processor.imageclassification.qrcode",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.imageclassification.qrcode",
-                "title": "QR Code Reader",
-                "sidebar_label": "QR Code Reader",
-                "original_id": "org.apache.streampipes.processor.imageclassification.qrcode"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.aggregation.flink.aggregation/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "title": "Aggregation",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "slug": "/org.apache.streampipes.processors.aggregation.flink.aggregation/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.aggregation",
-                "title": "Aggregation",
-                "sidebar_label": "Aggregation",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.aggregation"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.aggregation.flink.eventcount/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "title": "Event Counter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "slug": "/org.apache.streampipes.processors.aggregation.flink.eventcount/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.eventcount",
-                "title": "Event Counter",
-                "sidebar_label": "Event Counter",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.eventcount"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.aggregation.flink.rate/org.apache.streampipes.processors.aggregation.flink.rate",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/org.apache.streampipes.processors.aggregation.flink.rate",
-              "title": "Event Rate",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.aggregation.flink.rate",
-              "slug": "/org.apache.streampipes.processors.aggregation.flink.rate/org.apache.streampipes.processors.aggregation.flink.rate",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/org.apache.streampipes.processors.aggregation.flink.rate",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.rate",
-                "title": "Event Rate",
-                "sidebar_label": "Event Rate",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.rate"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.enricher.flink.processor.math.mathop/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "title": "Math",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "slug": "/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-                "title": "Math",
-                "sidebar_label": "Math",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.math.mathop"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "title": "Static Math",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "slug": "/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-                "title": "Static Math",
-                "sidebar_label": "Static Math",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.enricher.flink.processor.trigonometry/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "title": "Trigonometry Functions",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "slug": "/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-                "title": "Trigonometry Functions",
-                "sidebar_label": "Trigonometry Functions",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.trigonometry"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "title": "URL Dereferencing",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "slug": "/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-                "title": "URL Dereferencing",
-                "sidebar_label": "URL Dereferencing",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.urldereferencing"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.enricher.flink.timestamp/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "title": "Timestamp Enricher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.enricher.flink.timestamp",
-              "slug": "/org.apache.streampipes.processors.enricher.flink.timestamp/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.timestamp",
-                "title": "Timestamp Enricher",
-                "sidebar_label": "Timestamp Enricher",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.timestamp"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.enricher.jvm.sizemeasure/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "title": "Size Measure",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "slug": "/org.apache.streampipes.processors.enricher.jvm.sizemeasure/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-                "title": "Size Measure",
-                "sidebar_label": "Size Measure",
-                "original_id": "org.apache.streampipes.processors.enricher.jvm.sizemeasure"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.filters.jvm.compose/org.apache.streampipes.processors.filters.jvm.compose",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/org.apache.streampipes.processors.filters.jvm.compose",
-              "title": "Compose",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.filters.jvm.compose",
-              "slug": "/org.apache.streampipes.processors.filters.jvm.compose/org.apache.streampipes.processors.filters.jvm.compose",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/org.apache.streampipes.processors.filters.jvm.compose",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.compose",
-                "title": "Compose",
-                "sidebar_label": "Compose",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.compose"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.filters.jvm.enrich/org.apache.streampipes.processors.filters.jvm.enrich",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/org.apache.streampipes.processors.filters.jvm.enrich",
-              "title": "Merge By Enrich",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.filters.jvm.enrich",
-              "slug": "/org.apache.streampipes.processors.filters.jvm.enrich/org.apache.streampipes.processors.filters.jvm.enrich",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/org.apache.streampipes.processors.filters.jvm.enrich",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.enrich",
-                "title": "Merge By Enrich",
-                "sidebar_label": "Merge By Enrich",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.enrich"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.filters.jvm.merge/org.apache.streampipes.processors.filters.jvm.merge",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/org.apache.streampipes.processors.filters.jvm.merge",
-              "title": "Merge By Time",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.filters.jvm.merge",
-              "slug": "/org.apache.streampipes.processors.filters.jvm.merge/org.apache.streampipes.processors.filters.jvm.merge",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/org.apache.streampipes.processors.filters.jvm.merge",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.merge",
-                "title": "Merge By Time",
-                "sidebar_label": "Merge By Time",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.merge"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.filters.jvm.numericalfilter/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "title": "Numerical Filter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "slug": "/org.apache.streampipes.processors.filters.jvm.numericalfilter/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.numericalfilter",
-                "title": "Numerical Filter",
-                "sidebar_label": "Numerical Filter",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.numericalfilter"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.filters.jvm.numericaltextfilter/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "title": "Numerical Text Filter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "slug": "/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-                "title": "Numerical Text Filter",
-                "sidebar_label": "Numerical Text Filter",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.numericaltextfilter"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.filters.jvm.project/org.apache.streampipes.processors.filters.jvm.project",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/org.apache.streampipes.processors.filters.jvm.project",
-              "title": "Projection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.filters.jvm.project",
-              "slug": "/org.apache.streampipes.processors.filters.jvm.project/org.apache.streampipes.processors.filters.jvm.project",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/org.apache.streampipes.processors.filters.jvm.project",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.project",
-                "title": "Projection",
-                "sidebar_label": "Projection",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.project"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.filters.jvm.textfilter/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "title": "Text Filter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.filters.jvm.textfilter",
-              "slug": "/org.apache.streampipes.processors.filters.jvm.textfilter/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.textfilter",
-                "title": "Text Filter",
-                "sidebar_label": "Text Filter",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.textfilter"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.filters.jvm.threshold/org.apache.streampipes.processors.filters.jvm.threshold",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/org.apache.streampipes.processors.filters.jvm.threshold",
-              "title": "Threshold Detector",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.filters.jvm.threshold",
-              "slug": "/org.apache.streampipes.processors.filters.jvm.threshold/org.apache.streampipes.processors.filters.jvm.threshold",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/org.apache.streampipes.processors.filters.jvm.threshold",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.threshold",
-                "title": "Threshold Detector",
-                "sidebar_label": "Threshold Detector",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.threshold"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "title": "Distance Calculator",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "slug": "/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-                "title": "Distance Calculator",
-                "sidebar_label": "Distance Calculator",
-                "original_id": "org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.pattern-detection.flink.peak-detection/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "title": "Peak Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "slug": "/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-                "title": "Peak Detection",
-                "sidebar_label": "Peak Detection",
-                "original_id": "org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.siddhi.frequency/org.apache.streampipes.processors.siddhi.frequency",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/org.apache.streampipes.processors.siddhi.frequency",
-              "title": "Frequency Calculation",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.siddhi.frequency",
-              "slug": "/org.apache.streampipes.processors.siddhi.frequency/org.apache.streampipes.processors.siddhi.frequency",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/org.apache.streampipes.processors.siddhi.frequency",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.frequency",
-                "title": "Frequency Calculation",
-                "sidebar_label": "Frequency Calculation",
-                "original_id": "org.apache.streampipes.processors.siddhi.frequency"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.siddhi.frequencychange/org.apache.streampipes.processors.siddhi.frequencychange",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/org.apache.streampipes.processors.siddhi.frequencychange",
-              "title": "Frequency Change",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.siddhi.frequencychange",
-              "slug": "/org.apache.streampipes.processors.siddhi.frequencychange/org.apache.streampipes.processors.siddhi.frequencychange",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/org.apache.streampipes.processors.siddhi.frequencychange",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.frequencychange",
-                "title": "Frequency Change",
-                "sidebar_label": "Frequency Change",
-                "original_id": "org.apache.streampipes.processors.siddhi.frequencychange"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.siddhi.increase/org.apache.streampipes.processors.siddhi.increase",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/org.apache.streampipes.processors.siddhi.increase",
-              "title": "Trend",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.siddhi.increase",
-              "slug": "/org.apache.streampipes.processors.siddhi.increase/org.apache.streampipes.processors.siddhi.increase",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/org.apache.streampipes.processors.siddhi.increase",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.increase",
-                "title": "Trend",
-                "sidebar_label": "Trend",
-                "original_id": "org.apache.streampipes.processors.siddhi.increase"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.siddhi.numericalfilter/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "title": "Numerical Filter (Siddhi)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.siddhi.numericalfilter",
-              "slug": "/org.apache.streampipes.processors.siddhi.numericalfilter/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.numericalfilter",
-                "title": "Numerical Filter (Siddhi)",
-                "sidebar_label": "Numerical Filter (Siddhi)",
-                "original_id": "org.apache.streampipes.processors.siddhi.numericalfilter"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.siddhi.sequence/org.apache.streampipes.processors.siddhi.sequence",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/org.apache.streampipes.processors.siddhi.sequence",
-              "title": "Sequence Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.siddhi.sequence",
-              "slug": "/org.apache.streampipes.processors.siddhi.sequence/org.apache.streampipes.processors.siddhi.sequence",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/org.apache.streampipes.processors.siddhi.sequence",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.sequence",
-                "title": "Sequence Detection",
-                "sidebar_label": "Sequence Detection",
-                "original_id": "org.apache.streampipes.processors.siddhi.sequence"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.siddhi.stop/org.apache.streampipes.processors.siddhi.stop",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/org.apache.streampipes.processors.siddhi.stop",
-              "title": "Stream Stop Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.siddhi.stop",
-              "slug": "/org.apache.streampipes.processors.siddhi.stop/org.apache.streampipes.processors.siddhi.stop",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/org.apache.streampipes.processors.siddhi.stop",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.stop",
-                "title": "Stream Stop Detection",
-                "sidebar_label": "Stream Stop Detection",
-                "original_id": "org.apache.streampipes.processors.siddhi.stop"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.textmining.flink.languagedetection/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "title": "Language Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "slug": "/org.apache.streampipes.processors.textmining.flink.languagedetection/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.flink.languagedetection",
-                "title": "Language Detection",
-                "sidebar_label": "Language Detection",
-                "original_id": "org.apache.streampipes.processors.textmining.flink.languagedetection"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.textmining.flink.wordcount/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "title": "Word Count",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.textmining.flink.wordcount",
-              "slug": "/org.apache.streampipes.processors.textmining.flink.wordcount/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.flink.wordcount",
-                "title": "Word Count",
-                "sidebar_label": "Word Count",
-                "original_id": "org.apache.streampipes.processors.textmining.flink.wordcount"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.textmining.jvm.chunker/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "title": "Chunker (English)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.textmining.jvm.chunker",
-              "slug": "/org.apache.streampipes.processors.textmining.jvm.chunker/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.chunker",
-                "title": "Chunker (English)",
-                "sidebar_label": "Chunker (English)",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.chunker"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.textmining.jvm.languagedetection/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "title": "Language Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "slug": "/org.apache.streampipes.processors.textmining.jvm.languagedetection/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.languagedetection",
-                "title": "Language Detection",
-                "sidebar_label": "Language Detection",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.languagedetection"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.textmining.jvm.namefinder/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "title": "Name Finder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "slug": "/org.apache.streampipes.processors.textmining.jvm.namefinder/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.namefinder",
-                "title": "Name Finder",
-                "sidebar_label": "Name Finder",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.namefinder"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.textmining.jvm.partofspeech/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "title": "Part of Speech (English)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "slug": "/org.apache.streampipes.processors.textmining.jvm.partofspeech/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.partofspeech",
-                "title": "Part of Speech (English)",
-                "sidebar_label": "Part of Speech (English)",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.partofspeech"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.textmining.jvm.sentencedetection/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "title": "Sentence Detection (English)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "slug": "/org.apache.streampipes.processors.textmining.jvm.sentencedetection/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-                "title": "Sentence Detection (English)",
-                "sidebar_label": "Sentence Detection (English)",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.sentencedetection"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.textmining.jvm.tokenizer/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "title": "Tokenizer (English)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "slug": "/org.apache.streampipes.processors.textmining.jvm.tokenizer/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.tokenizer",
-                "title": "Tokenizer (English)",
-                "sidebar_label": "Tokenizer (English)",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.tokenizer"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.flink.field-converter/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "title": "Field Converter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.flink.field-converter",
-              "slug": "/org.apache.streampipes.processors.transformation.flink.field-converter/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.field-converter",
-                "title": "Field Converter",
-                "sidebar_label": "Field Converter",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.field-converter"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.flink.field-mapper/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "title": "Field Mapper",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "slug": "/org.apache.streampipes.processors.transformation.flink.field-mapper/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.field-mapper",
-                "title": "Field Mapper",
-                "sidebar_label": "Field Mapper",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.field-mapper"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.flink.field-renamer/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "title": "Field Renamer",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "slug": "/org.apache.streampipes.processors.transformation.flink.field-renamer/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.field-renamer",
-                "title": "Field Renamer",
-                "sidebar_label": "Field Renamer",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.field-renamer"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.flink.fieldhasher/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "title": "Field Hasher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "slug": "/org.apache.streampipes.processors.transformation.flink.fieldhasher/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.fieldhasher",
-                "title": "Field Hasher",
-                "sidebar_label": "Field Hasher",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.fieldhasher"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "title": "Measurement Unit Converter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "slug": "/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-                "title": "Measurement Unit Converter",
-                "sidebar_label": "Measurement Unit Converter",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.flink.processor.boilerplate/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "title": "Boilerplate Removal",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "slug": "/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-                "title": "Boilerplate Removal",
-                "sidebar_label": "Boilerplate Removal",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.processor.boilerplate"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.booloperator.counter/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "title": "Boolean Counter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-                "title": "Boolean Counter",
-                "sidebar_label": "Boolean Counter",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "title": "Boolean Inverter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-                "title": "Boolean Inverter",
-                "sidebar_label": "Boolean Inverter",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.inverter"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "title": "Measure Time Between Two Sensors",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-                "title": "Measure Time Between Two Sensors",
-                "sidebar_label": "Measure Time Between Two Sensors",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.booloperator.timer/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "title": "Boolean Timer",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-                "title": "Boolean Timer",
-                "sidebar_label": "Boolean Timer",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timer"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.changed-value/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "title": "Value Changed",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.changed-value/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.changed-value",
-                "title": "Value Changed",
-                "sidebar_label": "Value Changed",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.changed-value"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.count-array/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "title": "Count Array",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.count-array",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.count-array/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.count-array",
-                "title": "Count Array",
-                "sidebar_label": "Count Array",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.count-array"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.csvmetadata/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "title": "CSV Metadata Enricher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.csvmetadata/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-                "title": "CSV Metadata Enricher",
-                "sidebar_label": "CSV Metadata Enricher",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.csvmetadata"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.duration-value/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "title": "Calculate Duration",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.duration-value/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.duration-value",
-                "title": "Calculate Duration",
-                "sidebar_label": "Calculate Duration",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.duration-value"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "title": "Timestamp Extractor",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-                "title": "Timestamp Extractor",
-                "sidebar_label": "Timestamp Extractor",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.split-array/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "title": "Split Array",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.split-array",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.split-array/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.split-array",
-                "title": "Split Array",
-                "sidebar_label": "Split Array",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.split-array"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.taskduration/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "title": "Task Duration",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.taskduration/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.taskduration",
-                "title": "Task Duration",
-                "sidebar_label": "Task Duration",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.taskduration"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "title": "Transform to boolean",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-                "title": "Transform to boolean",
-                "sidebar_label": "Transform to boolean",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.transform-to-boolean"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.brokers.jvm.bufferrest/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "title": "Buffered REST Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "slug": "/org.apache.streampipes.sinks.brokers.jvm.bufferrest/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-                "title": "Buffered REST Publisher",
-                "sidebar_label": "Buffered REST Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.bufferrest"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.brokers.jvm.jms/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "title": "JMS Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.brokers.jvm.jms",
-              "slug": "/org.apache.streampipes.sinks.brokers.jvm.jms/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.jms",
-                "title": "JMS Publisher",
-                "sidebar_label": "JMS Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.jms"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.brokers.jvm.kafka/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "title": "Kafka Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "slug": "/org.apache.streampipes.sinks.brokers.jvm.kafka/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.kafka",
-                "title": "Kafka Publisher",
-                "sidebar_label": "Kafka Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.kafka"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.brokers.jvm.pulsar/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "title": "Pulsar Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "slug": "/org.apache.streampipes.sinks.brokers.jvm.pulsar/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.pulsar",
-                "title": "Pulsar Publisher",
-                "sidebar_label": "Pulsar Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.pulsar"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.brokers.jvm.rabbitmq/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "title": "RabbitMQ Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "slug": "/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-                "title": "RabbitMQ Publisher",
-                "sidebar_label": "RabbitMQ Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.brokers.jvm.rest/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "title": "REST Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.brokers.jvm.rest",
-              "slug": "/org.apache.streampipes.sinks.brokers.jvm.rest/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.rest",
-                "title": "REST Publisher",
-                "sidebar_label": "REST Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.rest"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.databases.ditto/org.apache.streampipes.sinks.databases.ditto",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/org.apache.streampipes.sinks.databases.ditto",
-              "title": "Eclipse Ditto",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.databases.ditto",
-              "slug": "/org.apache.streampipes.sinks.databases.ditto/org.apache.streampipes.sinks.databases.ditto",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/org.apache.streampipes.sinks.databases.ditto",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.ditto",
-                "title": "Eclipse Ditto",
-                "sidebar_label": "Eclipse Ditto",
-                "original_id": "org.apache.streampipes.sinks.databases.ditto"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.databases.flink.elasticsearch/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "title": "Elasticsearch",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "slug": "/org.apache.streampipes.sinks.databases.flink.elasticsearch/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.flink.elasticsearch",
-                "title": "Elasticsearch",
-                "sidebar_label": "Elasticsearch",
-                "original_id": "org.apache.streampipes.sinks.databases.flink.elasticsearch"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.databases.jvm.couchdb/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "title": "CouchDB",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "slug": "/org.apache.streampipes.sinks.databases.jvm.couchdb/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.couchdb",
-                "title": "CouchDB",
-                "sidebar_label": "CouchDB",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.couchdb"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.databases.jvm.influxdb/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "title": "InfluxDB",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "slug": "/org.apache.streampipes.sinks.databases.jvm.influxdb/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.influxdb",
-                "title": "InfluxDB",
-                "sidebar_label": "InfluxDB",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.influxdb"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.databases.jvm.iotdb/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "title": "IoTDB",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "slug": "/org.apache.streampipes.sinks.databases.jvm.iotdb/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.iotdb",
-                "title": "IoTDB",
-                "sidebar_label": "IoTDB",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.iotdb"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.databases.jvm.opcua/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "title": "OPC-UA",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.databases.jvm.opcua",
-              "slug": "/org.apache.streampipes.sinks.databases.jvm.opcua/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.opcua",
-                "title": "OPC-UA",
-                "sidebar_label": "OPC-UA",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.opcua"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.databases.jvm.postgresql/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "title": "PostgreSQL",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "slug": "/org.apache.streampipes.sinks.databases.jvm.postgresql/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.postgresql",
-                "title": "PostgreSQL",
-                "sidebar_label": "PostgreSQL",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.postgresql"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.internal.jvm.dashboard/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "title": "Dashboard Sink",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "slug": "/org.apache.streampipes.sinks.internal.jvm.dashboard/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.internal.jvm.dashboard",
-                "title": "Dashboard Sink",
-                "sidebar_label": "Dashboard Sink",
-                "original_id": "org.apache.streampipes.sinks.internal.jvm.dashboard"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.internal.jvm.datalake/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "title": "Data Lake",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.internal.jvm.datalake",
-              "slug": "/org.apache.streampipes.sinks.internal.jvm.datalake/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.internal.jvm.datalake",
-                "title": "Data Lake",
-                "sidebar_label": "Data Lake",
-                "original_id": "org.apache.streampipes.sinks.internal.jvm.datalake"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.internal.jvm.notification/org.apache.streampipes.sinks.internal.jvm.notification",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/org.apache.streampipes.sinks.internal.jvm.notification",
-              "title": "Notification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.internal.jvm.notification",
-              "slug": "/org.apache.streampipes.sinks.internal.jvm.notification/org.apache.streampipes.sinks.internal.jvm.notification",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/org.apache.streampipes.sinks.internal.jvm.notification",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.internal.jvm.notification",
-                "title": "Notification",
-                "sidebar_label": "Notification",
-                "original_id": "org.apache.streampipes.sinks.internal.jvm.notification"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.notifications.jvm.email/org.apache.streampipes.sinks.notifications.jvm.email",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/org.apache.streampipes.sinks.notifications.jvm.email",
-              "title": "Email Notification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.notifications.jvm.email",
-              "slug": "/org.apache.streampipes.sinks.notifications.jvm.email/org.apache.streampipes.sinks.notifications.jvm.email",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/org.apache.streampipes.sinks.notifications.jvm.email",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.notifications.jvm.email",
-                "title": "Email Notification",
-                "sidebar_label": "Email Notification",
-                "original_id": "org.apache.streampipes.sinks.notifications.jvm.email"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.notifications.jvm.onesignal/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "title": "OneSignal",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "slug": "/org.apache.streampipes.sinks.notifications.jvm.onesignal/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.notifications.jvm.onesignal",
-                "title": "OneSignal",
-                "sidebar_label": "OneSignal",
-                "original_id": "org.apache.streampipes.sinks.notifications.jvm.onesignal"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.notifications.jvm.slack/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "id": "version-0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "title": "Slack Notification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.notifications.jvm.slack",
-              "slug": "/org.apache.streampipes.sinks.notifications.jvm.slack/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "permalink": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.notifications.jvm.slack",
-                "title": "Slack Notification",
-                "sidebar_label": "Slack Notification",
-                "original_id": "org.apache.streampipes.sinks.notifications.jvm.slack"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.coindesk",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk",
-              "title": "Coindesk Bitcoin Price",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.coindesk",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.coindesk",
-                "title": "Coindesk Bitcoin Price",
-                "sidebar_label": "Coindesk Bitcoin Price",
-                "original_id": "org.apache.streampipes.connect.adapters.coindesk"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.gdelt",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt",
-              "title": "GDELT",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.gdelt",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.gdelt",
-                "title": "GDELT",
-                "sidebar_label": "GDELT",
-                "original_id": "org.apache.streampipes.connect.adapters.gdelt"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.iex.news",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news",
-              "title": "IEX Cloud News",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.iex.news",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.iex.news",
-                "title": "IEX Cloud News",
-                "sidebar_label": "IEX Cloud News",
-                "original_id": "org.apache.streampipes.connect.adapters.iex.news"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.iex.stocks",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks",
-              "title": "IEX Cloud Stock Quotes",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.iex.stocks",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.iex.stocks",
-                "title": "IEX Cloud Stock Quotes",
-                "sidebar_label": "IEX Cloud Stock Quotes",
-                "original_id": "org.apache.streampipes.connect.adapters.iex.stocks"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.image.set",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set",
-              "title": "Image Upload (Set)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.image.set",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.image.set",
-                "title": "Image Upload (Set)",
-                "sidebar_label": "Image Upload (Set)",
-                "original_id": "org.apache.streampipes.connect.adapters.image.set"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.image.stream",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream",
-              "title": "Image Upload (Stream)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.image.stream",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.image.stream",
-                "title": "Image Upload (Stream)",
-                "sidebar_label": "Image Upload (Stream)",
-                "original_id": "org.apache.streampipes.connect.adapters.image.stream"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.influxdb.set",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set",
-              "title": "InfluxDB Set Adapter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.influxdb.set",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.influxdb.set",
-                "title": "InfluxDB Set Adapter",
-                "sidebar_label": "InfluxDB Set Adapter",
-                "original_id": "org.apache.streampipes.connect.adapters.influxdb.set"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.influxdb.stream",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream",
-              "title": "InfluxDB Stream Adapter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.influxdb.stream",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.influxdb.stream",
-                "title": "InfluxDB Stream Adapter",
-                "sidebar_label": "InfluxDB Stream Adapter",
-                "original_id": "org.apache.streampipes.connect.adapters.influxdb.stream"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.iss",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss",
-              "title": "ISS Location",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.iss",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.iss",
-                "title": "ISS Location",
-                "sidebar_label": "ISS Location",
-                "original_id": "org.apache.streampipes.connect.adapters.iss"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.mysql.set",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set",
-              "title": "MySQL Set Adapter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.mysql.set",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.mysql.set",
-                "title": "MySQL Set Adapter",
-                "sidebar_label": "MySQL Set Adapter",
-                "original_id": "org.apache.streampipes.connect.adapters.mysql.set"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.mysql.stream",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream",
-              "title": "MySql Stream Adapter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.mysql.stream",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.mysql.stream",
-                "title": "MySql Stream Adapter",
-                "sidebar_label": "MySql Stream Adapter",
-                "original_id": "org.apache.streampipes.connect.adapters.mysql.stream"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.netio.mqtt",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt",
-              "title": "NETIO MQTT M2M",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.netio.mqtt",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.netio.mqtt",
-                "title": "NETIO MQTT M2M",
-                "sidebar_label": "NETIO MQTT M2M",
-                "original_id": "org.apache.streampipes.connect.adapters.netio.mqtt"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.netio.rest",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest",
-              "title": "NETIO http JSON",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.netio.rest",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.netio.rest",
-                "title": "NETIO http JSON",
-                "sidebar_label": "NETIO http JSON",
-                "original_id": "org.apache.streampipes.connect.adapters.netio.rest"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
-              "title": "NSW Traffic Cameras",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
-                "title": "NSW Traffic Cameras",
-                "sidebar_label": "NSW Traffic Cameras",
-                "original_id": "org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.opcua",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua",
-              "title": "OPC UA",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.opcua",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.opcua",
-                "title": "OPC UA",
-                "sidebar_label": "OPC UA",
-                "original_id": "org.apache.streampipes.connect.adapters.opcua"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.plc4x.s7",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7",
-              "title": "PLC4X S7",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.plc4x.s7",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.plc4x.s7",
-                "title": "PLC4X S7",
-                "sidebar_label": "PLC4X S7",
-                "original_id": "org.apache.streampipes.connect.adapters.plc4x.s7"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.ros",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros",
-              "title": "ROS Bridge",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.ros",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.ros",
-                "title": "ROS Bridge",
-                "sidebar_label": "ROS Bridge",
-                "original_id": "org.apache.streampipes.connect.adapters.ros"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
-              "title": "Random Data Simulator (Set)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.simulator.randomdataset",
-                "title": "Random Data Simulator (Set)",
-                "sidebar_label": "Random Data Simulator (Set)",
-                "original_id": "org.apache.streampipes.connect.adapters.simulator.randomdataset"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
-              "title": "Random Data Simulator (Stream)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.simulator.randomdatastream",
-                "title": "Random Data Simulator (Stream)",
-                "sidebar_label": "Random Data Simulator (Stream)",
-                "original_id": "org.apache.streampipes.connect.adapters.simulator.randomdatastream"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.slack",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack",
-              "title": "Slack",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.slack",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.slack",
-                "title": "Slack",
-                "sidebar_label": "Slack",
-                "original_id": "org.apache.streampipes.connect.adapters.slack"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.ti",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti",
-              "title": "TI Sensor Tag",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.ti",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.ti",
-                "title": "TI Sensor Tag",
-                "sidebar_label": "TI Sensor Tag",
-                "original_id": "org.apache.streampipes.connect.adapters.ti"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
-              "title": "Wikipedia Edits",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.wikipedia.edit",
-                "title": "Wikipedia Edits",
-                "sidebar_label": "Wikipedia Edits",
-                "original_id": "org.apache.streampipes.connect.adapters.wikipedia.edit"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.wikipedia.new",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new",
-              "title": "Wikipedia New Articles",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.wikipedia.new",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.wikipedia.new",
-                "title": "Wikipedia New Articles",
-                "sidebar_label": "Wikipedia New Articles",
-                "original_id": "org.apache.streampipes.connect.adapters.wikipedia.new"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.file",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file",
-              "title": "File Stream",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.protocol.stream.file",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.protocol.stream.file",
-                "title": "File Stream",
-                "sidebar_label": "File Stream",
-                "original_id": "org.apache.streampipes.connect.protocol.stream.file"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.http",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http",
-              "title": "HTTP Stream",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.protocol.stream.http",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.protocol.stream.http",
-                "title": "HTTP Stream",
-                "sidebar_label": "HTTP Stream",
-                "original_id": "org.apache.streampipes.connect.protocol.stream.http"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.kafka",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka",
-              "title": "Apache Kafka",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.protocol.stream.kafka",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.protocol.stream.kafka",
-                "title": "Apache Kafka",
-                "sidebar_label": "Apache Kafka",
-                "original_id": "org.apache.streampipes.connect.protocol.stream.kafka"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.mqtt",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt",
-              "title": "MQTT",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.protocol.stream.mqtt",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.protocol.stream.mqtt",
-                "title": "MQTT",
-                "sidebar_label": "MQTT",
-                "original_id": "org.apache.streampipes.connect.protocol.stream.mqtt"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.pulsar",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar",
-              "title": "Apache Pulsar",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.protocol.stream.pulsar",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.protocol.stream.pulsar",
-                "title": "Apache Pulsar",
-                "sidebar_label": "Apache Pulsar",
-                "original_id": "org.apache.streampipes.connect.protocol.stream.pulsar"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.geo.flink",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink",
-              "title": "Spatial Grid Enrichment",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.geo.flink",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.flink",
-                "title": "Spatial Grid Enrichment",
-                "sidebar_label": "Spatial Grid Enrichment",
-                "original_id": "org.apache.streampipes.processor.geo.flink"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "title": "Google Maps Geocoder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.jvm.geocoding",
-                "title": "Google Maps Geocoder",
-                "sidebar_label": "Google Maps Geocoder",
-                "original_id": "org.apache.streampipes.processor.geo.jvm.geocoding"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "title": "Reverse Geocoder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-                "title": "Reverse Geocoder",
-                "sidebar_label": "Reverse Geocoder",
-                "original_id": "org.apache.streampipes.processor.geo.jvm.reversegeocoding"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "title": "Static Google Maps Geocoder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-                "title": "Static Google Maps Geocoder",
-                "sidebar_label": "Static Google Maps Geocoder",
-                "original_id": "org.apache.streampipes.processor.geo.jvm.staticgeocoding"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "title": "Generic Image Classification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-                "title": "Generic Image Classification",
-                "sidebar_label": "Generic Image Classification",
-                "original_id": "org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
-              "title": "Image Cropper",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
-                "title": "Image Cropper",
-                "sidebar_label": "Image Cropper",
-                "original_id": "org.apache.streampipes.processor.imageclassification.jvm.image-cropper"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "title": "Image Enricher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-                "title": "Image Enricher",
-                "sidebar_label": "Image Enricher",
-                "original_id": "org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.imageclassification.qrcode",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode",
-              "title": "QR Code Reader",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.imageclassification.qrcode",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.imageclassification.qrcode",
-                "title": "QR Code Reader",
-                "sidebar_label": "QR Code Reader",
-                "original_id": "org.apache.streampipes.processor.imageclassification.qrcode"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "title": "Aggregation",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.aggregation",
-                "title": "Aggregation",
-                "sidebar_label": "Aggregation",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.aggregation"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.aggregation.flink.count",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count",
-              "title": "Count Aggregation",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.aggregation.flink.count",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.count",
-                "title": "Count Aggregation",
-                "sidebar_label": "Count Aggregation",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.count"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "title": "Event Counter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.eventcount",
-                "title": "Event Counter",
-                "sidebar_label": "Event Counter",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.eventcount"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.aggregation.flink.rate",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate",
-              "title": "Event Rate",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.aggregation.flink.rate",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.rate",
-                "title": "Event Rate",
-                "sidebar_label": "Event Rate",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.rate"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "title": "Math",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-                "title": "Math",
-                "sidebar_label": "Math",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.math.mathop"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "title": "Static Math",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-                "title": "Static Math",
-                "sidebar_label": "Static Math",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "title": "Trigonometry Functions",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-                "title": "Trigonometry Functions",
-                "sidebar_label": "Trigonometry Functions",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.trigonometry"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "title": "URL Dereferencing",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-                "title": "URL Dereferencing",
-                "sidebar_label": "URL Dereferencing",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.urldereferencing"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "title": "Timestamp Enricher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.timestamp",
-                "title": "Timestamp Enricher",
-                "sidebar_label": "Timestamp Enricher",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.timestamp"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "title": "Size Measure",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-                "title": "Size Measure",
-                "sidebar_label": "Size Measure",
-                "original_id": "org.apache.streampipes.processors.enricher.jvm.sizemeasure"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.compose",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose",
-              "title": "Compose",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.compose",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.compose",
-                "title": "Compose",
-                "sidebar_label": "Compose",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.compose"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.enrich",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich",
-              "title": "Merge By Enrich",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.enrich",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.enrich",
-                "title": "Merge By Enrich",
-                "sidebar_label": "Merge By Enrich",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.enrich"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.merge",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge",
-              "title": "Merge By Time",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.merge",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.merge",
-                "title": "Merge By Time",
-                "sidebar_label": "Merge By Time",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.merge"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "title": "Numerical Filter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.numericalfilter",
-                "title": "Numerical Filter",
-                "sidebar_label": "Numerical Filter",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.numericalfilter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "title": "Numerical Text Filter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-                "title": "Numerical Text Filter",
-                "sidebar_label": "Numerical Text Filter",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.numericaltextfilter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.project",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project",
-              "title": "Projection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.project",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.project",
-                "title": "Projection",
-                "sidebar_label": "Projection",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.project"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "title": "Text Filter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.textfilter",
-                "title": "Text Filter",
-                "sidebar_label": "Text Filter",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.textfilter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.threshold",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold",
-              "title": "Threshold Detector",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.threshold",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.threshold",
-                "title": "Threshold Detector",
-                "sidebar_label": "Threshold Detector",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.threshold"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
-              "title": "Creates JTS Point",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
-                "title": "Creates JTS Point",
-                "sidebar_label": "Creates JTS Point",
-                "original_id": "org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
-              "title": "EPSG Code",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
-                "title": "EPSG Code",
-                "sidebar_label": "EPSG Code",
-                "original_id": "org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
-              "title": "Single Trajectory Creator",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
-                "title": "Single Trajectory Creator",
-                "sidebar_label": "Single Trajectory Creator",
-                "original_id": "org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "title": "Distance Calculator",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-                "title": "Distance Calculator",
-                "sidebar_label": "Distance Calculator",
-                "original_id": "org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
-              "title": "Speed Calculator",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.geo.jvm.processor.speed",
-                "title": "Speed Calculator",
-                "sidebar_label": "Speed Calculator",
-                "original_id": "org.apache.streampipes.processors.geo.jvm.processor.speed"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-              "title": "Static Distance Calculator",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-                "title": "Static Distance Calculator",
-                "sidebar_label": "Static Distance Calculator",
-                "original_id": "org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
-              "title": "Absence",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.pattern-detection.flink.absence",
-                "title": "Absence",
-                "sidebar_label": "Absence",
-                "original_id": "org.apache.streampipes.processors.pattern-detection.flink.absence"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.pattern-detection.flink.and",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and",
-              "title": "And",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.pattern-detection.flink.and",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.pattern-detection.flink.and",
-                "title": "And",
-                "sidebar_label": "And",
-                "original_id": "org.apache.streampipes.processors.pattern-detection.flink.and"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "title": "Peak Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-                "title": "Peak Detection",
-                "sidebar_label": "Peak Detection",
-                "original_id": "org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
-              "title": "Sequence",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.pattern-detection.flink.sequence",
-                "title": "Sequence",
-                "sidebar_label": "Sequence",
-                "original_id": "org.apache.streampipes.processors.pattern-detection.flink.sequence"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.frequency",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency",
-              "title": "Frequency Calculation",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.frequency",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.frequency",
-                "title": "Frequency Calculation",
-                "sidebar_label": "Frequency Calculation",
-                "original_id": "org.apache.streampipes.processors.siddhi.frequency"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.frequencychange",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange",
-              "title": "Frequency Change",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.frequencychange",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.frequencychange",
-                "title": "Frequency Change",
-                "sidebar_label": "Frequency Change",
-                "original_id": "org.apache.streampipes.processors.siddhi.frequencychange"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.increase",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase",
-              "title": "Trend",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.increase",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.increase",
-                "title": "Trend",
-                "sidebar_label": "Trend",
-                "original_id": "org.apache.streampipes.processors.siddhi.increase"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "title": "Numerical Filter (Siddhi)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.numericalfilter",
-                "title": "Numerical Filter (Siddhi)",
-                "sidebar_label": "Numerical Filter (Siddhi)",
-                "original_id": "org.apache.streampipes.processors.siddhi.numericalfilter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.sequence",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence",
-              "title": "Sequence Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.sequence",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.sequence",
-                "title": "Sequence Detection",
-                "sidebar_label": "Sequence Detection",
-                "original_id": "org.apache.streampipes.processors.siddhi.sequence"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.stop",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop",
-              "title": "Stream Stop Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.stop",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.stop",
-                "title": "Stream Stop Detection",
-                "sidebar_label": "Stream Stop Detection",
-                "original_id": "org.apache.streampipes.processors.siddhi.stop"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
-              "title": "Statistics Summary",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.statistics.flink.statistics-summary",
-                "title": "Statistics Summary",
-                "sidebar_label": "Statistics Summary",
-                "original_id": "org.apache.streampipes.processors.statistics.flink.statistics-summary"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "title": "Language Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.flink.languagedetection",
-                "title": "Language Detection",
-                "sidebar_label": "Language Detection",
-                "original_id": "org.apache.streampipes.processors.textmining.flink.languagedetection"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "title": "Word Count",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.flink.wordcount",
-                "title": "Word Count",
-                "sidebar_label": "Word Count",
-                "original_id": "org.apache.streampipes.processors.textmining.flink.wordcount"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "title": "Chunker (English)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.chunker",
-                "title": "Chunker (English)",
-                "sidebar_label": "Chunker (English)",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.chunker"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "title": "Language Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.languagedetection",
-                "title": "Language Detection",
-                "sidebar_label": "Language Detection",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.languagedetection"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "title": "Name Finder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.namefinder",
-                "title": "Name Finder",
-                "sidebar_label": "Name Finder",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.namefinder"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "title": "Part of Speech (English)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.partofspeech",
-                "title": "Part of Speech (English)",
-                "sidebar_label": "Part of Speech (English)",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.partofspeech"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "title": "Sentence Detection (English)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-                "title": "Sentence Detection (English)",
-                "sidebar_label": "Sentence Detection (English)",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.sentencedetection"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "title": "Tokenizer (English)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.tokenizer",
-                "title": "Tokenizer (English)",
-                "sidebar_label": "Tokenizer (English)",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.tokenizer"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "title": "Field Converter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.field-converter",
-                "title": "Field Converter",
-                "sidebar_label": "Field Converter",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.field-converter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "title": "Field Mapper",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.field-mapper",
-                "title": "Field Mapper",
-                "sidebar_label": "Field Mapper",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.field-mapper"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "title": "Field Renamer",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.field-renamer",
-                "title": "Field Renamer",
-                "sidebar_label": "Field Renamer",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.field-renamer"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "title": "Field Hasher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.fieldhasher",
-                "title": "Field Hasher",
-                "sidebar_label": "Field Hasher",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.fieldhasher"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "title": "Measurement Unit Converter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-                "title": "Measurement Unit Converter",
-                "sidebar_label": "Measurement Unit Converter",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "title": "Boilerplate Removal",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-                "title": "Boilerplate Removal",
-                "sidebar_label": "Boilerplate Removal",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.processor.boilerplate"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "title": "Boolean Counter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-                "title": "Boolean Counter",
-                "sidebar_label": "Boolean Counter",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "title": "Boolean Inverter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-                "title": "Boolean Inverter",
-                "sidebar_label": "Boolean Inverter",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.inverter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "title": "Measure Time Between Two Sensors",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-                "title": "Measure Time Between Two Sensors",
-                "sidebar_label": "Measure Time Between Two Sensors",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "title": "Boolean Timer",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-                "title": "Boolean Timer",
-                "sidebar_label": "Boolean Timer",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timer"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "title": "Value Changed",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.changed-value",
-                "title": "Value Changed",
-                "sidebar_label": "Value Changed",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.changed-value"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "title": "Count Array",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.count-array",
-                "title": "Count Array",
-                "sidebar_label": "Count Array",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.count-array"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "title": "CSV Metadata Enricher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-                "title": "CSV Metadata Enricher",
-                "sidebar_label": "CSV Metadata Enricher",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.csvmetadata"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "title": "Calculate Duration",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.duration-value",
-                "title": "Calculate Duration",
-                "sidebar_label": "Calculate Duration",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.duration-value"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "title": "Timestamp Extractor",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-                "title": "Timestamp Extractor",
-                "sidebar_label": "Timestamp Extractor",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "title": "Split Array",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.split-array",
-                "title": "Split Array",
-                "sidebar_label": "Split Array",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.split-array"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
-              "title": "String Counter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
-                "title": "String Counter",
-                "sidebar_label": "String Counter",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.stringoperator.counter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-              "title": "String Timer",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-                "title": "String Timer",
-                "sidebar_label": "String Timer",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.stringoperator.timer"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "title": "Task Duration",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.taskduration",
-                "title": "Task Duration",
-                "sidebar_label": "Task Duration",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.taskduration"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "title": "Transform to boolean",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-                "title": "Transform to boolean",
-                "sidebar_label": "Transform to boolean",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.transform-to-boolean"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.protocol.set.file",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.protocol.set.file",
-              "title": "File Set",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.protocol.set.file.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.protocol.set.file",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.protocol.set.file",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.protocol.set.file",
-                "title": "File Set",
-                "sidebar_label": "File Set",
-                "original_id": "org.apache.streampipes.protocol.set.file"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.protocol.set.http",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.protocol.set.http",
-              "title": "HTTP Set",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.protocol.set.http.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.protocol.set.http",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.protocol.set.http",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.protocol.set.http",
-                "title": "HTTP Set",
-                "sidebar_label": "HTTP Set",
-                "original_id": "org.apache.streampipes.protocol.set.http"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "title": "Buffered REST Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-                "title": "Buffered REST Publisher",
-                "sidebar_label": "Buffered REST Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.bufferrest"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "title": "JMS Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.jms",
-                "title": "JMS Publisher",
-                "sidebar_label": "JMS Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.jms"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "title": "Kafka Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.kafka",
-                "title": "Kafka Publisher",
-                "sidebar_label": "Kafka Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.kafka"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
-              "title": "MQTT Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.mqtt",
-                "title": "MQTT Publisher",
-                "sidebar_label": "MQTT Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.mqtt"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "title": "Pulsar Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.pulsar",
-                "title": "Pulsar Publisher",
-                "sidebar_label": "Pulsar Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.pulsar"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "title": "RabbitMQ Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-                "title": "RabbitMQ Publisher",
-                "sidebar_label": "RabbitMQ Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "title": "REST Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.rest",
-                "title": "REST Publisher",
-                "sidebar_label": "REST Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.rest"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.databases.ditto",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto",
-              "title": "Eclipse Ditto",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.databases.ditto",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.ditto",
-                "title": "Eclipse Ditto",
-                "sidebar_label": "Eclipse Ditto",
-                "original_id": "org.apache.streampipes.sinks.databases.ditto"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "title": "Elasticsearch",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.flink.elasticsearch",
-                "title": "Elasticsearch",
-                "sidebar_label": "Elasticsearch",
-                "original_id": "org.apache.streampipes.sinks.databases.flink.elasticsearch"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "title": "CouchDB",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.couchdb",
-                "title": "CouchDB",
-                "sidebar_label": "CouchDB",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.couchdb"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "title": "InfluxDB",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.influxdb",
-                "title": "InfluxDB",
-                "sidebar_label": "InfluxDB",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.influxdb"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "title": "IoTDB",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.iotdb",
-                "title": "IoTDB",
-                "sidebar_label": "IoTDB",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.iotdb"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "title": "OPC-UA",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.opcua",
-                "title": "OPC-UA",
-                "sidebar_label": "OPC-UA",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.opcua"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "title": "PostgreSQL",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.postgresql",
-                "title": "PostgreSQL",
-                "sidebar_label": "PostgreSQL",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.postgresql"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "title": "Dashboard Sink",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.internal.jvm.dashboard",
-                "title": "Dashboard Sink",
-                "sidebar_label": "Dashboard Sink",
-                "original_id": "org.apache.streampipes.sinks.internal.jvm.dashboard"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "title": "Data Lake",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.internal.jvm.datalake",
-                "title": "Data Lake",
-                "sidebar_label": "Data Lake",
-                "original_id": "org.apache.streampipes.sinks.internal.jvm.datalake"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.internal.jvm.notification",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification",
-              "title": "Notification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.internal.jvm.notification",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.internal.jvm.notification",
-                "title": "Notification",
-                "sidebar_label": "Notification",
-                "original_id": "org.apache.streampipes.sinks.internal.jvm.notification"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.notifications.jvm.email",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email",
-              "title": "Email Notification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.notifications.jvm.email",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.notifications.jvm.email",
-                "title": "Email Notification",
-                "sidebar_label": "Email Notification",
-                "original_id": "org.apache.streampipes.sinks.notifications.jvm.email"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "title": "OneSignal",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.notifications.jvm.onesignal",
-                "title": "OneSignal",
-                "sidebar_label": "OneSignal",
-                "original_id": "org.apache.streampipes.sinks.notifications.jvm.onesignal"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "id": "version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "title": "Slack Notification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "permalink": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.notifications.jvm.slack",
-                "title": "Slack Notification",
-                "sidebar_label": "Slack Notification",
-                "original_id": "org.apache.streampipes.sinks.notifications.jvm.slack"
-              }
-            },
-            {
-              "unversionedId": "user-guide-first-steps",
-              "id": "version-0.64.0-pre-asf/user-guide-first-steps",
-              "title": "First steps",
-              "description": "In this section, you'll learn how to create and run pipelines in StreamPipes.",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/user-guide-first-steps.md",
-              "sourceDirName": ".",
-              "slug": "/user-guide-first-steps",
-              "permalink": "/docs/0.64.0-pre-asf/user-guide-first-steps",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "user-guide-first-steps",
-                "title": "First steps",
-                "sidebar_label": "First steps",
-                "original_id": "user-guide-first-steps"
-              }
-            },
-            {
-              "unversionedId": "user-guide-installation",
-              "id": "version-0.64.0-pre-asf/user-guide-installation",
-              "title": "Installation",
-              "description": "Prerequisites",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/user-guide-installation.md",
-              "sourceDirName": ".",
-              "slug": "/user-guide-installation",
-              "permalink": "/docs/0.64.0-pre-asf/user-guide-installation",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "user-guide-installation",
-                "title": "Installation",
-                "sidebar_label": "Installation",
-                "original_id": "user-guide-installation"
-              }
-            },
-            {
-              "unversionedId": "user-guide-tour",
-              "id": "version-0.64.0-pre-asf/user-guide-tour",
-              "title": "Tour",
-              "description": "StreamPipes is a framework that enables domain experts to model and execute stream processing pipelines in a big data infrastructure.",
-              "source": "@site/versioned_docs/version-0.64.0-pre-asf/user-guide-tour.md",
-              "sourceDirName": ".",
-              "slug": "/user-guide-tour",
-              "permalink": "/docs/0.64.0-pre-asf/user-guide-tour",
-              "draft": false,
-              "tags": [],
-              "version": "0.64.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "user-guide-tour",
-                "title": "Tour",
-                "sidebar_label": "Tour",
-                "original_id": "user-guide-tour"
-              }
-            }
-          ],
-          "drafts": [],
-          "sidebars": {}
-        },
-        {
-          "versionName": "0.63.0-pre-asf",
-          "label": "0.63.0-pre-asf",
-          "banner": "unmaintained",
-          "badge": true,
-          "noIndex": false,
-          "className": "docs-version-0.63.0-pre-asf",
-          "path": "/docs/0.63.0-pre-asf",
-          "tagsPath": "/docs/0.63.0-pre-asf/tags",
-          "isLast": false,
-          "sidebarFilePath": "C:\\git\\apache\\incubator-streampipes-website\\website-v2\\versioned_sidebars\\version-0.63.0-pre-asf-sidebars.json",
-          "contentPath": "C:\\git\\apache\\incubator-streampipes-website\\website-v2\\versioned_docs\\version-0.63.0-pre-asf",
-          "contentPathLocalized": "C:\\git\\apache\\incubator-streampipes-website\\website-v2\\i18n\\en\\docusaurus-plugin-content-docs\\version-0.63.0-pre-asf",
-          "docs": [
-            {
-              "unversionedId": "dev-guide-archetype",
-              "id": "version-0.63.0-pre-asf/dev-guide-archetype",
-              "title": "Start Developing",
-              "description": "In this tutorial we explain how you can use the Maven archetypes to develop your own StreamPipes processors and sinks.",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-archetype.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-archetype",
-              "permalink": "/docs/0.63.0-pre-asf/dev-guide-archetype",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-archetype",
-                "title": "Start Developing",
-                "sidebar_label": "Start Developing",
-                "original_id": "dev-guide-archetype"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-configuration",
-              "id": "version-0.63.0-pre-asf/dev-guide-configuration",
-              "title": "Configuration",
-              "description": "On this page we explain how the StreamPipes configuration works.",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-configuration.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-configuration",
-              "permalink": "/docs/0.63.0-pre-asf/dev-guide-configuration",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-configuration",
-                "title": "Configuration",
-                "sidebar_label": "Configuration",
-                "original_id": "dev-guide-configuration"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-development-environment",
-              "id": "version-0.63.0-pre-asf/dev-guide-development-environment",
-              "title": "Development Environment",
-              "description": "In this section, we describe our recommended minimum setup for locally setting up a development instance of StreamPipes needed to develop, run and test new pipeline elements.",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-environment.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-development-environment",
-              "permalink": "/docs/0.63.0-pre-asf/dev-guide-development-environment",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-development-environment",
-                "title": "Development Environment",
-                "sidebar_label": "Development Environment",
-                "original_id": "dev-guide-development-environment"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-output-strategies",
-              "id": "version-0.63.0-pre-asf/dev-guide-output-strategies",
-              "title": "SDK Guide: Output Strategies",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-output-strategies.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-output-strategies",
-              "permalink": "/docs/0.63.0-pre-asf/dev-guide-output-strategies",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-output-strategies",
-                "title": "SDK Guide: Output Strategies",
-                "sidebar_label": "Output Strategies",
-                "original_id": "dev-guide-output-strategies"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-static-properties",
-              "id": "version-0.63.0-pre-asf/dev-guide-static-properties",
-              "title": "SDK Guide: Static Properties",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-static-properties.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-static-properties",
-              "permalink": "/docs/0.63.0-pre-asf/dev-guide-static-properties",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-static-properties",
-                "title": "SDK Guide: Static Properties",
-                "sidebar_label": "Static Properties",
-                "original_id": "dev-guide-static-properties"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-stream-requirements",
-              "id": "version-0.63.0-pre-asf/dev-guide-stream-requirements",
-              "title": "SDK Guide: Stream Requirements",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-stream-requirements.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-stream-requirements",
-              "permalink": "/docs/0.63.0-pre-asf/dev-guide-stream-requirements",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-stream-requirements",
-                "title": "SDK Guide: Stream Requirements",
-                "sidebar_label": "Stream Requirements",
-                "original_id": "dev-guide-stream-requirements"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-tutorial-processors",
-              "id": "version-0.63.0-pre-asf/dev-guide-tutorial-processors",
-              "title": "Tutorial: Data Processors",
-              "description": "In this tutorial, we will add a new data processor using the Apache Flink wrapper.",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-tutorial-processors.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-tutorial-processors",
-              "permalink": "/docs/0.63.0-pre-asf/dev-guide-tutorial-processors",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-tutorial-processors",
-                "title": "Tutorial: Data Processors",
-                "sidebar_label": "Tutorial: Data Processors",
-                "original_id": "dev-guide-tutorial-processors"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-tutorial-sinks",
-              "id": "version-0.63.0-pre-asf/dev-guide-tutorial-sinks",
-              "title": "Tutorial: Data Sinks",
-              "description": "In this tutorial, we will add a new data sink using the standalone wrapper.",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-tutorial-sinks.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-tutorial-sinks",
-              "permalink": "/docs/0.63.0-pre-asf/dev-guide-tutorial-sinks",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-tutorial-sinks",
-                "title": "Tutorial: Data Sinks",
-                "sidebar_label": "Tutorial: Data Sinks",
-                "original_id": "dev-guide-tutorial-sinks"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-tutorial-sources",
-              "id": "version-0.63.0-pre-asf/dev-guide-tutorial-sources",
-              "title": "Tutorial: Data Sources",
-              "description": "In this tutorial, we will add a new data source consisting of a single data stream. The source will be provided as a standalone component (i.e., the description will be accessible through an integrated web server).",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-tutorial-sources.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-tutorial-sources",
-              "permalink": "/docs/0.63.0-pre-asf/dev-guide-tutorial-sources",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-tutorial-sources",
-                "title": "Tutorial: Data Sources",
-                "sidebar_label": "Tutorial: Data Sources",
-                "original_id": "dev-guide-tutorial-sources"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processor.geo.flink/org.apache.streampipes.processor.geo.flink",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processor.geo.flink/org.apache.streampipes.processor.geo.flink",
-              "title": "Spatial Grid Enrichment",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.geo.flink/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processor.geo.flink",
-              "slug": "/org.apache.streampipes.processor.geo.flink/org.apache.streampipes.processor.geo.flink",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processor.geo.flink/org.apache.streampipes.processor.geo.flink",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.flink",
-                "title": "Spatial Grid Enrichment",
-                "sidebar_label": "Spatial Grid Enrichment",
-                "original_id": "org.apache.streampipes.processor.geo.flink"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processor.geo.jvm.geocoding/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "title": "Google Maps Geocoder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processor.geo.jvm.geocoding",
-              "slug": "/org.apache.streampipes.processor.geo.jvm.geocoding/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.jvm.geocoding",
-                "title": "Google Maps Geocoder",
-                "sidebar_label": "Google Maps Geocoder",
-                "original_id": "org.apache.streampipes.processor.geo.jvm.geocoding"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processor.geo.jvm.reversegeocoding/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "title": "Reverse Geocoder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "slug": "/org.apache.streampipes.processor.geo.jvm.reversegeocoding/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-                "title": "Reverse Geocoder",
-                "sidebar_label": "Reverse Geocoder",
-                "original_id": "org.apache.streampipes.processor.geo.jvm.reversegeocoding"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processor.geo.jvm.staticgeocoding/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "title": "Static Google Maps Geocoder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "slug": "/org.apache.streampipes.processor.geo.jvm.staticgeocoding/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-                "title": "Static Google Maps Geocoder",
-                "sidebar_label": "Static Google Maps Geocoder",
-                "original_id": "org.apache.streampipes.processor.geo.jvm.staticgeocoding"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "title": "Generic Image Classification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "slug": "/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-                "title": "Generic Image Classification",
-                "sidebar_label": "Generic Image Classification",
-                "original_id": "org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processor.imageclassification.jvm.image-enricher/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "title": "Image Enricher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "slug": "/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-                "title": "Image Enricher",
-                "sidebar_label": "Image Enricher",
-                "original_id": "org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processor.imageclassification.qrcode/org.apache.streampipes.processor.imageclassification.qrcode",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/org.apache.streampipes.processor.imageclassification.qrcode",
-              "title": "QR Code Reader",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processor.imageclassification.qrcode",
-              "slug": "/org.apache.streampipes.processor.imageclassification.qrcode/org.apache.streampipes.processor.imageclassification.qrcode",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/org.apache.streampipes.processor.imageclassification.qrcode",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.imageclassification.qrcode",
-                "title": "QR Code Reader",
-                "sidebar_label": "QR Code Reader",
-                "original_id": "org.apache.streampipes.processor.imageclassification.qrcode"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.aggregation.flink.aggregation/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "title": "Aggregation",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "slug": "/org.apache.streampipes.processors.aggregation.flink.aggregation/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.aggregation",
-                "title": "Aggregation",
-                "sidebar_label": "Aggregation",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.aggregation"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.aggregation.flink.eventcount/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "title": "Event Counter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "slug": "/org.apache.streampipes.processors.aggregation.flink.eventcount/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.eventcount",
-                "title": "Event Counter",
-                "sidebar_label": "Event Counter",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.eventcount"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.aggregation.flink.rate/org.apache.streampipes.processors.aggregation.flink.rate",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/org.apache.streampipes.processors.aggregation.flink.rate",
-              "title": "Event Rate",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.aggregation.flink.rate",
-              "slug": "/org.apache.streampipes.processors.aggregation.flink.rate/org.apache.streampipes.processors.aggregation.flink.rate",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/org.apache.streampipes.processors.aggregation.flink.rate",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.rate",
-                "title": "Event Rate",
-                "sidebar_label": "Event Rate",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.rate"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.enricher.flink.processor.math.mathop/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "title": "Math",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "slug": "/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-                "title": "Math",
-                "sidebar_label": "Math",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.math.mathop"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "title": "Static Math",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "slug": "/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-                "title": "Static Math",
-                "sidebar_label": "Static Math",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.enricher.flink.processor.trigonometry/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "title": "Trigonometry Functions",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "slug": "/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-                "title": "Trigonometry Functions",
-                "sidebar_label": "Trigonometry Functions",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.trigonometry"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "title": "URL Dereferencing",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "slug": "/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-                "title": "URL Dereferencing",
-                "sidebar_label": "URL Dereferencing",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.urldereferencing"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.enricher.flink.timestamp/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "title": "Timestamp Enricher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.enricher.flink.timestamp",
-              "slug": "/org.apache.streampipes.processors.enricher.flink.timestamp/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.timestamp",
-                "title": "Timestamp Enricher",
-                "sidebar_label": "Timestamp Enricher",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.timestamp"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.enricher.jvm.sizemeasure/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "title": "Size Measure",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "slug": "/org.apache.streampipes.processors.enricher.jvm.sizemeasure/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-                "title": "Size Measure",
-                "sidebar_label": "Size Measure",
-                "original_id": "org.apache.streampipes.processors.enricher.jvm.sizemeasure"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.filters.jvm.compose/org.apache.streampipes.processors.filters.jvm.compose",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/org.apache.streampipes.processors.filters.jvm.compose",
-              "title": "Compose",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.filters.jvm.compose",
-              "slug": "/org.apache.streampipes.processors.filters.jvm.compose/org.apache.streampipes.processors.filters.jvm.compose",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/org.apache.streampipes.processors.filters.jvm.compose",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.compose",
-                "title": "Compose",
-                "sidebar_label": "Compose",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.compose"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.filters.jvm.enrich/org.apache.streampipes.processors.filters.jvm.enrich",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/org.apache.streampipes.processors.filters.jvm.enrich",
-              "title": "Merge By Enrich",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.filters.jvm.enrich",
-              "slug": "/org.apache.streampipes.processors.filters.jvm.enrich/org.apache.streampipes.processors.filters.jvm.enrich",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/org.apache.streampipes.processors.filters.jvm.enrich",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.enrich",
-                "title": "Merge By Enrich",
-                "sidebar_label": "Merge By Enrich",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.enrich"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.filters.jvm.merge/org.apache.streampipes.processors.filters.jvm.merge",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/org.apache.streampipes.processors.filters.jvm.merge",
-              "title": "Merge By Time",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.filters.jvm.merge",
-              "slug": "/org.apache.streampipes.processors.filters.jvm.merge/org.apache.streampipes.processors.filters.jvm.merge",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/org.apache.streampipes.processors.filters.jvm.merge",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.merge",
-                "title": "Merge By Time",
-                "sidebar_label": "Merge By Time",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.merge"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.filters.jvm.numericalfilter/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "title": "Numerical Filter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "slug": "/org.apache.streampipes.processors.filters.jvm.numericalfilter/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.numericalfilter",
-                "title": "Numerical Filter",
-                "sidebar_label": "Numerical Filter",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.numericalfilter"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.filters.jvm.numericaltextfilter/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "title": "Numerical Text Filter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "slug": "/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-                "title": "Numerical Text Filter",
-                "sidebar_label": "Numerical Text Filter",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.numericaltextfilter"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.filters.jvm.project/org.apache.streampipes.processors.filters.jvm.project",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/org.apache.streampipes.processors.filters.jvm.project",
-              "title": "Projection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.filters.jvm.project",
-              "slug": "/org.apache.streampipes.processors.filters.jvm.project/org.apache.streampipes.processors.filters.jvm.project",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/org.apache.streampipes.processors.filters.jvm.project",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.project",
-                "title": "Projection",
-                "sidebar_label": "Projection",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.project"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.filters.jvm.textfilter/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "title": "Text Filter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.filters.jvm.textfilter",
-              "slug": "/org.apache.streampipes.processors.filters.jvm.textfilter/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.textfilter",
-                "title": "Text Filter",
-                "sidebar_label": "Text Filter",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.textfilter"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.filters.jvm.threshold/org.apache.streampipes.processors.filters.jvm.threshold",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/org.apache.streampipes.processors.filters.jvm.threshold",
-              "title": "Threshold Detector",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.filters.jvm.threshold",
-              "slug": "/org.apache.streampipes.processors.filters.jvm.threshold/org.apache.streampipes.processors.filters.jvm.threshold",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/org.apache.streampipes.processors.filters.jvm.threshold",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.threshold",
-                "title": "Threshold Detector",
-                "sidebar_label": "Threshold Detector",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.threshold"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "title": "Distance Calculator",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "slug": "/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-                "title": "Distance Calculator",
-                "sidebar_label": "Distance Calculator",
-                "original_id": "org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.pattern-detection.flink.peak-detection/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "title": "Peak Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "slug": "/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-                "title": "Peak Detection",
-                "sidebar_label": "Peak Detection",
-                "original_id": "org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.siddhi.frequency/org.apache.streampipes.processors.siddhi.frequency",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/org.apache.streampipes.processors.siddhi.frequency",
-              "title": "Frequency Calculation",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.siddhi.frequency",
-              "slug": "/org.apache.streampipes.processors.siddhi.frequency/org.apache.streampipes.processors.siddhi.frequency",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/org.apache.streampipes.processors.siddhi.frequency",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.frequency",
-                "title": "Frequency Calculation",
-                "sidebar_label": "Frequency Calculation",
-                "original_id": "org.apache.streampipes.processors.siddhi.frequency"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.siddhi.frequencychange/org.apache.streampipes.processors.siddhi.frequencychange",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/org.apache.streampipes.processors.siddhi.frequencychange",
-              "title": "Frequency Change",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.siddhi.frequencychange",
-              "slug": "/org.apache.streampipes.processors.siddhi.frequencychange/org.apache.streampipes.processors.siddhi.frequencychange",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/org.apache.streampipes.processors.siddhi.frequencychange",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.frequencychange",
-                "title": "Frequency Change",
-                "sidebar_label": "Frequency Change",
-                "original_id": "org.apache.streampipes.processors.siddhi.frequencychange"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.siddhi.increase/org.apache.streampipes.processors.siddhi.increase",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/org.apache.streampipes.processors.siddhi.increase",
-              "title": "Trend",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.siddhi.increase",
-              "slug": "/org.apache.streampipes.processors.siddhi.increase/org.apache.streampipes.processors.siddhi.increase",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/org.apache.streampipes.processors.siddhi.increase",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.increase",
-                "title": "Trend",
-                "sidebar_label": "Trend",
-                "original_id": "org.apache.streampipes.processors.siddhi.increase"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.siddhi.numericalfilter/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "title": "Numerical Filter (Siddhi)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.siddhi.numericalfilter",
-              "slug": "/org.apache.streampipes.processors.siddhi.numericalfilter/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.numericalfilter",
-                "title": "Numerical Filter (Siddhi)",
-                "sidebar_label": "Numerical Filter (Siddhi)",
-                "original_id": "org.apache.streampipes.processors.siddhi.numericalfilter"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.siddhi.sequence/org.apache.streampipes.processors.siddhi.sequence",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/org.apache.streampipes.processors.siddhi.sequence",
-              "title": "Sequence Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.siddhi.sequence",
-              "slug": "/org.apache.streampipes.processors.siddhi.sequence/org.apache.streampipes.processors.siddhi.sequence",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/org.apache.streampipes.processors.siddhi.sequence",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.sequence",
-                "title": "Sequence Detection",
-                "sidebar_label": "Sequence Detection",
-                "original_id": "org.apache.streampipes.processors.siddhi.sequence"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.siddhi.stop/org.apache.streampipes.processors.siddhi.stop",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/org.apache.streampipes.processors.siddhi.stop",
-              "title": "Stream Stop Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.siddhi.stop",
-              "slug": "/org.apache.streampipes.processors.siddhi.stop/org.apache.streampipes.processors.siddhi.stop",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/org.apache.streampipes.processors.siddhi.stop",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.stop",
-                "title": "Stream Stop Detection",
-                "sidebar_label": "Stream Stop Detection",
-                "original_id": "org.apache.streampipes.processors.siddhi.stop"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.textmining.flink.languagedetection/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "title": "Language Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "slug": "/org.apache.streampipes.processors.textmining.flink.languagedetection/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.flink.languagedetection",
-                "title": "Language Detection",
-                "sidebar_label": "Language Detection",
-                "original_id": "org.apache.streampipes.processors.textmining.flink.languagedetection"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.textmining.flink.wordcount/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "title": "Word Count",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.textmining.flink.wordcount",
-              "slug": "/org.apache.streampipes.processors.textmining.flink.wordcount/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.flink.wordcount",
-                "title": "Word Count",
-                "sidebar_label": "Word Count",
-                "original_id": "org.apache.streampipes.processors.textmining.flink.wordcount"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.textmining.jvm.chunker/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "title": "Chunker (English)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.textmining.jvm.chunker",
-              "slug": "/org.apache.streampipes.processors.textmining.jvm.chunker/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.chunker",
-                "title": "Chunker (English)",
-                "sidebar_label": "Chunker (English)",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.chunker"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.textmining.jvm.languagedetection/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "title": "Language Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "slug": "/org.apache.streampipes.processors.textmining.jvm.languagedetection/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.languagedetection",
-                "title": "Language Detection",
-                "sidebar_label": "Language Detection",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.languagedetection"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.textmining.jvm.namefinder/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "title": "Name Finder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "slug": "/org.apache.streampipes.processors.textmining.jvm.namefinder/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.namefinder",
-                "title": "Name Finder",
-                "sidebar_label": "Name Finder",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.namefinder"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.textmining.jvm.partofspeech/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "title": "Part of Speech (English)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "slug": "/org.apache.streampipes.processors.textmining.jvm.partofspeech/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.partofspeech",
-                "title": "Part of Speech (English)",
-                "sidebar_label": "Part of Speech (English)",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.partofspeech"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.textmining.jvm.sentencedetection/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "title": "Sentence Detection (English)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "slug": "/org.apache.streampipes.processors.textmining.jvm.sentencedetection/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-                "title": "Sentence Detection (English)",
-                "sidebar_label": "Sentence Detection (English)",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.sentencedetection"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.textmining.jvm.tokenizer/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "title": "Tokenizer (English)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "slug": "/org.apache.streampipes.processors.textmining.jvm.tokenizer/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.tokenizer",
-                "title": "Tokenizer (English)",
-                "sidebar_label": "Tokenizer (English)",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.tokenizer"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.flink.field-converter/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "title": "Field Converter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.flink.field-converter",
-              "slug": "/org.apache.streampipes.processors.transformation.flink.field-converter/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.field-converter",
-                "title": "Field Converter",
-                "sidebar_label": "Field Converter",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.field-converter"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.flink.field-mapper/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "title": "Field Mapper",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "slug": "/org.apache.streampipes.processors.transformation.flink.field-mapper/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.field-mapper",
-                "title": "Field Mapper",
-                "sidebar_label": "Field Mapper",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.field-mapper"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.flink.field-renamer/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "title": "Field Renamer",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "slug": "/org.apache.streampipes.processors.transformation.flink.field-renamer/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.field-renamer",
-                "title": "Field Renamer",
-                "sidebar_label": "Field Renamer",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.field-renamer"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.flink.fieldhasher/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "title": "Field Hasher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "slug": "/org.apache.streampipes.processors.transformation.flink.fieldhasher/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.fieldhasher",
-                "title": "Field Hasher",
-                "sidebar_label": "Field Hasher",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.fieldhasher"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "title": "Measurement Unit Converter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "slug": "/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-                "title": "Measurement Unit Converter",
-                "sidebar_label": "Measurement Unit Converter",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.flink.processor.boilerplate/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "title": "Boilerplate Removal",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "slug": "/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-                "title": "Boilerplate Removal",
-                "sidebar_label": "Boilerplate Removal",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.processor.boilerplate"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.booloperator.counter/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "title": "Boolean Counter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-                "title": "Boolean Counter",
-                "sidebar_label": "Boolean Counter",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "title": "Boolean Inverter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-                "title": "Boolean Inverter",
-                "sidebar_label": "Boolean Inverter",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.inverter"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "title": "Measure Time Between Two Sensors",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-                "title": "Measure Time Between Two Sensors",
-                "sidebar_label": "Measure Time Between Two Sensors",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.booloperator.timer/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "title": "Boolean Timer",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-                "title": "Boolean Timer",
-                "sidebar_label": "Boolean Timer",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timer"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.changed-value/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "title": "Value Changed",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.changed-value/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.changed-value",
-                "title": "Value Changed",
-                "sidebar_label": "Value Changed",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.changed-value"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.count-array/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "title": "Count Array",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.count-array",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.count-array/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.count-array",
-                "title": "Count Array",
-                "sidebar_label": "Count Array",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.count-array"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.csvmetadata/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "title": "CSV Metadata Enricher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.csvmetadata/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-                "title": "CSV Metadata Enricher",
-                "sidebar_label": "CSV Metadata Enricher",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.csvmetadata"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.duration-value/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "title": "Calculate Duration",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.duration-value/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.duration-value",
-                "title": "Calculate Duration",
-                "sidebar_label": "Calculate Duration",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.duration-value"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "title": "Timestamp Extractor",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-                "title": "Timestamp Extractor",
-                "sidebar_label": "Timestamp Extractor",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.split-array/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "title": "Split Array",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.split-array",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.split-array/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.split-array",
-                "title": "Split Array",
-                "sidebar_label": "Split Array",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.split-array"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.taskduration/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "title": "Task Duration",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.taskduration/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.taskduration",
-                "title": "Task Duration",
-                "sidebar_label": "Task Duration",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.taskduration"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "title": "Transform to boolean",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/documentation.md",
-              "sourceDirName": "org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "slug": "/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-                "title": "Transform to boolean",
-                "sidebar_label": "Transform to boolean",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.transform-to-boolean"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.brokers.jvm.bufferrest/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "title": "Buffered REST Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "slug": "/org.apache.streampipes.sinks.brokers.jvm.bufferrest/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-                "title": "Buffered REST Publisher",
-                "sidebar_label": "Buffered REST Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.bufferrest"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.brokers.jvm.jms/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "title": "JMS Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.brokers.jvm.jms",
-              "slug": "/org.apache.streampipes.sinks.brokers.jvm.jms/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.jms",
-                "title": "JMS Publisher",
-                "sidebar_label": "JMS Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.jms"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.brokers.jvm.kafka/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "title": "Kafka Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "slug": "/org.apache.streampipes.sinks.brokers.jvm.kafka/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.kafka",
-                "title": "Kafka Publisher",
-                "sidebar_label": "Kafka Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.kafka"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.brokers.jvm.pulsar/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "title": "Pulsar Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "slug": "/org.apache.streampipes.sinks.brokers.jvm.pulsar/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.pulsar",
-                "title": "Pulsar Publisher",
-                "sidebar_label": "Pulsar Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.pulsar"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.brokers.jvm.rabbitmq/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "title": "RabbitMQ Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "slug": "/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-                "title": "RabbitMQ Publisher",
-                "sidebar_label": "RabbitMQ Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.brokers.jvm.rest/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "title": "REST Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.brokers.jvm.rest",
-              "slug": "/org.apache.streampipes.sinks.brokers.jvm.rest/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.rest",
-                "title": "REST Publisher",
-                "sidebar_label": "REST Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.rest"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.databases.ditto/org.apache.streampipes.sinks.databases.ditto",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/org.apache.streampipes.sinks.databases.ditto",
-              "title": "Eclipse Ditto",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.databases.ditto",
-              "slug": "/org.apache.streampipes.sinks.databases.ditto/org.apache.streampipes.sinks.databases.ditto",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/org.apache.streampipes.sinks.databases.ditto",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.ditto",
-                "title": "Eclipse Ditto",
-                "sidebar_label": "Eclipse Ditto",
-                "original_id": "org.apache.streampipes.sinks.databases.ditto"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.databases.flink.elasticsearch/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "title": "Elasticsearch",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "slug": "/org.apache.streampipes.sinks.databases.flink.elasticsearch/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.flink.elasticsearch",
-                "title": "Elasticsearch",
-                "sidebar_label": "Elasticsearch",
-                "original_id": "org.apache.streampipes.sinks.databases.flink.elasticsearch"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.databases.jvm.couchdb/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "title": "CouchDB",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "slug": "/org.apache.streampipes.sinks.databases.jvm.couchdb/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.couchdb",
-                "title": "CouchDB",
-                "sidebar_label": "CouchDB",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.couchdb"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.databases.jvm.influxdb/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "title": "InfluxDB",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "slug": "/org.apache.streampipes.sinks.databases.jvm.influxdb/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.influxdb",
-                "title": "InfluxDB",
-                "sidebar_label": "InfluxDB",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.influxdb"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.databases.jvm.iotdb/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "title": "IoTDB",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "slug": "/org.apache.streampipes.sinks.databases.jvm.iotdb/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.iotdb",
-                "title": "IoTDB",
-                "sidebar_label": "IoTDB",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.iotdb"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.databases.jvm.opcua/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "title": "OPC-UA",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.databases.jvm.opcua",
-              "slug": "/org.apache.streampipes.sinks.databases.jvm.opcua/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.opcua",
-                "title": "OPC-UA",
-                "sidebar_label": "OPC-UA",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.opcua"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.databases.jvm.postgresql/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "title": "PostgreSQL",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "slug": "/org.apache.streampipes.sinks.databases.jvm.postgresql/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.postgresql",
-                "title": "PostgreSQL",
-                "sidebar_label": "PostgreSQL",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.postgresql"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.internal.jvm.dashboard/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "title": "Dashboard Sink",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "slug": "/org.apache.streampipes.sinks.internal.jvm.dashboard/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.internal.jvm.dashboard",
-                "title": "Dashboard Sink",
-                "sidebar_label": "Dashboard Sink",
-                "original_id": "org.apache.streampipes.sinks.internal.jvm.dashboard"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.internal.jvm.datalake/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "title": "Data Lake",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.internal.jvm.datalake",
-              "slug": "/org.apache.streampipes.sinks.internal.jvm.datalake/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.internal.jvm.datalake",
-                "title": "Data Lake",
-                "sidebar_label": "Data Lake",
-                "original_id": "org.apache.streampipes.sinks.internal.jvm.datalake"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.internal.jvm.notification/org.apache.streampipes.sinks.internal.jvm.notification",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/org.apache.streampipes.sinks.internal.jvm.notification",
-              "title": "Notification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.internal.jvm.notification",
-              "slug": "/org.apache.streampipes.sinks.internal.jvm.notification/org.apache.streampipes.sinks.internal.jvm.notification",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/org.apache.streampipes.sinks.internal.jvm.notification",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.internal.jvm.notification",
-                "title": "Notification",
-                "sidebar_label": "Notification",
-                "original_id": "org.apache.streampipes.sinks.internal.jvm.notification"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.notifications.jvm.email/org.apache.streampipes.sinks.notifications.jvm.email",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/org.apache.streampipes.sinks.notifications.jvm.email",
-              "title": "Email Notification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.notifications.jvm.email",
-              "slug": "/org.apache.streampipes.sinks.notifications.jvm.email/org.apache.streampipes.sinks.notifications.jvm.email",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/org.apache.streampipes.sinks.notifications.jvm.email",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.notifications.jvm.email",
-                "title": "Email Notification",
-                "sidebar_label": "Email Notification",
-                "original_id": "org.apache.streampipes.sinks.notifications.jvm.email"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.notifications.jvm.onesignal/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "title": "OneSignal",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "slug": "/org.apache.streampipes.sinks.notifications.jvm.onesignal/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.notifications.jvm.onesignal",
-                "title": "OneSignal",
-                "sidebar_label": "OneSignal",
-                "original_id": "org.apache.streampipes.sinks.notifications.jvm.onesignal"
-              }
-            },
-            {
-              "unversionedId": "org.apache.streampipes.sinks.notifications.jvm.slack/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "id": "version-0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "title": "Slack Notification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/documentation.md",
-              "sourceDirName": "org.apache.streampipes.sinks.notifications.jvm.slack",
-              "slug": "/org.apache.streampipes.sinks.notifications.jvm.slack/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "permalink": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.notifications.jvm.slack",
-                "title": "Slack Notification",
-                "sidebar_label": "Slack Notification",
-                "original_id": "org.apache.streampipes.sinks.notifications.jvm.slack"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.coindesk",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk",
-              "title": "Coindesk Bitcoin Price",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.coindesk",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.coindesk",
-                "title": "Coindesk Bitcoin Price",
-                "sidebar_label": "Coindesk Bitcoin Price",
-                "original_id": "org.apache.streampipes.connect.adapters.coindesk"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.gdelt",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt",
-              "title": "GDELT",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.gdelt",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.gdelt",
-                "title": "GDELT",
-                "sidebar_label": "GDELT",
-                "original_id": "org.apache.streampipes.connect.adapters.gdelt"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.iex.news",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news",
-              "title": "IEX Cloud News",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.iex.news",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.iex.news",
-                "title": "IEX Cloud News",
-                "sidebar_label": "IEX Cloud News",
-                "original_id": "org.apache.streampipes.connect.adapters.iex.news"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.iex.stocks",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks",
-              "title": "IEX Cloud Stock Quotes",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.iex.stocks",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.iex.stocks",
-                "title": "IEX Cloud Stock Quotes",
-                "sidebar_label": "IEX Cloud Stock Quotes",
-                "original_id": "org.apache.streampipes.connect.adapters.iex.stocks"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.image.set",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set",
-              "title": "Image Upload (Set)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.image.set",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.image.set",
-                "title": "Image Upload (Set)",
-                "sidebar_label": "Image Upload (Set)",
-                "original_id": "org.apache.streampipes.connect.adapters.image.set"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.image.stream",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream",
-              "title": "Image Upload (Stream)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.image.stream",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.image.stream",
-                "title": "Image Upload (Stream)",
-                "sidebar_label": "Image Upload (Stream)",
-                "original_id": "org.apache.streampipes.connect.adapters.image.stream"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.influxdb.set",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set",
-              "title": "InfluxDB Set Adapter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.influxdb.set",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.influxdb.set",
-                "title": "InfluxDB Set Adapter",
-                "sidebar_label": "InfluxDB Set Adapter",
-                "original_id": "org.apache.streampipes.connect.adapters.influxdb.set"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.influxdb.stream",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream",
-              "title": "InfluxDB Stream Adapter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.influxdb.stream",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.influxdb.stream",
-                "title": "InfluxDB Stream Adapter",
-                "sidebar_label": "InfluxDB Stream Adapter",
-                "original_id": "org.apache.streampipes.connect.adapters.influxdb.stream"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.iss",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss",
-              "title": "ISS Location",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.iss",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.iss",
-                "title": "ISS Location",
-                "sidebar_label": "ISS Location",
-                "original_id": "org.apache.streampipes.connect.adapters.iss"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.mysql.set",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set",
-              "title": "MySQL Set Adapter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.mysql.set",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.mysql.set",
-                "title": "MySQL Set Adapter",
-                "sidebar_label": "MySQL Set Adapter",
-                "original_id": "org.apache.streampipes.connect.adapters.mysql.set"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.mysql.stream",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream",
-              "title": "MySql Stream Adapter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.mysql.stream",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.mysql.stream",
-                "title": "MySql Stream Adapter",
-                "sidebar_label": "MySql Stream Adapter",
-                "original_id": "org.apache.streampipes.connect.adapters.mysql.stream"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.netio.mqtt",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt",
-              "title": "NETIO MQTT M2M",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.netio.mqtt",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.netio.mqtt",
-                "title": "NETIO MQTT M2M",
-                "sidebar_label": "NETIO MQTT M2M",
-                "original_id": "org.apache.streampipes.connect.adapters.netio.mqtt"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.netio.rest",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest",
-              "title": "NETIO http JSON",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.netio.rest",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.netio.rest",
-                "title": "NETIO http JSON",
-                "sidebar_label": "NETIO http JSON",
-                "original_id": "org.apache.streampipes.connect.adapters.netio.rest"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
-              "title": "NSW Traffic Cameras",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
-                "title": "NSW Traffic Cameras",
-                "sidebar_label": "NSW Traffic Cameras",
-                "original_id": "org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.opcua",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua",
-              "title": "OPC UA",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.opcua",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.opcua",
-                "title": "OPC UA",
-                "sidebar_label": "OPC UA",
-                "original_id": "org.apache.streampipes.connect.adapters.opcua"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.plc4x.s7",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7",
-              "title": "PLC4X S7",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.plc4x.s7",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.plc4x.s7",
-                "title": "PLC4X S7",
-                "sidebar_label": "PLC4X S7",
-                "original_id": "org.apache.streampipes.connect.adapters.plc4x.s7"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.ros",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros",
-              "title": "ROS Bridge",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.ros",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.ros",
-                "title": "ROS Bridge",
-                "sidebar_label": "ROS Bridge",
-                "original_id": "org.apache.streampipes.connect.adapters.ros"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
-              "title": "Random Data Simulator (Set)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.simulator.randomdataset",
-                "title": "Random Data Simulator (Set)",
-                "sidebar_label": "Random Data Simulator (Set)",
-                "original_id": "org.apache.streampipes.connect.adapters.simulator.randomdataset"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
-              "title": "Random Data Simulator (Stream)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.simulator.randomdatastream",
-                "title": "Random Data Simulator (Stream)",
-                "sidebar_label": "Random Data Simulator (Stream)",
-                "original_id": "org.apache.streampipes.connect.adapters.simulator.randomdatastream"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.slack",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack",
-              "title": "Slack",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.slack",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.slack",
-                "title": "Slack",
-                "sidebar_label": "Slack",
-                "original_id": "org.apache.streampipes.connect.adapters.slack"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.ti",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti",
-              "title": "TI Sensor Tag",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.ti",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.ti",
-                "title": "TI Sensor Tag",
-                "sidebar_label": "TI Sensor Tag",
-                "original_id": "org.apache.streampipes.connect.adapters.ti"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
-              "title": "Wikipedia Edits",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.wikipedia.edit",
-                "title": "Wikipedia Edits",
-                "sidebar_label": "Wikipedia Edits",
-                "original_id": "org.apache.streampipes.connect.adapters.wikipedia.edit"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.adapters.wikipedia.new",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new",
-              "title": "Wikipedia New Articles",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.adapters.wikipedia.new",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.adapters.wikipedia.new",
-                "title": "Wikipedia New Articles",
-                "sidebar_label": "Wikipedia New Articles",
-                "original_id": "org.apache.streampipes.connect.adapters.wikipedia.new"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.file",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file",
-              "title": "File Stream",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.protocol.stream.file",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.protocol.stream.file",
-                "title": "File Stream",
-                "sidebar_label": "File Stream",
-                "original_id": "org.apache.streampipes.connect.protocol.stream.file"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.http",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http",
-              "title": "HTTP Stream",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.protocol.stream.http",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.protocol.stream.http",
-                "title": "HTTP Stream",
-                "sidebar_label": "HTTP Stream",
-                "original_id": "org.apache.streampipes.connect.protocol.stream.http"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.kafka",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka",
-              "title": "Apache Kafka",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.protocol.stream.kafka",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.protocol.stream.kafka",
-                "title": "Apache Kafka",
-                "sidebar_label": "Apache Kafka",
-                "original_id": "org.apache.streampipes.connect.protocol.stream.kafka"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.mqtt",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt",
-              "title": "MQTT",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.protocol.stream.mqtt",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.protocol.stream.mqtt",
-                "title": "MQTT",
-                "sidebar_label": "MQTT",
-                "original_id": "org.apache.streampipes.connect.protocol.stream.mqtt"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.connect.protocol.stream.pulsar",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar",
-              "title": "Apache Pulsar",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.connect.protocol.stream.pulsar",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.connect.protocol.stream.pulsar",
-                "title": "Apache Pulsar",
-                "sidebar_label": "Apache Pulsar",
-                "original_id": "org.apache.streampipes.connect.protocol.stream.pulsar"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.geo.flink",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink",
-              "title": "Spatial Grid Enrichment",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.geo.flink",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.flink",
-                "title": "Spatial Grid Enrichment",
-                "sidebar_label": "Spatial Grid Enrichment",
-                "original_id": "org.apache.streampipes.processor.geo.flink"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "title": "Google Maps Geocoder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.jvm.geocoding",
-                "title": "Google Maps Geocoder",
-                "sidebar_label": "Google Maps Geocoder",
-                "original_id": "org.apache.streampipes.processor.geo.jvm.geocoding"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "title": "Reverse Geocoder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-                "title": "Reverse Geocoder",
-                "sidebar_label": "Reverse Geocoder",
-                "original_id": "org.apache.streampipes.processor.geo.jvm.reversegeocoding"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "title": "Static Google Maps Geocoder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-                "title": "Static Google Maps Geocoder",
-                "sidebar_label": "Static Google Maps Geocoder",
-                "original_id": "org.apache.streampipes.processor.geo.jvm.staticgeocoding"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "title": "Generic Image Classification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-                "title": "Generic Image Classification",
-                "sidebar_label": "Generic Image Classification",
-                "original_id": "org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
-              "title": "Image Cropper",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
-                "title": "Image Cropper",
-                "sidebar_label": "Image Cropper",
-                "original_id": "org.apache.streampipes.processor.imageclassification.jvm.image-cropper"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "title": "Image Enricher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-                "title": "Image Enricher",
-                "sidebar_label": "Image Enricher",
-                "original_id": "org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processor.imageclassification.qrcode",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode",
-              "title": "QR Code Reader",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processor.imageclassification.qrcode",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processor.imageclassification.qrcode",
-                "title": "QR Code Reader",
-                "sidebar_label": "QR Code Reader",
-                "original_id": "org.apache.streampipes.processor.imageclassification.qrcode"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "title": "Aggregation",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.aggregation",
-                "title": "Aggregation",
-                "sidebar_label": "Aggregation",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.aggregation"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.aggregation.flink.count",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count",
-              "title": "Count Aggregation",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.aggregation.flink.count",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.count",
-                "title": "Count Aggregation",
-                "sidebar_label": "Count Aggregation",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.count"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "title": "Event Counter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.eventcount",
-                "title": "Event Counter",
-                "sidebar_label": "Event Counter",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.eventcount"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.aggregation.flink.rate",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate",
-              "title": "Event Rate",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.aggregation.flink.rate",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.aggregation.flink.rate",
-                "title": "Event Rate",
-                "sidebar_label": "Event Rate",
-                "original_id": "org.apache.streampipes.processors.aggregation.flink.rate"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "title": "Math",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-                "title": "Math",
-                "sidebar_label": "Math",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.math.mathop"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "title": "Static Math",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-                "title": "Static Math",
-                "sidebar_label": "Static Math",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "title": "Trigonometry Functions",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-                "title": "Trigonometry Functions",
-                "sidebar_label": "Trigonometry Functions",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.trigonometry"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "title": "URL Dereferencing",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-                "title": "URL Dereferencing",
-                "sidebar_label": "URL Dereferencing",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.processor.urldereferencing"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "title": "Timestamp Enricher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.flink.timestamp",
-                "title": "Timestamp Enricher",
-                "sidebar_label": "Timestamp Enricher",
-                "original_id": "org.apache.streampipes.processors.enricher.flink.timestamp"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "title": "Size Measure",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-                "title": "Size Measure",
-                "sidebar_label": "Size Measure",
-                "original_id": "org.apache.streampipes.processors.enricher.jvm.sizemeasure"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.compose",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose",
-              "title": "Compose",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.compose",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.compose",
-                "title": "Compose",
-                "sidebar_label": "Compose",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.compose"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.enrich",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich",
-              "title": "Merge By Enrich",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.enrich",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.enrich",
-                "title": "Merge By Enrich",
-                "sidebar_label": "Merge By Enrich",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.enrich"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.merge",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge",
-              "title": "Merge By Time",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.merge",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.merge",
-                "title": "Merge By Time",
-                "sidebar_label": "Merge By Time",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.merge"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "title": "Numerical Filter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.numericalfilter",
-                "title": "Numerical Filter",
-                "sidebar_label": "Numerical Filter",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.numericalfilter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "title": "Numerical Text Filter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-                "title": "Numerical Text Filter",
-                "sidebar_label": "Numerical Text Filter",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.numericaltextfilter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.project",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project",
-              "title": "Projection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.project",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.project",
-                "title": "Projection",
-                "sidebar_label": "Projection",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.project"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "title": "Text Filter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.textfilter",
-                "title": "Text Filter",
-                "sidebar_label": "Text Filter",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.textfilter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.filters.jvm.threshold",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold",
-              "title": "Threshold Detector",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.filters.jvm.threshold",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.filters.jvm.threshold",
-                "title": "Threshold Detector",
-                "sidebar_label": "Threshold Detector",
-                "original_id": "org.apache.streampipes.processors.filters.jvm.threshold"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
-              "title": "Creates JTS Point",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
-                "title": "Creates JTS Point",
-                "sidebar_label": "Creates JTS Point",
-                "original_id": "org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
-              "title": "EPSG Code",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
-                "title": "EPSG Code",
-                "sidebar_label": "EPSG Code",
-                "original_id": "org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
-              "title": "Single Trajectory Creator",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
-                "title": "Single Trajectory Creator",
-                "sidebar_label": "Single Trajectory Creator",
-                "original_id": "org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "title": "Distance Calculator",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-                "title": "Distance Calculator",
-                "sidebar_label": "Distance Calculator",
-                "original_id": "org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
-              "title": "Speed Calculator",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.geo.jvm.processor.speed",
-                "title": "Speed Calculator",
-                "sidebar_label": "Speed Calculator",
-                "original_id": "org.apache.streampipes.processors.geo.jvm.processor.speed"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-              "title": "Static Distance Calculator",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-                "title": "Static Distance Calculator",
-                "sidebar_label": "Static Distance Calculator",
-                "original_id": "org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
-              "title": "Absence",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.pattern-detection.flink.absence",
-                "title": "Absence",
-                "sidebar_label": "Absence",
-                "original_id": "org.apache.streampipes.processors.pattern-detection.flink.absence"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.pattern-detection.flink.and",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and",
-              "title": "And",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.pattern-detection.flink.and",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.pattern-detection.flink.and",
-                "title": "And",
-                "sidebar_label": "And",
-                "original_id": "org.apache.streampipes.processors.pattern-detection.flink.and"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "title": "Peak Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-                "title": "Peak Detection",
-                "sidebar_label": "Peak Detection",
-                "original_id": "org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
-              "title": "Sequence",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.pattern-detection.flink.sequence",
-                "title": "Sequence",
-                "sidebar_label": "Sequence",
-                "original_id": "org.apache.streampipes.processors.pattern-detection.flink.sequence"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.frequency",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency",
-              "title": "Frequency Calculation",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.frequency",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.frequency",
-                "title": "Frequency Calculation",
-                "sidebar_label": "Frequency Calculation",
-                "original_id": "org.apache.streampipes.processors.siddhi.frequency"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.frequencychange",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange",
-              "title": "Frequency Change",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.frequencychange",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.frequencychange",
-                "title": "Frequency Change",
-                "sidebar_label": "Frequency Change",
-                "original_id": "org.apache.streampipes.processors.siddhi.frequencychange"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.increase",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase",
-              "title": "Trend",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.increase",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.increase",
-                "title": "Trend",
-                "sidebar_label": "Trend",
-                "original_id": "org.apache.streampipes.processors.siddhi.increase"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "title": "Numerical Filter (Siddhi)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.numericalfilter",
-                "title": "Numerical Filter (Siddhi)",
-                "sidebar_label": "Numerical Filter (Siddhi)",
-                "original_id": "org.apache.streampipes.processors.siddhi.numericalfilter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.sequence",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence",
-              "title": "Sequence Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.sequence",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.sequence",
-                "title": "Sequence Detection",
-                "sidebar_label": "Sequence Detection",
-                "original_id": "org.apache.streampipes.processors.siddhi.sequence"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.siddhi.stop",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop",
-              "title": "Stream Stop Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.siddhi.stop",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.siddhi.stop",
-                "title": "Stream Stop Detection",
-                "sidebar_label": "Stream Stop Detection",
-                "original_id": "org.apache.streampipes.processors.siddhi.stop"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
-              "title": "Statistics Summary",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.statistics.flink.statistics-summary",
-                "title": "Statistics Summary",
-                "sidebar_label": "Statistics Summary",
-                "original_id": "org.apache.streampipes.processors.statistics.flink.statistics-summary"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "title": "Language Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.flink.languagedetection",
-                "title": "Language Detection",
-                "sidebar_label": "Language Detection",
-                "original_id": "org.apache.streampipes.processors.textmining.flink.languagedetection"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "title": "Word Count",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.flink.wordcount",
-                "title": "Word Count",
-                "sidebar_label": "Word Count",
-                "original_id": "org.apache.streampipes.processors.textmining.flink.wordcount"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "title": "Chunker (English)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.chunker",
-                "title": "Chunker (English)",
-                "sidebar_label": "Chunker (English)",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.chunker"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "title": "Language Detection",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.languagedetection",
-                "title": "Language Detection",
-                "sidebar_label": "Language Detection",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.languagedetection"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "title": "Name Finder",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.namefinder",
-                "title": "Name Finder",
-                "sidebar_label": "Name Finder",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.namefinder"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "title": "Part of Speech (English)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.partofspeech",
-                "title": "Part of Speech (English)",
-                "sidebar_label": "Part of Speech (English)",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.partofspeech"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "title": "Sentence Detection (English)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-                "title": "Sentence Detection (English)",
-                "sidebar_label": "Sentence Detection (English)",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.sentencedetection"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "title": "Tokenizer (English)",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.textmining.jvm.tokenizer",
-                "title": "Tokenizer (English)",
-                "sidebar_label": "Tokenizer (English)",
-                "original_id": "org.apache.streampipes.processors.textmining.jvm.tokenizer"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "title": "Field Converter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.field-converter",
-                "title": "Field Converter",
-                "sidebar_label": "Field Converter",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.field-converter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "title": "Field Mapper",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.field-mapper",
-                "title": "Field Mapper",
-                "sidebar_label": "Field Mapper",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.field-mapper"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "title": "Field Renamer",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.field-renamer",
-                "title": "Field Renamer",
-                "sidebar_label": "Field Renamer",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.field-renamer"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "title": "Field Hasher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.fieldhasher",
-                "title": "Field Hasher",
-                "sidebar_label": "Field Hasher",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.fieldhasher"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "title": "Measurement Unit Converter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-                "title": "Measurement Unit Converter",
-                "sidebar_label": "Measurement Unit Converter",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "title": "Boilerplate Removal",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-                "title": "Boilerplate Removal",
-                "sidebar_label": "Boilerplate Removal",
-                "original_id": "org.apache.streampipes.processors.transformation.flink.processor.boilerplate"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "title": "Boolean Counter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-                "title": "Boolean Counter",
-                "sidebar_label": "Boolean Counter",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "title": "Boolean Inverter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-                "title": "Boolean Inverter",
-                "sidebar_label": "Boolean Inverter",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.inverter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "title": "Measure Time Between Two Sensors",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-                "title": "Measure Time Between Two Sensors",
-                "sidebar_label": "Measure Time Between Two Sensors",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "title": "Boolean Timer",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-                "title": "Boolean Timer",
-                "sidebar_label": "Boolean Timer",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timer"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "title": "Value Changed",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.changed-value",
-                "title": "Value Changed",
-                "sidebar_label": "Value Changed",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.changed-value"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "title": "Count Array",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.count-array",
-                "title": "Count Array",
-                "sidebar_label": "Count Array",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.count-array"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "title": "CSV Metadata Enricher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-                "title": "CSV Metadata Enricher",
-                "sidebar_label": "CSV Metadata Enricher",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.csvmetadata"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "title": "Calculate Duration",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.duration-value",
-                "title": "Calculate Duration",
-                "sidebar_label": "Calculate Duration",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.duration-value"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "title": "Timestamp Extractor",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-                "title": "Timestamp Extractor",
-                "sidebar_label": "Timestamp Extractor",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "title": "Split Array",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.split-array",
-                "title": "Split Array",
-                "sidebar_label": "Split Array",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.split-array"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
-              "title": "String Counter",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
-                "title": "String Counter",
-                "sidebar_label": "String Counter",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.stringoperator.counter"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-              "title": "String Timer",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-                "title": "String Timer",
-                "sidebar_label": "String Timer",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.stringoperator.timer"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "title": "Task Duration",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.taskduration",
-                "title": "Task Duration",
-                "sidebar_label": "Task Duration",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.taskduration"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "title": "Transform to boolean",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-                "title": "Transform to boolean",
-                "sidebar_label": "Transform to boolean",
-                "original_id": "org.apache.streampipes.processors.transformation.jvm.transform-to-boolean"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.protocol.set.file",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.protocol.set.file",
-              "title": "File Set",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.protocol.set.file.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.protocol.set.file",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.protocol.set.file",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.protocol.set.file",
-                "title": "File Set",
-                "sidebar_label": "File Set",
-                "original_id": "org.apache.streampipes.protocol.set.file"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.protocol.set.http",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.protocol.set.http",
-              "title": "HTTP Set",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.protocol.set.http.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.protocol.set.http",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.protocol.set.http",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.protocol.set.http",
-                "title": "HTTP Set",
-                "sidebar_label": "HTTP Set",
-                "original_id": "org.apache.streampipes.protocol.set.http"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "title": "Buffered REST Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-                "title": "Buffered REST Publisher",
-                "sidebar_label": "Buffered REST Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.bufferrest"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "title": "JMS Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.jms",
-                "title": "JMS Publisher",
-                "sidebar_label": "JMS Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.jms"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "title": "Kafka Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.kafka",
-                "title": "Kafka Publisher",
-                "sidebar_label": "Kafka Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.kafka"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
-              "title": "MQTT Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.mqtt",
-                "title": "MQTT Publisher",
-                "sidebar_label": "MQTT Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.mqtt"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "title": "Pulsar Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.pulsar",
-                "title": "Pulsar Publisher",
-                "sidebar_label": "Pulsar Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.pulsar"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "title": "RabbitMQ Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-                "title": "RabbitMQ Publisher",
-                "sidebar_label": "RabbitMQ Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "title": "REST Publisher",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.brokers.jvm.rest",
-                "title": "REST Publisher",
-                "sidebar_label": "REST Publisher",
-                "original_id": "org.apache.streampipes.sinks.brokers.jvm.rest"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.databases.ditto",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto",
-              "title": "Eclipse Ditto",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.databases.ditto",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.ditto",
-                "title": "Eclipse Ditto",
-                "sidebar_label": "Eclipse Ditto",
-                "original_id": "org.apache.streampipes.sinks.databases.ditto"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "title": "Elasticsearch",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.flink.elasticsearch",
-                "title": "Elasticsearch",
-                "sidebar_label": "Elasticsearch",
-                "original_id": "org.apache.streampipes.sinks.databases.flink.elasticsearch"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "title": "CouchDB",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.couchdb",
-                "title": "CouchDB",
-                "sidebar_label": "CouchDB",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.couchdb"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "title": "InfluxDB",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.influxdb",
-                "title": "InfluxDB",
-                "sidebar_label": "InfluxDB",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.influxdb"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "title": "IoTDB",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.iotdb",
-                "title": "IoTDB",
-                "sidebar_label": "IoTDB",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.iotdb"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "title": "OPC-UA",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.opcua",
-                "title": "OPC-UA",
-                "sidebar_label": "OPC-UA",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.opcua"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "title": "PostgreSQL",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.databases.jvm.postgresql",
-                "title": "PostgreSQL",
-                "sidebar_label": "PostgreSQL",
-                "original_id": "org.apache.streampipes.sinks.databases.jvm.postgresql"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "title": "Dashboard Sink",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.internal.jvm.dashboard",
-                "title": "Dashboard Sink",
-                "sidebar_label": "Dashboard Sink",
-                "original_id": "org.apache.streampipes.sinks.internal.jvm.dashboard"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "title": "Data Lake",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.internal.jvm.datalake",
-                "title": "Data Lake",
-                "sidebar_label": "Data Lake",
-                "original_id": "org.apache.streampipes.sinks.internal.jvm.datalake"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.internal.jvm.notification",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification",
-              "title": "Notification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.internal.jvm.notification",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.internal.jvm.notification",
-                "title": "Notification",
-                "sidebar_label": "Notification",
-                "original_id": "org.apache.streampipes.sinks.internal.jvm.notification"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.notifications.jvm.email",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email",
-              "title": "Email Notification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.notifications.jvm.email",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.notifications.jvm.email",
-                "title": "Email Notification",
-                "sidebar_label": "Email Notification",
-                "original_id": "org.apache.streampipes.sinks.notifications.jvm.email"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "title": "OneSignal",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.notifications.jvm.onesignal",
-                "title": "OneSignal",
-                "sidebar_label": "OneSignal",
-                "original_id": "org.apache.streampipes.sinks.notifications.jvm.onesignal"
-              }
-            },
-            {
-              "unversionedId": "pe/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "id": "version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "title": "Slack Notification",
-              "description": "<!--",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md",
-              "sourceDirName": "pe",
-              "slug": "/pe/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "permalink": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "org.apache.streampipes.sinks.notifications.jvm.slack",
-                "title": "Slack Notification",
-                "sidebar_label": "Slack Notification",
-                "original_id": "org.apache.streampipes.sinks.notifications.jvm.slack"
-              }
-            },
-            {
-              "unversionedId": "user-guide-first-steps",
-              "id": "version-0.63.0-pre-asf/user-guide-first-steps",
-              "title": "First steps",
-              "description": "In this section, you'll learn how to create and run pipelines in StreamPipes.",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/user-guide-first-steps.md",
-              "sourceDirName": ".",
-              "slug": "/user-guide-first-steps",
-              "permalink": "/docs/0.63.0-pre-asf/user-guide-first-steps",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "user-guide-first-steps",
-                "title": "First steps",
-                "sidebar_label": "First steps",
-                "original_id": "user-guide-first-steps"
-              }
-            },
-            {
-              "unversionedId": "user-guide-installation",
-              "id": "version-0.63.0-pre-asf/user-guide-installation",
-              "title": "Installation",
-              "description": "Prerequisites",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/user-guide-installation.md",
-              "sourceDirName": ".",
-              "slug": "/user-guide-installation",
-              "permalink": "/docs/0.63.0-pre-asf/user-guide-installation",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "user-guide-installation",
-                "title": "Installation",
-                "sidebar_label": "Installation",
-                "original_id": "user-guide-installation"
-              }
-            },
-            {
-              "unversionedId": "user-guide-tour",
-              "id": "version-0.63.0-pre-asf/user-guide-tour",
-              "title": "Tour",
-              "description": "StreamPipes is a framework that enables domain experts to model and execute stream processing pipelines in a big data infrastructure.",
-              "source": "@site/versioned_docs/version-0.63.0-pre-asf/user-guide-tour.md",
-              "sourceDirName": ".",
-              "slug": "/user-guide-tour",
-              "permalink": "/docs/0.63.0-pre-asf/user-guide-tour",
-              "draft": false,
-              "tags": [],
-              "version": "0.63.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "user-guide-tour",
-                "title": "Tour",
-                "sidebar_label": "Tour",
-                "original_id": "user-guide-tour"
-              }
-            }
-          ],
-          "drafts": [],
-          "sidebars": {}
-        },
-        {
-          "versionName": "0.62.0-pre-asf",
-          "label": "0.62.0-pre-asf",
-          "banner": "unmaintained",
-          "badge": true,
-          "noIndex": false,
-          "className": "docs-version-0.62.0-pre-asf",
-          "path": "/docs/0.62.0-pre-asf",
-          "tagsPath": "/docs/0.62.0-pre-asf/tags",
-          "isLast": false,
-          "sidebarFilePath": "C:\\git\\apache\\incubator-streampipes-website\\website-v2\\versioned_sidebars\\version-0.62.0-pre-asf-sidebars.json",
-          "contentPath": "C:\\git\\apache\\incubator-streampipes-website\\website-v2\\versioned_docs\\version-0.62.0-pre-asf",
-          "contentPathLocalized": "C:\\git\\apache\\incubator-streampipes-website\\website-v2\\i18n\\en\\docusaurus-plugin-content-docs\\version-0.62.0-pre-asf",
-          "docs": [
-            {
-              "unversionedId": "dev-guide-archetype",
-              "id": "version-0.62.0-pre-asf/dev-guide-archetype",
-              "title": "Start Developing",
-              "description": "In this tutorial we explain how you can use the Maven archetypes to develop your own StreamPipes processors and sinks.",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/dev-guide-archetype.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-archetype",
-              "permalink": "/docs/0.62.0-pre-asf/dev-guide-archetype",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-archetype",
-                "title": "Start Developing",
-                "sidebar_label": "Start Developing",
-                "original_id": "dev-guide-archetype"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-configuration",
-              "id": "version-0.62.0-pre-asf/dev-guide-configuration",
-              "title": "Configuration",
-              "description": "On this page we explain how the StreamPipes configuration works.",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/dev-guide-configuration.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-configuration",
-              "permalink": "/docs/0.62.0-pre-asf/dev-guide-configuration",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-configuration",
-                "title": "Configuration",
-                "sidebar_label": "Configuration",
-                "original_id": "dev-guide-configuration"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-development-environment",
-              "id": "version-0.62.0-pre-asf/dev-guide-development-environment",
-              "title": "Development Environment",
-              "description": "In this section, we describe our recommended minimum setup for locally setting up a development instance of StreamPipes needed to develop, run and test new pipeline elements.",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/dev-guide-environment.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-development-environment",
-              "permalink": "/docs/0.62.0-pre-asf/dev-guide-development-environment",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-development-environment",
-                "title": "Development Environment",
-                "sidebar_label": "Development Environment",
-                "original_id": "dev-guide-development-environment"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-tutorial-processors",
-              "id": "version-0.62.0-pre-asf/dev-guide-tutorial-processors",
-              "title": "Tutorial: Data Processors",
-              "description": "In this tutorial, we will add a new data processor using the Apache Flink wrapper.",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/dev-guide-tutorial-processors.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-tutorial-processors",
-              "permalink": "/docs/0.62.0-pre-asf/dev-guide-tutorial-processors",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-tutorial-processors",
-                "title": "Tutorial: Data Processors",
-                "sidebar_label": "Tutorial: Data Processors",
-                "original_id": "dev-guide-tutorial-processors"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-tutorial-sinks",
-              "id": "version-0.62.0-pre-asf/dev-guide-tutorial-sinks",
-              "title": "Tutorial: Data Sinks",
-              "description": "In this tutorial, we will add a new data sink using the standalone wrapper.",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/dev-guide-tutorial-sinks.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-tutorial-sinks",
-              "permalink": "/docs/0.62.0-pre-asf/dev-guide-tutorial-sinks",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-tutorial-sinks",
-                "title": "Tutorial: Data Sinks",
-                "sidebar_label": "Tutorial: Data Sinks",
-                "original_id": "dev-guide-tutorial-sinks"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-tutorial-sources",
-              "id": "version-0.62.0-pre-asf/dev-guide-tutorial-sources",
-              "title": "Tutorial: Data Sources",
-              "description": "In this tutorial, we will add a new data source consisting of a single data stream. The source will be provided as a standalone component (i.e., the description will be accessible through an integrated web server).",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/dev-guide-tutorial-sources.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-tutorial-sources",
-              "permalink": "/docs/0.62.0-pre-asf/dev-guide-tutorial-sources",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-tutorial-sources",
-                "title": "Tutorial: Data Sources",
-                "sidebar_label": "Tutorial: Data Sources",
-                "original_id": "dev-guide-tutorial-sources"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processor.geo.flink/version-0.62.0-org.streampipes.processor.geo.flink",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processor.geo.flink/version-0.62.0-org.streampipes.processor.geo.flink",
-              "title": "Spatial Grid Enrichment",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processor.geo.flink/documentation.md",
-              "sourceDirName": "org.streampipes.processor.geo.flink",
-              "slug": "/org.streampipes.processor.geo.flink/version-0.62.0-org.streampipes.processor.geo.flink",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processor.geo.flink/version-0.62.0-org.streampipes.processor.geo.flink",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processor.geo.flink",
-                "title": "Spatial Grid Enrichment",
-                "sidebar_label": "Spatial Grid Enrichment",
-                "original_id": "org.streampipes.processor.geo.flink"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processor.imageclassification.jvm.generic-image-classification/version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "title": "Generic Image Classification",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md",
-              "sourceDirName": "org.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "slug": "/org.streampipes.processor.imageclassification.jvm.generic-image-classification/version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification",
-                "title": "Generic Image Classification",
-                "sidebar_label": "Generic Image Classification",
-                "original_id": "org.streampipes.processor.imageclassification.jvm.generic-image-classification"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processor.imageclassification.jvm.image-enricher/version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher",
-              "title": "Image Enricher",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md",
-              "sourceDirName": "org.streampipes.processor.imageclassification.jvm.image-enricher",
-              "slug": "/org.streampipes.processor.imageclassification.jvm.image-enricher/version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher",
-                "title": "Image Enricher",
-                "sidebar_label": "Image Enricher",
-                "original_id": "org.streampipes.processor.imageclassification.jvm.image-enricher"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processor.imageclassification.qrcode/version-0.62.0-org.streampipes.processor.imageclassification.qrcode",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processor.imageclassification.qrcode/version-0.62.0-org.streampipes.processor.imageclassification.qrcode",
-              "title": "QR Code Reader",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processor.imageclassification.qrcode/documentation.md",
-              "sourceDirName": "org.streampipes.processor.imageclassification.qrcode",
-              "slug": "/org.streampipes.processor.imageclassification.qrcode/version-0.62.0-org.streampipes.processor.imageclassification.qrcode",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processor.imageclassification.qrcode/version-0.62.0-org.streampipes.processor.imageclassification.qrcode",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processor.imageclassification.qrcode",
-                "title": "QR Code Reader",
-                "sidebar_label": "QR Code Reader",
-                "original_id": "org.streampipes.processor.imageclassification.qrcode"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.aggregation.flink.aggregation/version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation",
-              "title": "Aggregation",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/documentation.md",
-              "sourceDirName": "org.streampipes.processors.aggregation.flink.aggregation",
-              "slug": "/org.streampipes.processors.aggregation.flink.aggregation/version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation",
-                "title": "Aggregation",
-                "sidebar_label": "Aggregation",
-                "original_id": "org.streampipes.processors.aggregation.flink.aggregation"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.aggregation.flink.rate/version-0.62.0-org.streampipes.processors.aggregation.flink.rate",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processors.aggregation.flink.rate/version-0.62.0-org.streampipes.processors.aggregation.flink.rate",
-              "title": "Event Rate",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.aggregation.flink.rate/documentation.md",
-              "sourceDirName": "org.streampipes.processors.aggregation.flink.rate",
-              "slug": "/org.streampipes.processors.aggregation.flink.rate/version-0.62.0-org.streampipes.processors.aggregation.flink.rate",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processors.aggregation.flink.rate/version-0.62.0-org.streampipes.processors.aggregation.flink.rate",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.aggregation.flink.rate",
-                "title": "Event Rate",
-                "sidebar_label": "Event Rate",
-                "original_id": "org.streampipes.processors.aggregation.flink.rate"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.enricher.flink.processor.math.mathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop",
-              "title": "Math",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md",
-              "sourceDirName": "org.streampipes.processors.enricher.flink.processor.math.mathop",
-              "slug": "/org.streampipes.processors.enricher.flink.processor.math.mathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop",
-                "title": "Math",
-                "sidebar_label": "Math",
-                "original_id": "org.streampipes.processors.enricher.flink.processor.math.mathop"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.enricher.flink.processor.math.staticmathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "title": "Static Math",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md",
-              "sourceDirName": "org.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "slug": "/org.streampipes.processors.enricher.flink.processor.math.staticmathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop",
-                "title": "Static Math",
-                "sidebar_label": "Static Math",
-                "original_id": "org.streampipes.processors.enricher.flink.processor.math.staticmathop"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.enricher.flink.processor.trigonometry/version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry",
-              "title": "Trigonometry Functions",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md",
-              "sourceDirName": "org.streampipes.processors.enricher.flink.processor.trigonometry",
-              "slug": "/org.streampipes.processors.enricher.flink.processor.trigonometry/version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry",
-                "title": "Trigonometry Functions",
-                "sidebar_label": "Trigonometry Functions",
-                "original_id": "org.streampipes.processors.enricher.flink.processor.trigonometry"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.enricher.flink.processor.urldereferencing/version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "title": "URL Dereferencing",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md",
-              "sourceDirName": "org.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "slug": "/org.streampipes.processors.enricher.flink.processor.urldereferencing/version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing",
-                "title": "URL Dereferencing",
-                "sidebar_label": "URL Dereferencing",
-                "original_id": "org.streampipes.processors.enricher.flink.processor.urldereferencing"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.enricher.flink.timestamp/version-0.62.0-org.streampipes.processors.enricher.flink.timestamp",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.timestamp/version-0.62.0-org.streampipes.processors.enricher.flink.timestamp",
-              "title": "Timestamp Enricher",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.timestamp/documentation.md",
-              "sourceDirName": "org.streampipes.processors.enricher.flink.timestamp",
-              "slug": "/org.streampipes.processors.enricher.flink.timestamp/version-0.62.0-org.streampipes.processors.enricher.flink.timestamp",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processors.enricher.flink.timestamp/version-0.62.0-org.streampipes.processors.enricher.flink.timestamp",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.enricher.flink.timestamp",
-                "title": "Timestamp Enricher",
-                "sidebar_label": "Timestamp Enricher",
-                "original_id": "org.streampipes.processors.enricher.flink.timestamp"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.filters.jvm.compose/version-0.62.0-org.streampipes.processors.filters.jvm.compose",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processors.filters.jvm.compose/version-0.62.0-org.streampipes.processors.filters.jvm.compose",
-              "title": "Compose",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.filters.jvm.compose/documentation.md",
-              "sourceDirName": "org.streampipes.processors.filters.jvm.compose",
-              "slug": "/org.streampipes.processors.filters.jvm.compose/version-0.62.0-org.streampipes.processors.filters.jvm.compose",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processors.filters.jvm.compose/version-0.62.0-org.streampipes.processors.filters.jvm.compose",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.filters.jvm.compose",
-                "title": "Compose",
-                "sidebar_label": "Compose",
-                "original_id": "org.streampipes.processors.filters.jvm.compose"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.filters.jvm.numericalfilter/version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter",
-              "title": "Numerical Filter",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/documentation.md",
-              "sourceDirName": "org.streampipes.processors.filters.jvm.numericalfilter",
-              "slug": "/org.streampipes.processors.filters.jvm.numericalfilter/version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter",
-                "title": "Numerical Filter",
-                "sidebar_label": "Numerical Filter",
-                "original_id": "org.streampipes.processors.filters.jvm.numericalfilter"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.filters.jvm.project/version-0.62.0-org.streampipes.processors.filters.jvm.project",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processors.filters.jvm.project/version-0.62.0-org.streampipes.processors.filters.jvm.project",
-              "title": "Projection",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.filters.jvm.project/documentation.md",
-              "sourceDirName": "org.streampipes.processors.filters.jvm.project",
-              "slug": "/org.streampipes.processors.filters.jvm.project/version-0.62.0-org.streampipes.processors.filters.jvm.project",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processors.filters.jvm.project/version-0.62.0-org.streampipes.processors.filters.jvm.project",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.filters.jvm.project",
-                "title": "Projection",
-                "sidebar_label": "Projection",
-                "original_id": "org.streampipes.processors.filters.jvm.project"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.filters.jvm.textfilter/version-0.62.0-org.streampipes.processors.filters.jvm.textfilter",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processors.filters.jvm.textfilter/version-0.62.0-org.streampipes.processors.filters.jvm.textfilter",
-              "title": "Text Filter",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.filters.jvm.textfilter/documentation.md",
-              "sourceDirName": "org.streampipes.processors.filters.jvm.textfilter",
-              "slug": "/org.streampipes.processors.filters.jvm.textfilter/version-0.62.0-org.streampipes.processors.filters.jvm.textfilter",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processors.filters.jvm.textfilter/version-0.62.0-org.streampipes.processors.filters.jvm.textfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.filters.jvm.textfilter",
-                "title": "Text Filter",
-                "sidebar_label": "Text Filter",
-                "original_id": "org.streampipes.processors.filters.jvm.textfilter"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.pattern-detection.flink.peak-detection/version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection",
-              "title": "Peak Detection",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md",
-              "sourceDirName": "org.streampipes.processors.pattern-detection.flink.peak-detection",
-              "slug": "/org.streampipes.processors.pattern-detection.flink.peak-detection/version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection",
-                "title": "Peak Detection",
-                "sidebar_label": "Peak Detection",
-                "original_id": "org.streampipes.processors.pattern-detection.flink.peak-detection"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.siddhi.frequency/version-0.62.0-org.streampipes.processors.siddhi.frequency",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processors.siddhi.frequency/version-0.62.0-org.streampipes.processors.siddhi.frequency",
-              "title": "Frequency Calculation",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.frequency/documentation.md",
-              "sourceDirName": "org.streampipes.processors.siddhi.frequency",
-              "slug": "/org.streampipes.processors.siddhi.frequency/version-0.62.0-org.streampipes.processors.siddhi.frequency",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processors.siddhi.frequency/version-0.62.0-org.streampipes.processors.siddhi.frequency",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.siddhi.frequency",
-                "title": "Frequency Calculation",
-                "sidebar_label": "Frequency Calculation",
-                "original_id": "org.streampipes.processors.siddhi.frequency"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.siddhi.frequencychange/version-0.62.0-org.streampipes.processors.siddhi.frequencychange",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processors.siddhi.frequencychange/version-0.62.0-org.streampipes.processors.siddhi.frequencychange",
-              "title": "Frequency Change",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.frequencychange/documentation.md",
-              "sourceDirName": "org.streampipes.processors.siddhi.frequencychange",
-              "slug": "/org.streampipes.processors.siddhi.frequencychange/version-0.62.0-org.streampipes.processors.siddhi.frequencychange",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processors.siddhi.frequencychange/version-0.62.0-org.streampipes.processors.siddhi.frequencychange",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.siddhi.frequencychange",
-                "title": "Frequency Change",
-                "sidebar_label": "Frequency Change",
-                "original_id": "org.streampipes.processors.siddhi.frequencychange"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.siddhi.increase/version-0.62.0-org.streampipes.processors.siddhi.increase",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processors.siddhi.increase/version-0.62.0-org.streampipes.processors.siddhi.increase",
-              "title": "Trend",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.increase/documentation.md",
-              "sourceDirName": "org.streampipes.processors.siddhi.increase",
-              "slug": "/org.streampipes.processors.siddhi.increase/version-0.62.0-org.streampipes.processors.siddhi.increase",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processors.siddhi.increase/version-0.62.0-org.streampipes.processors.siddhi.increase",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.siddhi.increase",
-                "title": "Trend",
-                "sidebar_label": "Trend",
-                "original_id": "org.streampipes.processors.siddhi.increase"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.siddhi.numericalfilter/version-0.62.0-org.streampipes.processors.siddhi.numericalfilter",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processors.siddhi.numericalfilter/version-0.62.0-org.streampipes.processors.siddhi.numericalfilter",
-              "title": "Numerical Filter (Siddhi)",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.numericalfilter/documentation.md",
-              "sourceDirName": "org.streampipes.processors.siddhi.numericalfilter",
-              "slug": "/org.streampipes.processors.siddhi.numericalfilter/version-0.62.0-org.streampipes.processors.siddhi.numericalfilter",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processors.siddhi.numericalfilter/version-0.62.0-org.streampipes.processors.siddhi.numericalfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.siddhi.numericalfilter",
-                "title": "Numerical Filter (Siddhi)",
-                "sidebar_label": "Numerical Filter (Siddhi)",
-                "original_id": "org.streampipes.processors.siddhi.numericalfilter"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.siddhi.sequence/version-0.62.0-org.streampipes.processors.siddhi.sequence",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processors.siddhi.sequence/version-0.62.0-org.streampipes.processors.siddhi.sequence",
-              "title": "Sequence Detection",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.sequence/documentation.md",
-              "sourceDirName": "org.streampipes.processors.siddhi.sequence",
-              "slug": "/org.streampipes.processors.siddhi.sequence/version-0.62.0-org.streampipes.processors.siddhi.sequence",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processors.siddhi.sequence/version-0.62.0-org.streampipes.processors.siddhi.sequence",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.siddhi.sequence",
-                "title": "Sequence Detection",
-                "sidebar_label": "Sequence Detection",
-                "original_id": "org.streampipes.processors.siddhi.sequence"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.siddhi.stop/version-0.62.0-org.streampipes.processors.siddhi.stop",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processors.siddhi.stop/version-0.62.0-org.streampipes.processors.siddhi.stop",
-              "title": "Stream Stop Detection",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.stop/documentation.md",
-              "sourceDirName": "org.streampipes.processors.siddhi.stop",
-              "slug": "/org.streampipes.processors.siddhi.stop/version-0.62.0-org.streampipes.processors.siddhi.stop",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processors.siddhi.stop/version-0.62.0-org.streampipes.processors.siddhi.stop",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.siddhi.stop",
-                "title": "Stream Stop Detection",
-                "sidebar_label": "Stream Stop Detection",
-                "original_id": "org.streampipes.processors.siddhi.stop"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.textmining.flink.languagedetection/version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection",
-              "title": "Language Detection",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/documentation.md",
-              "sourceDirName": "org.streampipes.processors.textmining.flink.languagedetection",
-              "slug": "/org.streampipes.processors.textmining.flink.languagedetection/version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection",
-                "title": "Language Detection",
-                "sidebar_label": "Language Detection",
-                "original_id": "org.streampipes.processors.textmining.flink.languagedetection"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.textmining.flink.wordcount/version-0.62.0-org.streampipes.processors.textmining.flink.wordcount",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processors.textmining.flink.wordcount/version-0.62.0-org.streampipes.processors.textmining.flink.wordcount",
-              "title": "Word Count",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.textmining.flink.wordcount/documentation.md",
-              "sourceDirName": "org.streampipes.processors.textmining.flink.wordcount",
-              "slug": "/org.streampipes.processors.textmining.flink.wordcount/version-0.62.0-org.streampipes.processors.textmining.flink.wordcount",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processors.textmining.flink.wordcount/version-0.62.0-org.streampipes.processors.textmining.flink.wordcount",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.textmining.flink.wordcount",
-                "title": "Word Count",
-                "sidebar_label": "Word Count",
-                "original_id": "org.streampipes.processors.textmining.flink.wordcount"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.flink.field-converter/version-0.62.0-org.streampipes.processors.transformation.flink.field-converter",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-converter/version-0.62.0-org.streampipes.processors.transformation.flink.field-converter",
-              "title": "Field Converter",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-converter/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.flink.field-converter",
-              "slug": "/org.streampipes.processors.transformation.flink.field-converter/version-0.62.0-org.streampipes.processors.transformation.flink.field-converter",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-converter/version-0.62.0-org.streampipes.processors.transformation.flink.field-converter",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.flink.field-converter",
-                "title": "Field Converter",
-                "sidebar_label": "Field Converter",
-                "original_id": "org.streampipes.processors.transformation.flink.field-converter"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.flink.field-mapper/version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper",
-              "title": "Field Mapper",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.flink.field-mapper",
-              "slug": "/org.streampipes.processors.transformation.flink.field-mapper/version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper",
-                "title": "Field Mapper",
-                "sidebar_label": "Field Mapper",
-                "original_id": "org.streampipes.processors.transformation.flink.field-mapper"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.flink.field-renamer/version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer",
-              "title": "Field Renamer",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.flink.field-renamer",
-              "slug": "/org.streampipes.processors.transformation.flink.field-renamer/version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer",
-                "title": "Field Renamer",
-                "sidebar_label": "Field Renamer",
-                "original_id": "org.streampipes.processors.transformation.flink.field-renamer"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.flink.fieldhasher/version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher",
-              "title": "Field Hasher",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.flink.fieldhasher",
-              "slug": "/org.streampipes.processors.transformation.flink.fieldhasher/version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher",
-                "title": "Field Hasher",
-                "sidebar_label": "Field Hasher",
-                "original_id": "org.streampipes.processors.transformation.flink.fieldhasher"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.flink.measurement-unit-converter/version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "title": "Measurement Unit Converter",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "slug": "/org.streampipes.processors.transformation.flink.measurement-unit-converter/version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter",
-                "title": "Measurement Unit Converter",
-                "sidebar_label": "Measurement Unit Converter",
-                "original_id": "org.streampipes.processors.transformation.flink.measurement-unit-converter"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.flink.processor.boilerplate/version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate",
-              "title": "Boilerplate Removal",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.flink.processor.boilerplate",
-              "slug": "/org.streampipes.processors.transformation.flink.processor.boilerplate/version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate",
-                "title": "Boilerplate Removal",
-                "sidebar_label": "Boilerplate Removal",
-                "original_id": "org.streampipes.processors.transformation.flink.processor.boilerplate"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.jvm.changed-value/version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value",
-              "title": "Value Changed",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.jvm.changed-value",
-              "slug": "/org.streampipes.processors.transformation.jvm.changed-value/version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value",
-                "title": "Value Changed",
-                "sidebar_label": "Value Changed",
-                "original_id": "org.streampipes.processors.transformation.jvm.changed-value"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.jvm.count-array/version-0.62.0-org.streampipes.processors.transformation.jvm.count-array",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.count-array/version-0.62.0-org.streampipes.processors.transformation.jvm.count-array",
-              "title": "Count Array",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.count-array/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.jvm.count-array",
-              "slug": "/org.streampipes.processors.transformation.jvm.count-array/version-0.62.0-org.streampipes.processors.transformation.jvm.count-array",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.count-array/version-0.62.0-org.streampipes.processors.transformation.jvm.count-array",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.jvm.count-array",
-                "title": "Count Array",
-                "sidebar_label": "Count Array",
-                "original_id": "org.streampipes.processors.transformation.jvm.count-array"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.jvm.duration-value/version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value",
-              "title": "Calculate Duration",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.jvm.duration-value",
-              "slug": "/org.streampipes.processors.transformation.jvm.duration-value/version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value",
-                "title": "Calculate Duration",
-                "sidebar_label": "Calculate Duration",
-                "original_id": "org.streampipes.processors.transformation.jvm.duration-value"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.jvm.processor.timestampextractor/version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "title": "Timestamp Extractor",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "slug": "/org.streampipes.processors.transformation.jvm.processor.timestampextractor/version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor",
-                "title": "Timestamp Extractor",
-                "sidebar_label": "Timestamp Extractor",
-                "original_id": "org.streampipes.processors.transformation.jvm.processor.timestampextractor"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.jvm.split-array/version-0.62.0-org.streampipes.processors.transformation.jvm.split-array",
-              "id": "version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.split-array/version-0.62.0-org.streampipes.processors.transformation.jvm.split-array",
-              "title": "Split Array",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.split-array/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.jvm.split-array",
-              "slug": "/org.streampipes.processors.transformation.jvm.split-array/version-0.62.0-org.streampipes.processors.transformation.jvm.split-array",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.split-array/version-0.62.0-org.streampipes.processors.transformation.jvm.split-array",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.jvm.split-array",
-                "title": "Split Array",
-                "sidebar_label": "Split Array",
-                "original_id": "org.streampipes.processors.transformation.jvm.split-array"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.brokers.jvm.jms/version-0.62.0-org.streampipes.sinks.brokers.jvm.jms",
-              "id": "version-0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.jms/version-0.62.0-org.streampipes.sinks.brokers.jvm.jms",
-              "title": "JMS Publisher",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.jms/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.brokers.jvm.jms",
-              "slug": "/org.streampipes.sinks.brokers.jvm.jms/version-0.62.0-org.streampipes.sinks.brokers.jvm.jms",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.jms/version-0.62.0-org.streampipes.sinks.brokers.jvm.jms",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.brokers.jvm.jms",
-                "title": "JMS Publisher",
-                "sidebar_label": "JMS Publisher",
-                "original_id": "org.streampipes.sinks.brokers.jvm.jms"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.brokers.jvm.kafka/version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka",
-              "id": "version-0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka",
-              "title": "Kafka Publisher",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.brokers.jvm.kafka",
-              "slug": "/org.streampipes.sinks.brokers.jvm.kafka/version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka",
-                "title": "Kafka Publisher",
-                "sidebar_label": "Kafka Publisher",
-                "original_id": "org.streampipes.sinks.brokers.jvm.kafka"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.brokers.jvm.rabbitmq/version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq",
-              "id": "version-0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq",
-              "title": "RabbitMQ Publisher",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.brokers.jvm.rabbitmq",
-              "slug": "/org.streampipes.sinks.brokers.jvm.rabbitmq/version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq",
-                "title": "RabbitMQ Publisher",
-                "sidebar_label": "RabbitMQ Publisher",
-                "original_id": "org.streampipes.sinks.brokers.jvm.rabbitmq"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.brokers.jvm.rest/version-0.62.0-org.streampipes.sinks.brokers.jvm.rest",
-              "id": "version-0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.rest/version-0.62.0-org.streampipes.sinks.brokers.jvm.rest",
-              "title": "REST Publisher",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.rest/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.brokers.jvm.rest",
-              "slug": "/org.streampipes.sinks.brokers.jvm.rest/version-0.62.0-org.streampipes.sinks.brokers.jvm.rest",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.rest/version-0.62.0-org.streampipes.sinks.brokers.jvm.rest",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.brokers.jvm.rest",
-                "title": "REST Publisher",
-                "sidebar_label": "REST Publisher",
-                "original_id": "org.streampipes.sinks.brokers.jvm.rest"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.databases.flink.elasticsearch/version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch",
-              "id": "version-0.62.0-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch",
-              "title": "Elasticsearch",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.databases.flink.elasticsearch",
-              "slug": "/org.streampipes.sinks.databases.flink.elasticsearch/version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch",
-                "title": "Elasticsearch",
-                "sidebar_label": "Elasticsearch",
-                "original_id": "org.streampipes.sinks.databases.flink.elasticsearch"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.databases.jvm.couchdb/version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb",
-              "id": "version-0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb",
-              "title": "CouchDB",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.databases.jvm.couchdb",
-              "slug": "/org.streampipes.sinks.databases.jvm.couchdb/version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb",
-                "title": "CouchDB",
-                "sidebar_label": "CouchDB",
-                "original_id": "org.streampipes.sinks.databases.jvm.couchdb"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.databases.jvm.influxdb/version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb",
-              "id": "version-0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb",
-              "title": "InfluxDB",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.databases.jvm.influxdb",
-              "slug": "/org.streampipes.sinks.databases.jvm.influxdb/version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb",
-                "title": "InfluxDB",
-                "sidebar_label": "InfluxDB",
-                "original_id": "org.streampipes.sinks.databases.jvm.influxdb"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.databases.jvm.postgresql/version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql",
-              "id": "version-0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql",
-              "title": "PostgreSQL",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.databases.jvm.postgresql",
-              "slug": "/org.streampipes.sinks.databases.jvm.postgresql/version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql",
-                "title": "PostgreSQL",
-                "sidebar_label": "PostgreSQL",
-                "original_id": "org.streampipes.sinks.databases.jvm.postgresql"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.internal.jvm.dashboard/version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard",
-              "id": "version-0.62.0-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard",
-              "title": "Dashboard Sink",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.internal.jvm.dashboard",
-              "slug": "/org.streampipes.sinks.internal.jvm.dashboard/version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard",
-                "title": "Dashboard Sink",
-                "sidebar_label": "Dashboard Sink",
-                "original_id": "org.streampipes.sinks.internal.jvm.dashboard"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.internal.jvm.notification/version-0.62.0-org.streampipes.sinks.internal.jvm.notification",
-              "id": "version-0.62.0-pre-asf/org.streampipes.sinks.internal.jvm.notification/version-0.62.0-org.streampipes.sinks.internal.jvm.notification",
-              "title": "Notification",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.internal.jvm.notification/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.internal.jvm.notification",
-              "slug": "/org.streampipes.sinks.internal.jvm.notification/version-0.62.0-org.streampipes.sinks.internal.jvm.notification",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.sinks.internal.jvm.notification/version-0.62.0-org.streampipes.sinks.internal.jvm.notification",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.internal.jvm.notification",
-                "title": "Notification",
-                "sidebar_label": "Notification",
-                "original_id": "org.streampipes.sinks.internal.jvm.notification"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.notifications.jvm.email/version-0.62.0-org.streampipes.sinks.notifications.jvm.email",
-              "id": "version-0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.email/version-0.62.0-org.streampipes.sinks.notifications.jvm.email",
-              "title": "Email Notification",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.email/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.notifications.jvm.email",
-              "slug": "/org.streampipes.sinks.notifications.jvm.email/version-0.62.0-org.streampipes.sinks.notifications.jvm.email",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.email/version-0.62.0-org.streampipes.sinks.notifications.jvm.email",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.notifications.jvm.email",
-                "title": "Email Notification",
-                "sidebar_label": "Email Notification",
-                "original_id": "org.streampipes.sinks.notifications.jvm.email"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.notifications.jvm.onesignal/version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal",
-              "id": "version-0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal",
-              "title": "OneSignal",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.notifications.jvm.onesignal",
-              "slug": "/org.streampipes.sinks.notifications.jvm.onesignal/version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal",
-                "title": "OneSignal",
-                "sidebar_label": "OneSignal",
-                "original_id": "org.streampipes.sinks.notifications.jvm.onesignal"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.notifications.jvm.slack/version-0.62.0-org.streampipes.sinks.notifications.jvm.slack",
-              "id": "version-0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.slack/version-0.62.0-org.streampipes.sinks.notifications.jvm.slack",
-              "title": "Slack Notification",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.slack/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.notifications.jvm.slack",
-              "slug": "/org.streampipes.sinks.notifications.jvm.slack/version-0.62.0-org.streampipes.sinks.notifications.jvm.slack",
-              "permalink": "/docs/0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.slack/version-0.62.0-org.streampipes.sinks.notifications.jvm.slack",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.notifications.jvm.slack",
-                "title": "Slack Notification",
-                "sidebar_label": "Slack Notification",
-                "original_id": "org.streampipes.sinks.notifications.jvm.slack"
-              }
-            },
-            {
-              "unversionedId": "user-guide-first-steps",
-              "id": "version-0.62.0-pre-asf/user-guide-first-steps",
-              "title": "First steps",
-              "description": "In this section, you'll learn how to create and run pipelines in StreamPipes.",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/user-guide-first-steps.md",
-              "sourceDirName": ".",
-              "slug": "/user-guide-first-steps",
-              "permalink": "/docs/0.62.0-pre-asf/user-guide-first-steps",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "user-guide-first-steps",
-                "title": "First steps",
-                "sidebar_label": "First steps",
-                "original_id": "user-guide-first-steps"
-              }
-            },
-            {
-              "unversionedId": "user-guide-installation",
-              "id": "version-0.62.0-pre-asf/user-guide-installation",
-              "title": "Installation",
-              "description": "Prerequisites",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/user-guide-installation.md",
-              "sourceDirName": ".",
-              "slug": "/user-guide-installation",
-              "permalink": "/docs/0.62.0-pre-asf/user-guide-installation",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "user-guide-installation",
-                "title": "Installation",
-                "sidebar_label": "Installation",
-                "original_id": "user-guide-installation"
-              }
-            },
-            {
-              "unversionedId": "user-guide-tour",
-              "id": "version-0.62.0-pre-asf/user-guide-tour",
-              "title": "Tour",
-              "description": "StreamPipes is a framework that enables domain experts to model and execute stream processing pipelines in a big data infrastructure.",
-              "source": "@site/versioned_docs/version-0.62.0-pre-asf/user-guide-tour.md",
-              "sourceDirName": ".",
-              "slug": "/user-guide-tour",
-              "permalink": "/docs/0.62.0-pre-asf/user-guide-tour",
-              "draft": false,
-              "tags": [],
-              "version": "0.62.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "user-guide-tour",
-                "title": "Tour",
-                "sidebar_label": "Tour",
-                "original_id": "user-guide-tour"
-              }
-            }
-          ],
-          "drafts": [],
-          "sidebars": {}
-        },
-        {
-          "versionName": "0.61.0-pre-asf",
-          "label": "0.61.0-pre-asf",
-          "banner": "unmaintained",
-          "badge": true,
-          "noIndex": false,
-          "className": "docs-version-0.61.0-pre-asf",
-          "path": "/docs/0.61.0-pre-asf",
-          "tagsPath": "/docs/0.61.0-pre-asf/tags",
-          "isLast": false,
-          "sidebarFilePath": "C:\\git\\apache\\incubator-streampipes-website\\website-v2\\versioned_sidebars\\version-0.61.0-pre-asf-sidebars.json",
-          "contentPath": "C:\\git\\apache\\incubator-streampipes-website\\website-v2\\versioned_docs\\version-0.61.0-pre-asf",
-          "contentPathLocalized": "C:\\git\\apache\\incubator-streampipes-website\\website-v2\\i18n\\en\\docusaurus-plugin-content-docs\\version-0.61.0-pre-asf",
-          "docs": [
-            {
-              "unversionedId": "dev-guide-archetype",
-              "id": "version-0.61.0-pre-asf/dev-guide-archetype",
-              "title": "Start Developing",
-              "description": "In this tutorial we explain how you can use the Maven archetypes to develop your own StreamPipes processors and sinks.",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-archetype.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-archetype",
-              "permalink": "/docs/0.61.0-pre-asf/dev-guide-archetype",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-archetype",
-                "title": "Start Developing",
-                "sidebar_label": "Start Developing",
-                "original_id": "dev-guide-archetype"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-architecture",
-              "id": "version-0.61.0-pre-asf/dev-guide-architecture",
-              "title": "Architecture",
-              "description": "The following picture illustrates the high-level architecture of StreamPipes:",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-architecture.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-architecture",
-              "permalink": "/docs/0.61.0-pre-asf/dev-guide-architecture",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-architecture",
-                "title": "Architecture",
-                "sidebar_label": "Architecture",
-                "original_id": "dev-guide-architecture"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-configuration",
-              "id": "version-0.61.0-pre-asf/dev-guide-configuration",
-              "title": "Configuration",
-              "description": "On this page we explain how the StreamPipes configuration works.",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-configuration.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-configuration",
-              "permalink": "/docs/0.61.0-pre-asf/dev-guide-configuration",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-configuration",
-                "title": "Configuration",
-                "sidebar_label": "Configuration",
-                "original_id": "dev-guide-configuration"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-development-environment",
-              "id": "version-0.61.0-pre-asf/dev-guide-development-environment",
-              "title": "Development Environment",
-              "description": "In this section, we describe our recommended minimum setup for locally setting up a development instance of StreamPipes needed to develop, run and test new pipeline elements.",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-environment.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-development-environment",
-              "permalink": "/docs/0.61.0-pre-asf/dev-guide-development-environment",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-development-environment",
-                "title": "Development Environment",
-                "sidebar_label": "Development Environment",
-                "original_id": "dev-guide-development-environment"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-event-model",
-              "id": "version-0.61.0-pre-asf/dev-guide-event-model",
-              "title": "SDK Guide: Event Model",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-event-model.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-event-model",
-              "permalink": "/docs/0.61.0-pre-asf/dev-guide-event-model",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-event-model",
-                "title": "SDK Guide: Event Model",
-                "sidebar_label": "Event Model",
-                "original_id": "dev-guide-event-model"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-migration",
-              "id": "version-0.61.0-pre-asf/dev-guide-migration",
-              "title": "Migration Guide v0.61",
-              "description": "Version 0.61.0 of StreamPipes comes with an improved event model. This model makes it easier to support more complex data streams (e.g., streams containing nested properties and lists) and includes features such as automatically resolving conflicts when merging two event streams.",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-migration.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-migration",
-              "permalink": "/docs/0.61.0-pre-asf/dev-guide-migration",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-migration",
-                "title": "Migration Guide v0.61",
-                "sidebar_label": "Migration Guide",
-                "original_id": "dev-guide-migration"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-output-strategies",
-              "id": "version-0.61.0-pre-asf/dev-guide-output-strategies",
-              "title": "SDK Guide: Output Strategies",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-output-strategies.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-output-strategies",
-              "permalink": "/docs/0.61.0-pre-asf/dev-guide-output-strategies",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-output-strategies",
-                "title": "SDK Guide: Output Strategies",
-                "sidebar_label": "Output Strategies",
-                "original_id": "dev-guide-output-strategies"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-sdk-guide-processors",
-              "id": "version-0.61.0-pre-asf/dev-guide-sdk-guide-processors",
-              "title": "SDK Guide: Data Processors",
-              "description": "Project Setup",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-processor-sdk.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-sdk-guide-processors",
-              "permalink": "/docs/0.61.0-pre-asf/dev-guide-sdk-guide-processors",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-sdk-guide-processors",
-                "title": "SDK Guide: Data Processors",
-                "sidebar_label": "SDK Guide: Data Processors",
-                "original_id": "dev-guide-sdk-guide-processors"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-sdk-guide-sinks",
-              "id": "version-0.61.0-pre-asf/dev-guide-sdk-guide-sinks",
-              "title": "SDK Guide: Data Sinks",
-              "description": "Project Setup",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-sink-sdk.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-sdk-guide-sinks",
-              "permalink": "/docs/0.61.0-pre-asf/dev-guide-sdk-guide-sinks",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-sdk-guide-sinks",
-                "title": "SDK Guide: Data Sinks",
-                "sidebar_label": "SDK Guide: Data Sinks",
-                "original_id": "dev-guide-sdk-guide-sinks"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-ssl",
-              "id": "version-0.61.0-pre-asf/dev-guide-ssl",
-              "title": "Use SSL",
-              "description": "In this tutorial we explain how you can use SSL Certificates to provide transport layer security between your Browser and the Streampipes Backend.",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-ssl.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-ssl",
-              "permalink": "/docs/0.61.0-pre-asf/dev-guide-ssl",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-ssl",
-                "title": "Use SSL",
-                "sidebar_label": "Use SSL",
-                "original_id": "dev-guide-ssl"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-static-properties",
-              "id": "version-0.61.0-pre-asf/dev-guide-static-properties",
-              "title": "SDK Guide: Static Properties",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-static-properties.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-static-properties",
-              "permalink": "/docs/0.61.0-pre-asf/dev-guide-static-properties",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-static-properties",
-                "title": "SDK Guide: Static Properties",
-                "sidebar_label": "Static Properties",
-                "original_id": "dev-guide-static-properties"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-stream-requirements",
-              "id": "version-0.61.0-pre-asf/dev-guide-stream-requirements",
-              "title": "SDK Guide: Stream Requirements",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-stream-requirements.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-stream-requirements",
-              "permalink": "/docs/0.61.0-pre-asf/dev-guide-stream-requirements",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-stream-requirements",
-                "title": "SDK Guide: Stream Requirements",
-                "sidebar_label": "Stream Requirements",
-                "original_id": "dev-guide-stream-requirements"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-tutorial-processors",
-              "id": "version-0.61.0-pre-asf/dev-guide-tutorial-processors",
-              "title": "Tutorial: Data Processors",
-              "description": "In this tutorial, we will add a new data processor using the Apache Flink wrapper.",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-tutorial-processors.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-tutorial-processors",
-              "permalink": "/docs/0.61.0-pre-asf/dev-guide-tutorial-processors",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-tutorial-processors",
-                "title": "Tutorial: Data Processors",
-                "sidebar_label": "Tutorial: Data Processors",
-                "original_id": "dev-guide-tutorial-processors"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-tutorial-sinks",
-              "id": "version-0.61.0-pre-asf/dev-guide-tutorial-sinks",
-              "title": "Tutorial: Data Sinks",
-              "description": "In this tutorial, we will add a new data sink using the standalone wrapper.",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-tutorial-sinks.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-tutorial-sinks",
-              "permalink": "/docs/0.61.0-pre-asf/dev-guide-tutorial-sinks",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-tutorial-sinks",
-                "title": "Tutorial: Data Sinks",
-                "sidebar_label": "Tutorial: Data Sinks",
-                "original_id": "dev-guide-tutorial-sinks"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-tutorial-sources",
-              "id": "version-0.61.0-pre-asf/dev-guide-tutorial-sources",
-              "title": "Tutorial: Data Sources",
-              "description": "In this tutorial, we will add a new data source consisting of a single data stream. The source will be provided as a standalone component (i.e., the description will be accessible through an integrated web server).",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-tutorial-sources.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-tutorial-sources",
-              "permalink": "/docs/0.61.0-pre-asf/dev-guide-tutorial-sources",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-tutorial-sources",
-                "title": "Tutorial: Data Sources",
-                "sidebar_label": "Tutorial: Data Sources",
-                "original_id": "dev-guide-tutorial-sources"
-              }
-            },
-            {
-              "unversionedId": "faq-common-problems",
-              "id": "version-0.61.0-pre-asf/faq-common-problems",
-              "title": "Common Problems",
-              "description": "* Windows 10: Consul, Kafka, Zookeeper, or Kafka-Rest did not start",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/faq-common-problems.md",
-              "sourceDirName": ".",
-              "slug": "/faq-common-problems",
-              "permalink": "/docs/0.61.0-pre-asf/faq-common-problems",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "faq-common-problems",
-                "title": "Common Problems",
-                "sidebar_label": "Common Problems",
-                "original_id": "faq-common-problems"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processor.geo.flink/version-0.62.0-org.streampipes.processor.geo.flink",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processor.geo.flink/version-0.62.0-org.streampipes.processor.geo.flink",
-              "title": "Spatial Grid Enrichment",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processor.geo.flink/documentation.md",
-              "sourceDirName": "org.streampipes.processor.geo.flink",
-              "slug": "/org.streampipes.processor.geo.flink/version-0.62.0-org.streampipes.processor.geo.flink",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processor.geo.flink/version-0.62.0-org.streampipes.processor.geo.flink",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processor.geo.flink",
-                "title": "Spatial Grid Enrichment",
-                "sidebar_label": "Spatial Grid Enrichment",
-                "original_id": "org.streampipes.processor.geo.flink"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processor.imageclassification.jvm.generic-image-classification/version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "title": "Generic Image Classification",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md",
-              "sourceDirName": "org.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "slug": "/org.streampipes.processor.imageclassification.jvm.generic-image-classification/version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification",
-                "title": "Generic Image Classification",
-                "sidebar_label": "Generic Image Classification",
-                "original_id": "org.streampipes.processor.imageclassification.jvm.generic-image-classification"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processor.imageclassification.jvm.image-enricher/version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher",
-              "title": "Image Enricher",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md",
-              "sourceDirName": "org.streampipes.processor.imageclassification.jvm.image-enricher",
-              "slug": "/org.streampipes.processor.imageclassification.jvm.image-enricher/version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher",
-                "title": "Image Enricher",
-                "sidebar_label": "Image Enricher",
-                "original_id": "org.streampipes.processor.imageclassification.jvm.image-enricher"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processor.imageclassification.qrcode/version-0.62.0-org.streampipes.processor.imageclassification.qrcode",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processor.imageclassification.qrcode/version-0.62.0-org.streampipes.processor.imageclassification.qrcode",
-              "title": "QR Code Reader",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processor.imageclassification.qrcode/documentation.md",
-              "sourceDirName": "org.streampipes.processor.imageclassification.qrcode",
-              "slug": "/org.streampipes.processor.imageclassification.qrcode/version-0.62.0-org.streampipes.processor.imageclassification.qrcode",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processor.imageclassification.qrcode/version-0.62.0-org.streampipes.processor.imageclassification.qrcode",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processor.imageclassification.qrcode",
-                "title": "QR Code Reader",
-                "sidebar_label": "QR Code Reader",
-                "original_id": "org.streampipes.processor.imageclassification.qrcode"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.aggregation.flink.aggregation/version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation",
-              "title": "Aggregation",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/documentation.md",
-              "sourceDirName": "org.streampipes.processors.aggregation.flink.aggregation",
-              "slug": "/org.streampipes.processors.aggregation.flink.aggregation/version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation",
-                "title": "Aggregation",
-                "sidebar_label": "Aggregation",
-                "original_id": "org.streampipes.processors.aggregation.flink.aggregation"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.aggregation.flink.rate/version-0.62.0-org.streampipes.processors.aggregation.flink.rate",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processors.aggregation.flink.rate/version-0.62.0-org.streampipes.processors.aggregation.flink.rate",
-              "title": "Event Rate",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.aggregation.flink.rate/documentation.md",
-              "sourceDirName": "org.streampipes.processors.aggregation.flink.rate",
-              "slug": "/org.streampipes.processors.aggregation.flink.rate/version-0.62.0-org.streampipes.processors.aggregation.flink.rate",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processors.aggregation.flink.rate/version-0.62.0-org.streampipes.processors.aggregation.flink.rate",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.aggregation.flink.rate",
-                "title": "Event Rate",
-                "sidebar_label": "Event Rate",
-                "original_id": "org.streampipes.processors.aggregation.flink.rate"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.enricher.flink.processor.math.mathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop",
-              "title": "Math",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md",
-              "sourceDirName": "org.streampipes.processors.enricher.flink.processor.math.mathop",
-              "slug": "/org.streampipes.processors.enricher.flink.processor.math.mathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop",
-                "title": "Math",
-                "sidebar_label": "Math",
-                "original_id": "org.streampipes.processors.enricher.flink.processor.math.mathop"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.enricher.flink.processor.math.staticmathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "title": "Static Math",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md",
-              "sourceDirName": "org.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "slug": "/org.streampipes.processors.enricher.flink.processor.math.staticmathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop",
-                "title": "Static Math",
-                "sidebar_label": "Static Math",
-                "original_id": "org.streampipes.processors.enricher.flink.processor.math.staticmathop"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.enricher.flink.processor.trigonometry/version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry",
-              "title": "Trigonometry Functions",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md",
-              "sourceDirName": "org.streampipes.processors.enricher.flink.processor.trigonometry",
-              "slug": "/org.streampipes.processors.enricher.flink.processor.trigonometry/version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry",
-                "title": "Trigonometry Functions",
-                "sidebar_label": "Trigonometry Functions",
-                "original_id": "org.streampipes.processors.enricher.flink.processor.trigonometry"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.enricher.flink.processor.urldereferencing/version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "title": "URL Dereferencing",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md",
-              "sourceDirName": "org.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "slug": "/org.streampipes.processors.enricher.flink.processor.urldereferencing/version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing",
-                "title": "URL Dereferencing",
-                "sidebar_label": "URL Dereferencing",
-                "original_id": "org.streampipes.processors.enricher.flink.processor.urldereferencing"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.enricher.flink.timestamp/version-0.62.0-org.streampipes.processors.enricher.flink.timestamp",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.timestamp/version-0.62.0-org.streampipes.processors.enricher.flink.timestamp",
-              "title": "Timestamp Enricher",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.timestamp/documentation.md",
-              "sourceDirName": "org.streampipes.processors.enricher.flink.timestamp",
-              "slug": "/org.streampipes.processors.enricher.flink.timestamp/version-0.62.0-org.streampipes.processors.enricher.flink.timestamp",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processors.enricher.flink.timestamp/version-0.62.0-org.streampipes.processors.enricher.flink.timestamp",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.enricher.flink.timestamp",
-                "title": "Timestamp Enricher",
-                "sidebar_label": "Timestamp Enricher",
-                "original_id": "org.streampipes.processors.enricher.flink.timestamp"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.filters.jvm.compose/version-0.62.0-org.streampipes.processors.filters.jvm.compose",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processors.filters.jvm.compose/version-0.62.0-org.streampipes.processors.filters.jvm.compose",
-              "title": "Compose",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.filters.jvm.compose/documentation.md",
-              "sourceDirName": "org.streampipes.processors.filters.jvm.compose",
-              "slug": "/org.streampipes.processors.filters.jvm.compose/version-0.62.0-org.streampipes.processors.filters.jvm.compose",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processors.filters.jvm.compose/version-0.62.0-org.streampipes.processors.filters.jvm.compose",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.filters.jvm.compose",
-                "title": "Compose",
-                "sidebar_label": "Compose",
-                "original_id": "org.streampipes.processors.filters.jvm.compose"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.filters.jvm.numericalfilter/version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter",
-              "title": "Numerical Filter",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/documentation.md",
-              "sourceDirName": "org.streampipes.processors.filters.jvm.numericalfilter",
-              "slug": "/org.streampipes.processors.filters.jvm.numericalfilter/version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter",
-                "title": "Numerical Filter",
-                "sidebar_label": "Numerical Filter",
-                "original_id": "org.streampipes.processors.filters.jvm.numericalfilter"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.filters.jvm.project/version-0.62.0-org.streampipes.processors.filters.jvm.project",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processors.filters.jvm.project/version-0.62.0-org.streampipes.processors.filters.jvm.project",
-              "title": "Projection",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.filters.jvm.project/documentation.md",
-              "sourceDirName": "org.streampipes.processors.filters.jvm.project",
-              "slug": "/org.streampipes.processors.filters.jvm.project/version-0.62.0-org.streampipes.processors.filters.jvm.project",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processors.filters.jvm.project/version-0.62.0-org.streampipes.processors.filters.jvm.project",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.filters.jvm.project",
-                "title": "Projection",
-                "sidebar_label": "Projection",
-                "original_id": "org.streampipes.processors.filters.jvm.project"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.filters.jvm.textfilter/version-0.62.0-org.streampipes.processors.filters.jvm.textfilter",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processors.filters.jvm.textfilter/version-0.62.0-org.streampipes.processors.filters.jvm.textfilter",
-              "title": "Text Filter",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.filters.jvm.textfilter/documentation.md",
-              "sourceDirName": "org.streampipes.processors.filters.jvm.textfilter",
-              "slug": "/org.streampipes.processors.filters.jvm.textfilter/version-0.62.0-org.streampipes.processors.filters.jvm.textfilter",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processors.filters.jvm.textfilter/version-0.62.0-org.streampipes.processors.filters.jvm.textfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.filters.jvm.textfilter",
-                "title": "Text Filter",
-                "sidebar_label": "Text Filter",
-                "original_id": "org.streampipes.processors.filters.jvm.textfilter"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.pattern-detection.flink.peak-detection/version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection",
-              "title": "Peak Detection",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md",
-              "sourceDirName": "org.streampipes.processors.pattern-detection.flink.peak-detection",
-              "slug": "/org.streampipes.processors.pattern-detection.flink.peak-detection/version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection",
-                "title": "Peak Detection",
-                "sidebar_label": "Peak Detection",
-                "original_id": "org.streampipes.processors.pattern-detection.flink.peak-detection"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.siddhi.frequency/version-0.62.0-org.streampipes.processors.siddhi.frequency",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processors.siddhi.frequency/version-0.62.0-org.streampipes.processors.siddhi.frequency",
-              "title": "Frequency Calculation",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.frequency/documentation.md",
-              "sourceDirName": "org.streampipes.processors.siddhi.frequency",
-              "slug": "/org.streampipes.processors.siddhi.frequency/version-0.62.0-org.streampipes.processors.siddhi.frequency",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processors.siddhi.frequency/version-0.62.0-org.streampipes.processors.siddhi.frequency",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.siddhi.frequency",
-                "title": "Frequency Calculation",
-                "sidebar_label": "Frequency Calculation",
-                "original_id": "org.streampipes.processors.siddhi.frequency"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.siddhi.frequencychange/version-0.62.0-org.streampipes.processors.siddhi.frequencychange",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processors.siddhi.frequencychange/version-0.62.0-org.streampipes.processors.siddhi.frequencychange",
-              "title": "Frequency Change",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.frequencychange/documentation.md",
-              "sourceDirName": "org.streampipes.processors.siddhi.frequencychange",
-              "slug": "/org.streampipes.processors.siddhi.frequencychange/version-0.62.0-org.streampipes.processors.siddhi.frequencychange",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processors.siddhi.frequencychange/version-0.62.0-org.streampipes.processors.siddhi.frequencychange",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.siddhi.frequencychange",
-                "title": "Frequency Change",
-                "sidebar_label": "Frequency Change",
-                "original_id": "org.streampipes.processors.siddhi.frequencychange"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.siddhi.increase/version-0.62.0-org.streampipes.processors.siddhi.increase",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processors.siddhi.increase/version-0.62.0-org.streampipes.processors.siddhi.increase",
-              "title": "Trend",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.increase/documentation.md",
-              "sourceDirName": "org.streampipes.processors.siddhi.increase",
-              "slug": "/org.streampipes.processors.siddhi.increase/version-0.62.0-org.streampipes.processors.siddhi.increase",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processors.siddhi.increase/version-0.62.0-org.streampipes.processors.siddhi.increase",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.siddhi.increase",
-                "title": "Trend",
-                "sidebar_label": "Trend",
-                "original_id": "org.streampipes.processors.siddhi.increase"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.siddhi.numericalfilter/version-0.62.0-org.streampipes.processors.siddhi.numericalfilter",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processors.siddhi.numericalfilter/version-0.62.0-org.streampipes.processors.siddhi.numericalfilter",
-              "title": "Numerical Filter (Siddhi)",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.numericalfilter/documentation.md",
-              "sourceDirName": "org.streampipes.processors.siddhi.numericalfilter",
-              "slug": "/org.streampipes.processors.siddhi.numericalfilter/version-0.62.0-org.streampipes.processors.siddhi.numericalfilter",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processors.siddhi.numericalfilter/version-0.62.0-org.streampipes.processors.siddhi.numericalfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.siddhi.numericalfilter",
-                "title": "Numerical Filter (Siddhi)",
-                "sidebar_label": "Numerical Filter (Siddhi)",
-                "original_id": "org.streampipes.processors.siddhi.numericalfilter"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.siddhi.sequence/version-0.62.0-org.streampipes.processors.siddhi.sequence",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processors.siddhi.sequence/version-0.62.0-org.streampipes.processors.siddhi.sequence",
-              "title": "Sequence Detection",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.sequence/documentation.md",
-              "sourceDirName": "org.streampipes.processors.siddhi.sequence",
-              "slug": "/org.streampipes.processors.siddhi.sequence/version-0.62.0-org.streampipes.processors.siddhi.sequence",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processors.siddhi.sequence/version-0.62.0-org.streampipes.processors.siddhi.sequence",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.siddhi.sequence",
-                "title": "Sequence Detection",
-                "sidebar_label": "Sequence Detection",
-                "original_id": "org.streampipes.processors.siddhi.sequence"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.siddhi.stop/version-0.62.0-org.streampipes.processors.siddhi.stop",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processors.siddhi.stop/version-0.62.0-org.streampipes.processors.siddhi.stop",
-              "title": "Stream Stop Detection",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.stop/documentation.md",
-              "sourceDirName": "org.streampipes.processors.siddhi.stop",
-              "slug": "/org.streampipes.processors.siddhi.stop/version-0.62.0-org.streampipes.processors.siddhi.stop",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processors.siddhi.stop/version-0.62.0-org.streampipes.processors.siddhi.stop",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.siddhi.stop",
-                "title": "Stream Stop Detection",
-                "sidebar_label": "Stream Stop Detection",
-                "original_id": "org.streampipes.processors.siddhi.stop"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.textmining.flink.languagedetection/version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection",
-              "title": "Language Detection",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/documentation.md",
-              "sourceDirName": "org.streampipes.processors.textmining.flink.languagedetection",
-              "slug": "/org.streampipes.processors.textmining.flink.languagedetection/version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection",
-                "title": "Language Detection",
-                "sidebar_label": "Language Detection",
-                "original_id": "org.streampipes.processors.textmining.flink.languagedetection"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.textmining.flink.wordcount/version-0.62.0-org.streampipes.processors.textmining.flink.wordcount",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processors.textmining.flink.wordcount/version-0.62.0-org.streampipes.processors.textmining.flink.wordcount",
-              "title": "Word Count",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.textmining.flink.wordcount/documentation.md",
-              "sourceDirName": "org.streampipes.processors.textmining.flink.wordcount",
-              "slug": "/org.streampipes.processors.textmining.flink.wordcount/version-0.62.0-org.streampipes.processors.textmining.flink.wordcount",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processors.textmining.flink.wordcount/version-0.62.0-org.streampipes.processors.textmining.flink.wordcount",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.textmining.flink.wordcount",
-                "title": "Word Count",
-                "sidebar_label": "Word Count",
-                "original_id": "org.streampipes.processors.textmining.flink.wordcount"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.flink.field-converter/version-0.62.0-org.streampipes.processors.transformation.flink.field-converter",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-converter/version-0.62.0-org.streampipes.processors.transformation.flink.field-converter",
-              "title": "Field Converter",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-converter/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.flink.field-converter",
-              "slug": "/org.streampipes.processors.transformation.flink.field-converter/version-0.62.0-org.streampipes.processors.transformation.flink.field-converter",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-converter/version-0.62.0-org.streampipes.processors.transformation.flink.field-converter",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.flink.field-converter",
-                "title": "Field Converter",
-                "sidebar_label": "Field Converter",
-                "original_id": "org.streampipes.processors.transformation.flink.field-converter"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.flink.field-mapper/version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper",
-              "title": "Field Mapper",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.flink.field-mapper",
-              "slug": "/org.streampipes.processors.transformation.flink.field-mapper/version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper",
-                "title": "Field Mapper",
-                "sidebar_label": "Field Mapper",
-                "original_id": "org.streampipes.processors.transformation.flink.field-mapper"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.flink.field-renamer/version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer",
-              "title": "Field Renamer",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.flink.field-renamer",
-              "slug": "/org.streampipes.processors.transformation.flink.field-renamer/version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer",
-                "title": "Field Renamer",
-                "sidebar_label": "Field Renamer",
-                "original_id": "org.streampipes.processors.transformation.flink.field-renamer"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.flink.fieldhasher/version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher",
-              "title": "Field Hasher",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.flink.fieldhasher",
-              "slug": "/org.streampipes.processors.transformation.flink.fieldhasher/version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher",
-                "title": "Field Hasher",
-                "sidebar_label": "Field Hasher",
-                "original_id": "org.streampipes.processors.transformation.flink.fieldhasher"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.flink.measurement-unit-converter/version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "title": "Measurement Unit Converter",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "slug": "/org.streampipes.processors.transformation.flink.measurement-unit-converter/version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter",
-                "title": "Measurement Unit Converter",
-                "sidebar_label": "Measurement Unit Converter",
-                "original_id": "org.streampipes.processors.transformation.flink.measurement-unit-converter"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.flink.processor.boilerplate/version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate",
-              "title": "Boilerplate Removal",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.flink.processor.boilerplate",
-              "slug": "/org.streampipes.processors.transformation.flink.processor.boilerplate/version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate",
-                "title": "Boilerplate Removal",
-                "sidebar_label": "Boilerplate Removal",
-                "original_id": "org.streampipes.processors.transformation.flink.processor.boilerplate"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.jvm.changed-value/version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value",
-              "title": "Value Changed",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.jvm.changed-value",
-              "slug": "/org.streampipes.processors.transformation.jvm.changed-value/version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value",
-                "title": "Value Changed",
-                "sidebar_label": "Value Changed",
-                "original_id": "org.streampipes.processors.transformation.jvm.changed-value"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.jvm.count-array/version-0.62.0-org.streampipes.processors.transformation.jvm.count-array",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.count-array/version-0.62.0-org.streampipes.processors.transformation.jvm.count-array",
-              "title": "Count Array",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.count-array/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.jvm.count-array",
-              "slug": "/org.streampipes.processors.transformation.jvm.count-array/version-0.62.0-org.streampipes.processors.transformation.jvm.count-array",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.count-array/version-0.62.0-org.streampipes.processors.transformation.jvm.count-array",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.jvm.count-array",
-                "title": "Count Array",
-                "sidebar_label": "Count Array",
-                "original_id": "org.streampipes.processors.transformation.jvm.count-array"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.jvm.duration-value/version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value",
-              "title": "Calculate Duration",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.jvm.duration-value",
-              "slug": "/org.streampipes.processors.transformation.jvm.duration-value/version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value",
-                "title": "Calculate Duration",
-                "sidebar_label": "Calculate Duration",
-                "original_id": "org.streampipes.processors.transformation.jvm.duration-value"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.jvm.processor.timestampextractor/version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "title": "Timestamp Extractor",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "slug": "/org.streampipes.processors.transformation.jvm.processor.timestampextractor/version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor",
-                "title": "Timestamp Extractor",
-                "sidebar_label": "Timestamp Extractor",
-                "original_id": "org.streampipes.processors.transformation.jvm.processor.timestampextractor"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.jvm.split-array/version-0.62.0-org.streampipes.processors.transformation.jvm.split-array",
-              "id": "version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.split-array/version-0.62.0-org.streampipes.processors.transformation.jvm.split-array",
-              "title": "Split Array",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.split-array/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.jvm.split-array",
-              "slug": "/org.streampipes.processors.transformation.jvm.split-array/version-0.62.0-org.streampipes.processors.transformation.jvm.split-array",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.split-array/version-0.62.0-org.streampipes.processors.transformation.jvm.split-array",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.jvm.split-array",
-                "title": "Split Array",
-                "sidebar_label": "Split Array",
-                "original_id": "org.streampipes.processors.transformation.jvm.split-array"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.brokers.jvm.jms/version-0.62.0-org.streampipes.sinks.brokers.jvm.jms",
-              "id": "version-0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.jms/version-0.62.0-org.streampipes.sinks.brokers.jvm.jms",
-              "title": "JMS Publisher",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.jms/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.brokers.jvm.jms",
-              "slug": "/org.streampipes.sinks.brokers.jvm.jms/version-0.62.0-org.streampipes.sinks.brokers.jvm.jms",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.jms/version-0.62.0-org.streampipes.sinks.brokers.jvm.jms",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.brokers.jvm.jms",
-                "title": "JMS Publisher",
-                "sidebar_label": "JMS Publisher",
-                "original_id": "org.streampipes.sinks.brokers.jvm.jms"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.brokers.jvm.kafka/version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka",
-              "id": "version-0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka",
-              "title": "Kafka Publisher",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.brokers.jvm.kafka",
-              "slug": "/org.streampipes.sinks.brokers.jvm.kafka/version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka",
-                "title": "Kafka Publisher",
-                "sidebar_label": "Kafka Publisher",
-                "original_id": "org.streampipes.sinks.brokers.jvm.kafka"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.brokers.jvm.rabbitmq/version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq",
-              "id": "version-0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq",
-              "title": "RabbitMQ Publisher",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.brokers.jvm.rabbitmq",
-              "slug": "/org.streampipes.sinks.brokers.jvm.rabbitmq/version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq",
-                "title": "RabbitMQ Publisher",
-                "sidebar_label": "RabbitMQ Publisher",
-                "original_id": "org.streampipes.sinks.brokers.jvm.rabbitmq"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.brokers.jvm.rest/version-0.62.0-org.streampipes.sinks.brokers.jvm.rest",
-              "id": "version-0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.rest/version-0.62.0-org.streampipes.sinks.brokers.jvm.rest",
-              "title": "REST Publisher",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.rest/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.brokers.jvm.rest",
-              "slug": "/org.streampipes.sinks.brokers.jvm.rest/version-0.62.0-org.streampipes.sinks.brokers.jvm.rest",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.rest/version-0.62.0-org.streampipes.sinks.brokers.jvm.rest",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.brokers.jvm.rest",
-                "title": "REST Publisher",
-                "sidebar_label": "REST Publisher",
-                "original_id": "org.streampipes.sinks.brokers.jvm.rest"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.databases.flink.elasticsearch/version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch",
-              "id": "version-0.61.0-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch",
-              "title": "Elasticsearch",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.databases.flink.elasticsearch",
-              "slug": "/org.streampipes.sinks.databases.flink.elasticsearch/version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch",
-                "title": "Elasticsearch",
-                "sidebar_label": "Elasticsearch",
-                "original_id": "org.streampipes.sinks.databases.flink.elasticsearch"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.databases.jvm.couchdb/version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb",
-              "id": "version-0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb",
-              "title": "CouchDB",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.databases.jvm.couchdb",
-              "slug": "/org.streampipes.sinks.databases.jvm.couchdb/version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb",
-                "title": "CouchDB",
-                "sidebar_label": "CouchDB",
-                "original_id": "org.streampipes.sinks.databases.jvm.couchdb"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.databases.jvm.influxdb/version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb",
-              "id": "version-0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb",
-              "title": "InfluxDB",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.databases.jvm.influxdb",
-              "slug": "/org.streampipes.sinks.databases.jvm.influxdb/version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb",
-                "title": "InfluxDB",
-                "sidebar_label": "InfluxDB",
-                "original_id": "org.streampipes.sinks.databases.jvm.influxdb"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.databases.jvm.postgresql/version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql",
-              "id": "version-0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql",
-              "title": "PostgreSQL",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.databases.jvm.postgresql",
-              "slug": "/org.streampipes.sinks.databases.jvm.postgresql/version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql",
-                "title": "PostgreSQL",
-                "sidebar_label": "PostgreSQL",
-                "original_id": "org.streampipes.sinks.databases.jvm.postgresql"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.internal.jvm.dashboard/version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard",
-              "id": "version-0.61.0-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard",
-              "title": "Dashboard Sink",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.internal.jvm.dashboard",
-              "slug": "/org.streampipes.sinks.internal.jvm.dashboard/version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard",
-                "title": "Dashboard Sink",
-                "sidebar_label": "Dashboard Sink",
-                "original_id": "org.streampipes.sinks.internal.jvm.dashboard"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.internal.jvm.notification/version-0.62.0-org.streampipes.sinks.internal.jvm.notification",
-              "id": "version-0.61.0-pre-asf/org.streampipes.sinks.internal.jvm.notification/version-0.62.0-org.streampipes.sinks.internal.jvm.notification",
-              "title": "Notification",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.internal.jvm.notification/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.internal.jvm.notification",
-              "slug": "/org.streampipes.sinks.internal.jvm.notification/version-0.62.0-org.streampipes.sinks.internal.jvm.notification",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.sinks.internal.jvm.notification/version-0.62.0-org.streampipes.sinks.internal.jvm.notification",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.internal.jvm.notification",
-                "title": "Notification",
-                "sidebar_label": "Notification",
-                "original_id": "org.streampipes.sinks.internal.jvm.notification"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.notifications.jvm.email/version-0.62.0-org.streampipes.sinks.notifications.jvm.email",
-              "id": "version-0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.email/version-0.62.0-org.streampipes.sinks.notifications.jvm.email",
-              "title": "Email Notification",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.email/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.notifications.jvm.email",
-              "slug": "/org.streampipes.sinks.notifications.jvm.email/version-0.62.0-org.streampipes.sinks.notifications.jvm.email",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.email/version-0.62.0-org.streampipes.sinks.notifications.jvm.email",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.notifications.jvm.email",
-                "title": "Email Notification",
-                "sidebar_label": "Email Notification",
-                "original_id": "org.streampipes.sinks.notifications.jvm.email"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.notifications.jvm.onesignal/version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal",
-              "id": "version-0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal",
-              "title": "OneSignal",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.notifications.jvm.onesignal",
-              "slug": "/org.streampipes.sinks.notifications.jvm.onesignal/version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal",
-                "title": "OneSignal",
-                "sidebar_label": "OneSignal",
-                "original_id": "org.streampipes.sinks.notifications.jvm.onesignal"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.notifications.jvm.slack/version-0.62.0-org.streampipes.sinks.notifications.jvm.slack",
-              "id": "version-0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.slack/version-0.62.0-org.streampipes.sinks.notifications.jvm.slack",
-              "title": "Slack Notification",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.slack/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.notifications.jvm.slack",
-              "slug": "/org.streampipes.sinks.notifications.jvm.slack/version-0.62.0-org.streampipes.sinks.notifications.jvm.slack",
-              "permalink": "/docs/0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.slack/version-0.62.0-org.streampipes.sinks.notifications.jvm.slack",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.notifications.jvm.slack",
-                "title": "Slack Notification",
-                "sidebar_label": "Slack Notification",
-                "original_id": "org.streampipes.sinks.notifications.jvm.slack"
-              }
-            },
-            {
-              "unversionedId": "user-guide-first-steps",
-              "id": "version-0.61.0-pre-asf/user-guide-first-steps",
-              "title": "First steps",
-              "description": "In this section, you'll learn how to create and run pipelines in StreamPipes.",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/user-guide-first-steps.md",
-              "sourceDirName": ".",
-              "slug": "/user-guide-first-steps",
-              "permalink": "/docs/0.61.0-pre-asf/user-guide-first-steps",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "user-guide-first-steps",
-                "title": "First steps",
-                "sidebar_label": "First steps",
-                "original_id": "user-guide-first-steps"
-              }
-            },
-            {
-              "unversionedId": "user-guide-installation",
-              "id": "version-0.61.0-pre-asf/user-guide-installation",
-              "title": "Installation",
-              "description": "StreamPipes desktop version",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/user-guide-installation.md",
-              "sourceDirName": ".",
-              "slug": "/user-guide-installation",
-              "permalink": "/docs/0.61.0-pre-asf/user-guide-installation",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "user-guide-installation",
-                "title": "Installation",
-                "sidebar_label": "Installation",
-                "original_id": "user-guide-installation"
-              }
-            },
-            {
-              "unversionedId": "user-guide-processing-elements",
-              "id": "version-0.61.0-pre-asf/user-guide-processing-elements",
-              "title": "Processing Elements",
-              "description": "This page explains some processing elements (not including the full list) that are available in the StreamPipes Starter Kit.",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/user-guide-processing-elements.md",
-              "sourceDirName": ".",
-              "slug": "/user-guide-processing-elements",
-              "permalink": "/docs/0.61.0-pre-asf/user-guide-processing-elements",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "user-guide-processing-elements",
-                "title": "Processing Elements",
-                "sidebar_label": "Processing Elements",
-                "original_id": "user-guide-processing-elements"
-              }
-            },
-            {
-              "unversionedId": "user-guide-software-components",
-              "id": "version-0.61.0-pre-asf/user-guide-software-components",
-              "title": "Software Components",
-              "description": "This page contains all the software components that can be used within the StreamPipes framework.",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/user-guide-software-components.md",
-              "sourceDirName": ".",
-              "slug": "/user-guide-software-components",
-              "permalink": "/docs/0.61.0-pre-asf/user-guide-software-components",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "user-guide-software-components",
-                "title": "Software Components",
-                "sidebar_label": "Software Components",
-                "original_id": "user-guide-software-components"
-              }
-            },
-            {
-              "unversionedId": "user-guide-tour",
-              "id": "version-0.61.0-pre-asf/user-guide-tour",
-              "title": "Tour",
-              "description": "StreamPipes is a framework that enables domain experts to model and execute stream processing pipelines in a big data infrastructure.",
-              "source": "@site/versioned_docs/version-0.61.0-pre-asf/user-guide-tour.md",
-              "sourceDirName": ".",
-              "slug": "/user-guide-tour",
-              "permalink": "/docs/0.61.0-pre-asf/user-guide-tour",
-              "draft": false,
-              "tags": [],
-              "version": "0.61.0-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "user-guide-tour",
-                "title": "Tour",
-                "sidebar_label": "Tour",
-                "original_id": "user-guide-tour"
-              }
-            }
-          ],
-          "drafts": [],
-          "sidebars": {}
-        },
-        {
-          "versionName": "0.55.2-pre-asf",
-          "label": "0.55.2-pre-asf",
-          "banner": "unmaintained",
-          "badge": true,
-          "noIndex": false,
-          "className": "docs-version-0.55.2-pre-asf",
-          "path": "/docs/0.55.2-pre-asf",
-          "tagsPath": "/docs/0.55.2-pre-asf/tags",
-          "isLast": false,
-          "sidebarFilePath": "C:\\git\\apache\\incubator-streampipes-website\\website-v2\\versioned_sidebars\\version-0.55.2-pre-asf-sidebars.json",
-          "contentPath": "C:\\git\\apache\\incubator-streampipes-website\\website-v2\\versioned_docs\\version-0.55.2-pre-asf",
-          "contentPathLocalized": "C:\\git\\apache\\incubator-streampipes-website\\website-v2\\i18n\\en\\docusaurus-plugin-content-docs\\version-0.55.2-pre-asf",
-          "docs": [
-            {
-              "unversionedId": "dev-guide-archetype",
-              "id": "version-0.55.2-pre-asf/dev-guide-archetype",
-              "title": "Start Developing",
-              "description": "In this tutorial we explain how you can use the Maven archetypes to develop your own StreamPipes processors and sinks.",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-archetype.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-archetype",
-              "permalink": "/docs/0.55.2-pre-asf/dev-guide-archetype",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-archetype",
-                "title": "Start Developing",
-                "sidebar_label": "Start Developing",
-                "original_id": "dev-guide-archetype"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-architecture",
-              "id": "version-0.55.2-pre-asf/dev-guide-architecture",
-              "title": "Architecture",
-              "description": "The following picture illustrates the high-level architecture of StreamPipes:",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-architecture.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-architecture",
-              "permalink": "/docs/0.55.2-pre-asf/dev-guide-architecture",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-architecture",
-                "title": "Architecture",
-                "sidebar_label": "Architecture",
-                "original_id": "dev-guide-architecture"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-configuration",
-              "id": "version-0.55.2-pre-asf/dev-guide-configuration",
-              "title": "Configuration",
-              "description": "On this page we explain how the StreamPipes configuration works.",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-configuration.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-configuration",
-              "permalink": "/docs/0.55.2-pre-asf/dev-guide-configuration",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-configuration",
-                "title": "Configuration",
-                "sidebar_label": "Configuration",
-                "original_id": "dev-guide-configuration"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-development-environment",
-              "id": "version-0.55.2-pre-asf/dev-guide-development-environment",
-              "title": "Development Environment",
-              "description": "In this section, we describe our recommended minimum setup for locally setting up a development instance of StreamPipes needed to develop, run and test new pipeline elements.",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-environment.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-development-environment",
-              "permalink": "/docs/0.55.2-pre-asf/dev-guide-development-environment",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-development-environment",
-                "title": "Development Environment",
-                "sidebar_label": "Development Environment",
-                "original_id": "dev-guide-development-environment"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-event-model",
-              "id": "version-0.55.2-pre-asf/dev-guide-event-model",
-              "title": "SDK Guide: Event Model",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-event-model.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-event-model",
-              "permalink": "/docs/0.55.2-pre-asf/dev-guide-event-model",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-event-model",
-                "title": "SDK Guide: Event Model",
-                "sidebar_label": "Event Model",
-                "original_id": "dev-guide-event-model"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-introduction",
-              "id": "version-0.55.2-pre-asf/dev-guide-introduction",
-              "title": "Introduction",
-              "description": "StreamPipes is an open platform which can be easily extended at runtime by adding new data streams, data processors and data sinks.",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-introduction.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-introduction",
-              "permalink": "/docs/0.55.2-pre-asf/dev-guide-introduction",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-introduction",
-                "title": "Introduction",
-                "sidebar_label": "Introduction",
-                "original_id": "dev-guide-introduction"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-migration",
-              "id": "version-0.55.2-pre-asf/dev-guide-migration",
-              "title": "Migration Guide v0.61",
-              "description": "Version 0.61.0 of StreamPipes comes with an improved event model. This model makes it easier to support more complex data streams (e.g., streams containing nested properties and lists) and includes features such as automatically resolving conflicts when merging two event streams.",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-migration.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-migration",
-              "permalink": "/docs/0.55.2-pre-asf/dev-guide-migration",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-migration",
-                "title": "Migration Guide v0.61",
-                "sidebar_label": "Migration Guide",
-                "original_id": "dev-guide-migration"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-output-strategies",
-              "id": "version-0.55.2-pre-asf/dev-guide-output-strategies",
-              "title": "SDK Guide: Output Strategies",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-output-strategies.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-output-strategies",
-              "permalink": "/docs/0.55.2-pre-asf/dev-guide-output-strategies",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-output-strategies",
-                "title": "SDK Guide: Output Strategies",
-                "sidebar_label": "Output Strategies",
-                "original_id": "dev-guide-output-strategies"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-sdk-guide-processors",
-              "id": "version-0.55.2-pre-asf/dev-guide-sdk-guide-processors",
-              "title": "SDK Guide Processors",
-              "description": "Project Setup",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-processor-sdk.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-sdk-guide-processors",
-              "permalink": "/docs/0.55.2-pre-asf/dev-guide-sdk-guide-processors",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-sdk-guide-processors",
-                "title": "SDK Guide Processors",
-                "sidebar_label": "SDK Guide Processors",
-                "original_id": "dev-guide-sdk-guide-processors"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-sdk-guide-sinks",
-              "id": "version-0.55.2-pre-asf/dev-guide-sdk-guide-sinks",
-              "title": "SDK Guide Sinks",
-              "description": "Project Setup",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-sink-sdk.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-sdk-guide-sinks",
-              "permalink": "/docs/0.55.2-pre-asf/dev-guide-sdk-guide-sinks",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-sdk-guide-sinks",
-                "title": "SDK Guide Sinks",
-                "sidebar_label": "SDK Guide Sinks",
-                "original_id": "dev-guide-sdk-guide-sinks"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-sdk-guide-sources",
-              "id": "version-0.55.2-pre-asf/dev-guide-sdk-guide-sources",
-              "title": "SDK Guide Sources",
-              "description": "Project Setup",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-source-sdk.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-sdk-guide-sources",
-              "permalink": "/docs/0.55.2-pre-asf/dev-guide-sdk-guide-sources",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-sdk-guide-sources",
-                "title": "SDK Guide Sources",
-                "sidebar_label": "SDK Guide Sources",
-                "original_id": "dev-guide-sdk-guide-sources"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-ssl",
-              "id": "version-0.55.2-pre-asf/dev-guide-ssl",
-              "title": "Use SSL",
-              "description": "In this tutorial we explain how you can use SSL Certificates to provide transport layer security between your Browser and the Streampipes Backend.",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-ssl.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-ssl",
-              "permalink": "/docs/0.55.2-pre-asf/dev-guide-ssl",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-ssl",
-                "title": "Use SSL",
-                "sidebar_label": "Use SSL",
-                "original_id": "dev-guide-ssl"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-static-properties",
-              "id": "version-0.55.2-pre-asf/dev-guide-static-properties",
-              "title": "SDK Guide: Static Properties",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-static-properties.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-static-properties",
-              "permalink": "/docs/0.55.2-pre-asf/dev-guide-static-properties",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-static-properties",
-                "title": "SDK Guide: Static Properties",
-                "sidebar_label": "Static Properties",
-                "original_id": "dev-guide-static-properties"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-stream-requirements",
-              "id": "version-0.55.2-pre-asf/dev-guide-stream-requirements",
-              "title": "SDK Guide: Stream Requirements",
-              "description": "Introduction",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-stream-requirements.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-stream-requirements",
-              "permalink": "/docs/0.55.2-pre-asf/dev-guide-stream-requirements",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-stream-requirements",
-                "title": "SDK Guide: Stream Requirements",
-                "sidebar_label": "Stream Requirements",
-                "original_id": "dev-guide-stream-requirements"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-tutorial-processors",
-              "id": "version-0.55.2-pre-asf/dev-guide-tutorial-processors",
-              "title": "Tutorial: Data Processors",
-              "description": "In this tutorial, we will add a new data processor using the Apache Flink wrapper.",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-tutorial-processors.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-tutorial-processors",
-              "permalink": "/docs/0.55.2-pre-asf/dev-guide-tutorial-processors",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-tutorial-processors",
-                "title": "Tutorial: Data Processors",
-                "sidebar_label": "Tutorial: Data Processors",
-                "original_id": "dev-guide-tutorial-processors"
-              }
-            },
-            {
-              "unversionedId": "dev-guide-tutorial-sources",
-              "id": "version-0.55.2-pre-asf/dev-guide-tutorial-sources",
-              "title": "Tutorial: Data Sources",
-              "description": "In this tutorial, we will add a new data source consisting of a single data stream. The source will be provided as a standalone component (i.e., the description will be accessible through an integrated web server).",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-tutorial-sources.md",
-              "sourceDirName": ".",
-              "slug": "/dev-guide-tutorial-sources",
-              "permalink": "/docs/0.55.2-pre-asf/dev-guide-tutorial-sources",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "dev-guide-tutorial-sources",
-                "title": "Tutorial: Data Sources",
-                "sidebar_label": "Tutorial: Data Sources",
-                "original_id": "dev-guide-tutorial-sources"
-              }
-            },
-            {
-              "unversionedId": "faq-common-problems",
-              "id": "version-0.55.2-pre-asf/faq-common-problems",
-              "title": "Common Problems",
-              "description": "* Windows 10: Consul, Kafka, Zookeeper, or Kafka-Rest did not start",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/faq-common-problems.md",
-              "sourceDirName": ".",
-              "slug": "/faq-common-problems",
-              "permalink": "/docs/0.55.2-pre-asf/faq-common-problems",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "faq-common-problems",
-                "title": "Common Problems",
-                "sidebar_label": "Common Problems",
-                "original_id": "faq-common-problems"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processor.geo.flink/version-0.62.0-org.streampipes.processor.geo.flink",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processor.geo.flink/version-0.62.0-org.streampipes.processor.geo.flink",
-              "title": "Spatial Grid Enrichment",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processor.geo.flink/documentation.md",
-              "sourceDirName": "org.streampipes.processor.geo.flink",
-              "slug": "/org.streampipes.processor.geo.flink/version-0.62.0-org.streampipes.processor.geo.flink",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processor.geo.flink/version-0.62.0-org.streampipes.processor.geo.flink",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processor.geo.flink",
-                "title": "Spatial Grid Enrichment",
-                "sidebar_label": "Spatial Grid Enrichment",
-                "original_id": "org.streampipes.processor.geo.flink"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processor.imageclassification.jvm.generic-image-classification/version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "title": "Generic Image Classification",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md",
-              "sourceDirName": "org.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "slug": "/org.streampipes.processor.imageclassification.jvm.generic-image-classification/version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification",
-                "title": "Generic Image Classification",
-                "sidebar_label": "Generic Image Classification",
-                "original_id": "org.streampipes.processor.imageclassification.jvm.generic-image-classification"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processor.imageclassification.jvm.image-enricher/version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher",
-              "title": "Image Enricher",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md",
-              "sourceDirName": "org.streampipes.processor.imageclassification.jvm.image-enricher",
-              "slug": "/org.streampipes.processor.imageclassification.jvm.image-enricher/version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher",
-                "title": "Image Enricher",
-                "sidebar_label": "Image Enricher",
-                "original_id": "org.streampipes.processor.imageclassification.jvm.image-enricher"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processor.imageclassification.qrcode/version-0.62.0-org.streampipes.processor.imageclassification.qrcode",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processor.imageclassification.qrcode/version-0.62.0-org.streampipes.processor.imageclassification.qrcode",
-              "title": "QR Code Reader",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processor.imageclassification.qrcode/documentation.md",
-              "sourceDirName": "org.streampipes.processor.imageclassification.qrcode",
-              "slug": "/org.streampipes.processor.imageclassification.qrcode/version-0.62.0-org.streampipes.processor.imageclassification.qrcode",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processor.imageclassification.qrcode/version-0.62.0-org.streampipes.processor.imageclassification.qrcode",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processor.imageclassification.qrcode",
-                "title": "QR Code Reader",
-                "sidebar_label": "QR Code Reader",
-                "original_id": "org.streampipes.processor.imageclassification.qrcode"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.aggregation.flink.aggregation/version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation",
-              "title": "Aggregation",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/documentation.md",
-              "sourceDirName": "org.streampipes.processors.aggregation.flink.aggregation",
-              "slug": "/org.streampipes.processors.aggregation.flink.aggregation/version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation",
-                "title": "Aggregation",
-                "sidebar_label": "Aggregation",
-                "original_id": "org.streampipes.processors.aggregation.flink.aggregation"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.aggregation.flink.rate/version-0.62.0-org.streampipes.processors.aggregation.flink.rate",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processors.aggregation.flink.rate/version-0.62.0-org.streampipes.processors.aggregation.flink.rate",
-              "title": "Event Rate",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.aggregation.flink.rate/documentation.md",
-              "sourceDirName": "org.streampipes.processors.aggregation.flink.rate",
-              "slug": "/org.streampipes.processors.aggregation.flink.rate/version-0.62.0-org.streampipes.processors.aggregation.flink.rate",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processors.aggregation.flink.rate/version-0.62.0-org.streampipes.processors.aggregation.flink.rate",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.aggregation.flink.rate",
-                "title": "Event Rate",
-                "sidebar_label": "Event Rate",
-                "original_id": "org.streampipes.processors.aggregation.flink.rate"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.enricher.flink.processor.math.mathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop",
-              "title": "Math",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md",
-              "sourceDirName": "org.streampipes.processors.enricher.flink.processor.math.mathop",
-              "slug": "/org.streampipes.processors.enricher.flink.processor.math.mathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop",
-                "title": "Math",
-                "sidebar_label": "Math",
-                "original_id": "org.streampipes.processors.enricher.flink.processor.math.mathop"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.enricher.flink.processor.math.staticmathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "title": "Static Math",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md",
-              "sourceDirName": "org.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "slug": "/org.streampipes.processors.enricher.flink.processor.math.staticmathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop",
-                "title": "Static Math",
-                "sidebar_label": "Static Math",
-                "original_id": "org.streampipes.processors.enricher.flink.processor.math.staticmathop"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.enricher.flink.processor.trigonometry/version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry",
-              "title": "Trigonometry Functions",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md",
-              "sourceDirName": "org.streampipes.processors.enricher.flink.processor.trigonometry",
-              "slug": "/org.streampipes.processors.enricher.flink.processor.trigonometry/version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry",
-                "title": "Trigonometry Functions",
-                "sidebar_label": "Trigonometry Functions",
-                "original_id": "org.streampipes.processors.enricher.flink.processor.trigonometry"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.enricher.flink.processor.urldereferencing/version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "title": "URL Dereferencing",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md",
-              "sourceDirName": "org.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "slug": "/org.streampipes.processors.enricher.flink.processor.urldereferencing/version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing",
-                "title": "URL Dereferencing",
-                "sidebar_label": "URL Dereferencing",
-                "original_id": "org.streampipes.processors.enricher.flink.processor.urldereferencing"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.enricher.flink.timestamp/version-0.62.0-org.streampipes.processors.enricher.flink.timestamp",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.timestamp/version-0.62.0-org.streampipes.processors.enricher.flink.timestamp",
-              "title": "Timestamp Enricher",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.timestamp/documentation.md",
-              "sourceDirName": "org.streampipes.processors.enricher.flink.timestamp",
-              "slug": "/org.streampipes.processors.enricher.flink.timestamp/version-0.62.0-org.streampipes.processors.enricher.flink.timestamp",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processors.enricher.flink.timestamp/version-0.62.0-org.streampipes.processors.enricher.flink.timestamp",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.enricher.flink.timestamp",
-                "title": "Timestamp Enricher",
-                "sidebar_label": "Timestamp Enricher",
-                "original_id": "org.streampipes.processors.enricher.flink.timestamp"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.filters.jvm.compose/version-0.62.0-org.streampipes.processors.filters.jvm.compose",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processors.filters.jvm.compose/version-0.62.0-org.streampipes.processors.filters.jvm.compose",
-              "title": "Compose",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.filters.jvm.compose/documentation.md",
-              "sourceDirName": "org.streampipes.processors.filters.jvm.compose",
-              "slug": "/org.streampipes.processors.filters.jvm.compose/version-0.62.0-org.streampipes.processors.filters.jvm.compose",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processors.filters.jvm.compose/version-0.62.0-org.streampipes.processors.filters.jvm.compose",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.filters.jvm.compose",
-                "title": "Compose",
-                "sidebar_label": "Compose",
-                "original_id": "org.streampipes.processors.filters.jvm.compose"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.filters.jvm.numericalfilter/version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter",
-              "title": "Numerical Filter",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/documentation.md",
-              "sourceDirName": "org.streampipes.processors.filters.jvm.numericalfilter",
-              "slug": "/org.streampipes.processors.filters.jvm.numericalfilter/version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter",
-                "title": "Numerical Filter",
-                "sidebar_label": "Numerical Filter",
-                "original_id": "org.streampipes.processors.filters.jvm.numericalfilter"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.filters.jvm.project/version-0.62.0-org.streampipes.processors.filters.jvm.project",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processors.filters.jvm.project/version-0.62.0-org.streampipes.processors.filters.jvm.project",
-              "title": "Projection",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.filters.jvm.project/documentation.md",
-              "sourceDirName": "org.streampipes.processors.filters.jvm.project",
-              "slug": "/org.streampipes.processors.filters.jvm.project/version-0.62.0-org.streampipes.processors.filters.jvm.project",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processors.filters.jvm.project/version-0.62.0-org.streampipes.processors.filters.jvm.project",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.filters.jvm.project",
-                "title": "Projection",
-                "sidebar_label": "Projection",
-                "original_id": "org.streampipes.processors.filters.jvm.project"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.filters.jvm.textfilter/version-0.62.0-org.streampipes.processors.filters.jvm.textfilter",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processors.filters.jvm.textfilter/version-0.62.0-org.streampipes.processors.filters.jvm.textfilter",
-              "title": "Text Filter",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.filters.jvm.textfilter/documentation.md",
-              "sourceDirName": "org.streampipes.processors.filters.jvm.textfilter",
-              "slug": "/org.streampipes.processors.filters.jvm.textfilter/version-0.62.0-org.streampipes.processors.filters.jvm.textfilter",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processors.filters.jvm.textfilter/version-0.62.0-org.streampipes.processors.filters.jvm.textfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.filters.jvm.textfilter",
-                "title": "Text Filter",
-                "sidebar_label": "Text Filter",
-                "original_id": "org.streampipes.processors.filters.jvm.textfilter"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.pattern-detection.flink.peak-detection/version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection",
-              "title": "Peak Detection",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md",
-              "sourceDirName": "org.streampipes.processors.pattern-detection.flink.peak-detection",
-              "slug": "/org.streampipes.processors.pattern-detection.flink.peak-detection/version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection",
-                "title": "Peak Detection",
-                "sidebar_label": "Peak Detection",
-                "original_id": "org.streampipes.processors.pattern-detection.flink.peak-detection"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.siddhi.frequency/version-0.62.0-org.streampipes.processors.siddhi.frequency",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processors.siddhi.frequency/version-0.62.0-org.streampipes.processors.siddhi.frequency",
-              "title": "Frequency Calculation",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.frequency/documentation.md",
-              "sourceDirName": "org.streampipes.processors.siddhi.frequency",
-              "slug": "/org.streampipes.processors.siddhi.frequency/version-0.62.0-org.streampipes.processors.siddhi.frequency",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processors.siddhi.frequency/version-0.62.0-org.streampipes.processors.siddhi.frequency",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.siddhi.frequency",
-                "title": "Frequency Calculation",
-                "sidebar_label": "Frequency Calculation",
-                "original_id": "org.streampipes.processors.siddhi.frequency"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.siddhi.frequencychange/version-0.62.0-org.streampipes.processors.siddhi.frequencychange",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processors.siddhi.frequencychange/version-0.62.0-org.streampipes.processors.siddhi.frequencychange",
-              "title": "Frequency Change",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.frequencychange/documentation.md",
-              "sourceDirName": "org.streampipes.processors.siddhi.frequencychange",
-              "slug": "/org.streampipes.processors.siddhi.frequencychange/version-0.62.0-org.streampipes.processors.siddhi.frequencychange",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processors.siddhi.frequencychange/version-0.62.0-org.streampipes.processors.siddhi.frequencychange",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.siddhi.frequencychange",
-                "title": "Frequency Change",
-                "sidebar_label": "Frequency Change",
-                "original_id": "org.streampipes.processors.siddhi.frequencychange"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.siddhi.increase/version-0.62.0-org.streampipes.processors.siddhi.increase",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processors.siddhi.increase/version-0.62.0-org.streampipes.processors.siddhi.increase",
-              "title": "Trend",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.increase/documentation.md",
-              "sourceDirName": "org.streampipes.processors.siddhi.increase",
-              "slug": "/org.streampipes.processors.siddhi.increase/version-0.62.0-org.streampipes.processors.siddhi.increase",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processors.siddhi.increase/version-0.62.0-org.streampipes.processors.siddhi.increase",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.siddhi.increase",
-                "title": "Trend",
-                "sidebar_label": "Trend",
-                "original_id": "org.streampipes.processors.siddhi.increase"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.siddhi.numericalfilter/version-0.62.0-org.streampipes.processors.siddhi.numericalfilter",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processors.siddhi.numericalfilter/version-0.62.0-org.streampipes.processors.siddhi.numericalfilter",
-              "title": "Numerical Filter (Siddhi)",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.numericalfilter/documentation.md",
-              "sourceDirName": "org.streampipes.processors.siddhi.numericalfilter",
-              "slug": "/org.streampipes.processors.siddhi.numericalfilter/version-0.62.0-org.streampipes.processors.siddhi.numericalfilter",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processors.siddhi.numericalfilter/version-0.62.0-org.streampipes.processors.siddhi.numericalfilter",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.siddhi.numericalfilter",
-                "title": "Numerical Filter (Siddhi)",
-                "sidebar_label": "Numerical Filter (Siddhi)",
-                "original_id": "org.streampipes.processors.siddhi.numericalfilter"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.siddhi.sequence/version-0.62.0-org.streampipes.processors.siddhi.sequence",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processors.siddhi.sequence/version-0.62.0-org.streampipes.processors.siddhi.sequence",
-              "title": "Sequence Detection",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.sequence/documentation.md",
-              "sourceDirName": "org.streampipes.processors.siddhi.sequence",
-              "slug": "/org.streampipes.processors.siddhi.sequence/version-0.62.0-org.streampipes.processors.siddhi.sequence",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processors.siddhi.sequence/version-0.62.0-org.streampipes.processors.siddhi.sequence",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.siddhi.sequence",
-                "title": "Sequence Detection",
-                "sidebar_label": "Sequence Detection",
-                "original_id": "org.streampipes.processors.siddhi.sequence"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.siddhi.stop/version-0.62.0-org.streampipes.processors.siddhi.stop",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processors.siddhi.stop/version-0.62.0-org.streampipes.processors.siddhi.stop",
-              "title": "Stream Stop Detection",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.stop/documentation.md",
-              "sourceDirName": "org.streampipes.processors.siddhi.stop",
-              "slug": "/org.streampipes.processors.siddhi.stop/version-0.62.0-org.streampipes.processors.siddhi.stop",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processors.siddhi.stop/version-0.62.0-org.streampipes.processors.siddhi.stop",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.siddhi.stop",
-                "title": "Stream Stop Detection",
-                "sidebar_label": "Stream Stop Detection",
-                "original_id": "org.streampipes.processors.siddhi.stop"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.textmining.flink.languagedetection/version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection",
-              "title": "Language Detection",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/documentation.md",
-              "sourceDirName": "org.streampipes.processors.textmining.flink.languagedetection",
-              "slug": "/org.streampipes.processors.textmining.flink.languagedetection/version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection",
-                "title": "Language Detection",
-                "sidebar_label": "Language Detection",
-                "original_id": "org.streampipes.processors.textmining.flink.languagedetection"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.textmining.flink.wordcount/version-0.62.0-org.streampipes.processors.textmining.flink.wordcount",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processors.textmining.flink.wordcount/version-0.62.0-org.streampipes.processors.textmining.flink.wordcount",
-              "title": "Word Count",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.textmining.flink.wordcount/documentation.md",
-              "sourceDirName": "org.streampipes.processors.textmining.flink.wordcount",
-              "slug": "/org.streampipes.processors.textmining.flink.wordcount/version-0.62.0-org.streampipes.processors.textmining.flink.wordcount",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processors.textmining.flink.wordcount/version-0.62.0-org.streampipes.processors.textmining.flink.wordcount",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.textmining.flink.wordcount",
-                "title": "Word Count",
-                "sidebar_label": "Word Count",
-                "original_id": "org.streampipes.processors.textmining.flink.wordcount"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.flink.field-converter/version-0.62.0-org.streampipes.processors.transformation.flink.field-converter",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-converter/version-0.62.0-org.streampipes.processors.transformation.flink.field-converter",
-              "title": "Field Converter",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-converter/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.flink.field-converter",
-              "slug": "/org.streampipes.processors.transformation.flink.field-converter/version-0.62.0-org.streampipes.processors.transformation.flink.field-converter",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-converter/version-0.62.0-org.streampipes.processors.transformation.flink.field-converter",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.flink.field-converter",
-                "title": "Field Converter",
-                "sidebar_label": "Field Converter",
-                "original_id": "org.streampipes.processors.transformation.flink.field-converter"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.flink.field-mapper/version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper",
-              "title": "Field Mapper",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.flink.field-mapper",
-              "slug": "/org.streampipes.processors.transformation.flink.field-mapper/version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper",
-                "title": "Field Mapper",
-                "sidebar_label": "Field Mapper",
-                "original_id": "org.streampipes.processors.transformation.flink.field-mapper"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.flink.field-renamer/version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer",
-              "title": "Field Renamer",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.flink.field-renamer",
-              "slug": "/org.streampipes.processors.transformation.flink.field-renamer/version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer",
-                "title": "Field Renamer",
-                "sidebar_label": "Field Renamer",
-                "original_id": "org.streampipes.processors.transformation.flink.field-renamer"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.flink.fieldhasher/version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher",
-              "title": "Field Hasher",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.flink.fieldhasher",
-              "slug": "/org.streampipes.processors.transformation.flink.fieldhasher/version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher",
-                "title": "Field Hasher",
-                "sidebar_label": "Field Hasher",
-                "original_id": "org.streampipes.processors.transformation.flink.fieldhasher"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.flink.measurement-unit-converter/version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "title": "Measurement Unit Converter",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "slug": "/org.streampipes.processors.transformation.flink.measurement-unit-converter/version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter",
-                "title": "Measurement Unit Converter",
-                "sidebar_label": "Measurement Unit Converter",
-                "original_id": "org.streampipes.processors.transformation.flink.measurement-unit-converter"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.flink.processor.boilerplate/version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate",
-              "title": "Boilerplate Removal",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.flink.processor.boilerplate",
-              "slug": "/org.streampipes.processors.transformation.flink.processor.boilerplate/version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate",
-                "title": "Boilerplate Removal",
-                "sidebar_label": "Boilerplate Removal",
-                "original_id": "org.streampipes.processors.transformation.flink.processor.boilerplate"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.jvm.changed-value/version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value",
-              "title": "Value Changed",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.jvm.changed-value",
-              "slug": "/org.streampipes.processors.transformation.jvm.changed-value/version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value",
-                "title": "Value Changed",
-                "sidebar_label": "Value Changed",
-                "original_id": "org.streampipes.processors.transformation.jvm.changed-value"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.jvm.count-array/version-0.62.0-org.streampipes.processors.transformation.jvm.count-array",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.count-array/version-0.62.0-org.streampipes.processors.transformation.jvm.count-array",
-              "title": "Count Array",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.count-array/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.jvm.count-array",
-              "slug": "/org.streampipes.processors.transformation.jvm.count-array/version-0.62.0-org.streampipes.processors.transformation.jvm.count-array",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.count-array/version-0.62.0-org.streampipes.processors.transformation.jvm.count-array",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.jvm.count-array",
-                "title": "Count Array",
-                "sidebar_label": "Count Array",
-                "original_id": "org.streampipes.processors.transformation.jvm.count-array"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.jvm.duration-value/version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value",
-              "title": "Calculate Duration",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.jvm.duration-value",
-              "slug": "/org.streampipes.processors.transformation.jvm.duration-value/version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value",
-                "title": "Calculate Duration",
-                "sidebar_label": "Calculate Duration",
-                "original_id": "org.streampipes.processors.transformation.jvm.duration-value"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.jvm.processor.timestampextractor/version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "title": "Timestamp Extractor",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "slug": "/org.streampipes.processors.transformation.jvm.processor.timestampextractor/version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor",
-                "title": "Timestamp Extractor",
-                "sidebar_label": "Timestamp Extractor",
-                "original_id": "org.streampipes.processors.transformation.jvm.processor.timestampextractor"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.processors.transformation.jvm.split-array/version-0.62.0-org.streampipes.processors.transformation.jvm.split-array",
-              "id": "version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.split-array/version-0.62.0-org.streampipes.processors.transformation.jvm.split-array",
-              "title": "Split Array",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.split-array/documentation.md",
-              "sourceDirName": "org.streampipes.processors.transformation.jvm.split-array",
-              "slug": "/org.streampipes.processors.transformation.jvm.split-array/version-0.62.0-org.streampipes.processors.transformation.jvm.split-array",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.split-array/version-0.62.0-org.streampipes.processors.transformation.jvm.split-array",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.processors.transformation.jvm.split-array",
-                "title": "Split Array",
-                "sidebar_label": "Split Array",
-                "original_id": "org.streampipes.processors.transformation.jvm.split-array"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.brokers.jvm.jms/version-0.62.0-org.streampipes.sinks.brokers.jvm.jms",
-              "id": "version-0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.jms/version-0.62.0-org.streampipes.sinks.brokers.jvm.jms",
-              "title": "JMS Publisher",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.jms/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.brokers.jvm.jms",
-              "slug": "/org.streampipes.sinks.brokers.jvm.jms/version-0.62.0-org.streampipes.sinks.brokers.jvm.jms",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.jms/version-0.62.0-org.streampipes.sinks.brokers.jvm.jms",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.brokers.jvm.jms",
-                "title": "JMS Publisher",
-                "sidebar_label": "JMS Publisher",
-                "original_id": "org.streampipes.sinks.brokers.jvm.jms"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.brokers.jvm.kafka/version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka",
-              "id": "version-0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka",
-              "title": "Kafka Publisher",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.brokers.jvm.kafka",
-              "slug": "/org.streampipes.sinks.brokers.jvm.kafka/version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka",
-                "title": "Kafka Publisher",
-                "sidebar_label": "Kafka Publisher",
-                "original_id": "org.streampipes.sinks.brokers.jvm.kafka"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.brokers.jvm.rabbitmq/version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq",
-              "id": "version-0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq",
-              "title": "RabbitMQ Publisher",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.brokers.jvm.rabbitmq",
-              "slug": "/org.streampipes.sinks.brokers.jvm.rabbitmq/version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq",
-                "title": "RabbitMQ Publisher",
-                "sidebar_label": "RabbitMQ Publisher",
-                "original_id": "org.streampipes.sinks.brokers.jvm.rabbitmq"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.brokers.jvm.rest/version-0.62.0-org.streampipes.sinks.brokers.jvm.rest",
-              "id": "version-0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.rest/version-0.62.0-org.streampipes.sinks.brokers.jvm.rest",
-              "title": "REST Publisher",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.rest/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.brokers.jvm.rest",
-              "slug": "/org.streampipes.sinks.brokers.jvm.rest/version-0.62.0-org.streampipes.sinks.brokers.jvm.rest",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.rest/version-0.62.0-org.streampipes.sinks.brokers.jvm.rest",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.brokers.jvm.rest",
-                "title": "REST Publisher",
-                "sidebar_label": "REST Publisher",
-                "original_id": "org.streampipes.sinks.brokers.jvm.rest"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.databases.flink.elasticsearch/version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch",
-              "id": "version-0.55.2-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch",
-              "title": "Elasticsearch",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.databases.flink.elasticsearch",
-              "slug": "/org.streampipes.sinks.databases.flink.elasticsearch/version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch",
-                "title": "Elasticsearch",
-                "sidebar_label": "Elasticsearch",
-                "original_id": "org.streampipes.sinks.databases.flink.elasticsearch"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.databases.jvm.couchdb/version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb",
-              "id": "version-0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb",
-              "title": "CouchDB",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.databases.jvm.couchdb",
-              "slug": "/org.streampipes.sinks.databases.jvm.couchdb/version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb",
-                "title": "CouchDB",
-                "sidebar_label": "CouchDB",
-                "original_id": "org.streampipes.sinks.databases.jvm.couchdb"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.databases.jvm.influxdb/version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb",
-              "id": "version-0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb",
-              "title": "InfluxDB",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.databases.jvm.influxdb",
-              "slug": "/org.streampipes.sinks.databases.jvm.influxdb/version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb",
-                "title": "InfluxDB",
-                "sidebar_label": "InfluxDB",
-                "original_id": "org.streampipes.sinks.databases.jvm.influxdb"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.databases.jvm.postgresql/version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql",
-              "id": "version-0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql",
-              "title": "PostgreSQL",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.databases.jvm.postgresql",
-              "slug": "/org.streampipes.sinks.databases.jvm.postgresql/version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql",
-                "title": "PostgreSQL",
-                "sidebar_label": "PostgreSQL",
-                "original_id": "org.streampipes.sinks.databases.jvm.postgresql"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.internal.jvm.dashboard/version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard",
-              "id": "version-0.55.2-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard",
-              "title": "Dashboard Sink",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.internal.jvm.dashboard",
-              "slug": "/org.streampipes.sinks.internal.jvm.dashboard/version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard",
-                "title": "Dashboard Sink",
-                "sidebar_label": "Dashboard Sink",
-                "original_id": "org.streampipes.sinks.internal.jvm.dashboard"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.internal.jvm.notification/version-0.62.0-org.streampipes.sinks.internal.jvm.notification",
-              "id": "version-0.55.2-pre-asf/org.streampipes.sinks.internal.jvm.notification/version-0.62.0-org.streampipes.sinks.internal.jvm.notification",
-              "title": "Notification",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.internal.jvm.notification/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.internal.jvm.notification",
-              "slug": "/org.streampipes.sinks.internal.jvm.notification/version-0.62.0-org.streampipes.sinks.internal.jvm.notification",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.sinks.internal.jvm.notification/version-0.62.0-org.streampipes.sinks.internal.jvm.notification",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.internal.jvm.notification",
-                "title": "Notification",
-                "sidebar_label": "Notification",
-                "original_id": "org.streampipes.sinks.internal.jvm.notification"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.notifications.jvm.email/version-0.62.0-org.streampipes.sinks.notifications.jvm.email",
-              "id": "version-0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.email/version-0.62.0-org.streampipes.sinks.notifications.jvm.email",
-              "title": "Email Notification",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.email/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.notifications.jvm.email",
-              "slug": "/org.streampipes.sinks.notifications.jvm.email/version-0.62.0-org.streampipes.sinks.notifications.jvm.email",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.email/version-0.62.0-org.streampipes.sinks.notifications.jvm.email",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.notifications.jvm.email",
-                "title": "Email Notification",
-                "sidebar_label": "Email Notification",
-                "original_id": "org.streampipes.sinks.notifications.jvm.email"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.notifications.jvm.onesignal/version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal",
-              "id": "version-0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal",
-              "title": "OneSignal",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.notifications.jvm.onesignal",
-              "slug": "/org.streampipes.sinks.notifications.jvm.onesignal/version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal",
-                "title": "OneSignal",
-                "sidebar_label": "OneSignal",
-                "original_id": "org.streampipes.sinks.notifications.jvm.onesignal"
-              }
-            },
-            {
-              "unversionedId": "org.streampipes.sinks.notifications.jvm.slack/version-0.62.0-org.streampipes.sinks.notifications.jvm.slack",
-              "id": "version-0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.slack/version-0.62.0-org.streampipes.sinks.notifications.jvm.slack",
-              "title": "Slack Notification",
-              "description": "*",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.slack/documentation.md",
-              "sourceDirName": "org.streampipes.sinks.notifications.jvm.slack",
-              "slug": "/org.streampipes.sinks.notifications.jvm.slack/version-0.62.0-org.streampipes.sinks.notifications.jvm.slack",
-              "permalink": "/docs/0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.slack/version-0.62.0-org.streampipes.sinks.notifications.jvm.slack",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "version-0.62.0-org.streampipes.sinks.notifications.jvm.slack",
-                "title": "Slack Notification",
-                "sidebar_label": "Slack Notification",
-                "original_id": "org.streampipes.sinks.notifications.jvm.slack"
-              }
-            },
-            {
-              "unversionedId": "privacy",
-              "id": "version-0.55.2-pre-asf/privacy",
-              "title": "Datenschutzerklärung",
-              "description": "Verantwortliche Stelle",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/privacy.md",
-              "sourceDirName": ".",
-              "slug": "/privacy",
-              "permalink": "/docs/0.55.2-pre-asf/privacy",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "privacy",
-                "title": "Datenschutzerklärung",
-                "sidebar_label": "Privacy Notice",
-                "original_id": "privacy"
-              }
-            },
-            {
-              "unversionedId": "user-guide-getting-started",
-              "id": "version-0.55.2-pre-asf/user-guide-getting-started",
-              "title": "Getting Started",
-              "description": "This quick start explains how StreamPipes can be set up in the browser.",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/user-guide-getting-started.md",
-              "sourceDirName": ".",
-              "slug": "/user-guide-getting-started",
-              "permalink": "/docs/0.55.2-pre-asf/user-guide-getting-started",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "user-guide-getting-started",
-                "title": "Getting Started",
-                "sidebar_label": "Getting Started",
-                "original_id": "user-guide-getting-started"
-              }
-            },
-            {
-              "unversionedId": "user-guide-installation",
-              "id": "version-0.55.2-pre-asf/user-guide-installation",
-              "title": "Installation",
-              "description": "StreamPipes desktop version",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/user-guide-installation.md",
-              "sourceDirName": ".",
-              "slug": "/user-guide-installation",
-              "permalink": "/docs/0.55.2-pre-asf/user-guide-installation",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "user-guide-installation",
-                "title": "Installation",
-                "sidebar_label": "Installation",
-                "original_id": "user-guide-installation"
-              }
-            },
-            {
-              "unversionedId": "user-guide-introduction",
-              "id": "version-0.55.2-pre-asf/user-guide-introduction",
-              "title": "Introduction",
-              "description": "StreamPipes is a framework that enables users to work with data streams.",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/user-guide-introduction.md",
-              "sourceDirName": ".",
-              "slug": "/user-guide-introduction",
-              "permalink": "/docs/0.55.2-pre-asf/user-guide-introduction",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "user-guide-introduction",
-                "title": "Introduction",
-                "sidebar_label": "Introduction",
-                "original_id": "user-guide-introduction"
-              }
-            },
-            {
-              "unversionedId": "user-guide-processing-elements",
-              "id": "version-0.55.2-pre-asf/user-guide-processing-elements",
-              "title": "Processing Elements",
-              "description": "This page explains all the Procesing Elements that are available in the StreamPipes Starter Kit.",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/user-guide-processing-elements.md",
-              "sourceDirName": ".",
-              "slug": "/user-guide-processing-elements",
-              "permalink": "/docs/0.55.2-pre-asf/user-guide-processing-elements",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "user-guide-processing-elements",
-                "title": "Processing Elements",
-                "sidebar_label": "Processing Elements",
-                "original_id": "user-guide-processing-elements"
-              }
-            },
-            {
-              "unversionedId": "user-guide-software-components",
-              "id": "version-0.55.2-pre-asf/user-guide-software-components",
-              "title": "Software Components",
-              "description": "This page contains all the software components that can be used within the StreamPipes framework.",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/user-guide-software-components.md",
-              "sourceDirName": ".",
-              "slug": "/user-guide-software-components",
-              "permalink": "/docs/0.55.2-pre-asf/user-guide-software-components",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "user-guide-software-components",
-                "title": "Software Components",
-                "sidebar_label": "Software Components",
-                "original_id": "user-guide-software-components"
-              }
-            },
-            {
-              "unversionedId": "user-guide-tour",
-              "id": "version-0.55.2-pre-asf/user-guide-tour",
-              "title": "Tour",
-              "description": "StreamPipes is a framework that enables domain experts to model and execute stream processing pipelines in a big data infrastructure.",
-              "source": "@site/versioned_docs/version-0.55.2-pre-asf/user-guide-tour.md",
-              "sourceDirName": ".",
-              "slug": "/user-guide-tour",
-              "permalink": "/docs/0.55.2-pre-asf/user-guide-tour",
-              "draft": false,
-              "tags": [],
-              "version": "0.55.2-pre-asf",
-              "lastUpdatedBy": "Author",
-              "lastUpdatedAt": 1539502055,
-              "formattedLastUpdatedAt": "Oct 14, 2018",
-              "frontMatter": {
-                "id": "user-guide-tour",
-                "title": "Tour",
-                "sidebar_label": "Tour",
-                "original_id": "user-guide-tour"
-              }
-            }
-          ],
-          "drafts": [],
-          "sidebars": {}
         }
       ]
     }
diff --git a/website-v2/.docusaurus/globalData.json b/website-v2/.docusaurus/globalData.json
index 4fc7ee6..9f5fa2c 100644
--- a/website-v2/.docusaurus/globalData.json
+++ b/website-v2/.docusaurus/globalData.json
@@ -1018,10 +1018,22 @@
               "sidebar": "documentation"
             },
             {
+              "id": "dev-guide-archetype",
+              "path": "/docs/dev-guide-archetype"
+            },
+            {
               "id": "dev-guide-introduction",
               "path": "/docs/dev-guide-introduction"
             },
             {
+              "id": "dev-guide-sdk-guide-processors",
+              "path": "/docs/dev-guide-sdk-guide-processors"
+            },
+            {
+              "id": "dev-guide-sdk-guide-sinks",
+              "path": "/docs/dev-guide-sdk-guide-sinks"
+            },
+            {
               "id": "extend-archetypes",
               "path": "/docs/extend-archetypes",
               "sidebar": "documentation"
@@ -1681,6 +1693,10 @@
               "sidebar": "documentation"
             },
             {
+              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
+              "path": "/docs/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt"
+            },
+            {
               "id": "pe/org.apache.streampipes.sinks.brokers.jvm.nats",
               "path": "/docs/pe/org.apache.streampipes.sinks.brokers.jvm.nats",
               "sidebar": "documentation"
@@ -1900,227 +1916,905 @@
           "label": "0.91.0",
           "isLast": false,
           "path": "/docs/0.91.0",
-          "mainDocId": "extend-setup",
+          "mainDocId": "user-guide-introduction",
           "docs": [
             {
+              "id": "community-contribute",
+              "path": "/docs/0.91.0/community-contribute",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "community-get-help",
+              "path": "/docs/0.91.0/community-get-help",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "concepts-adapter",
+              "path": "/docs/0.91.0/concepts-adapter"
+            },
+            {
+              "id": "concepts-data-streams",
+              "path": "/docs/0.91.0/concepts-data-streams"
+            },
+            {
+              "id": "concepts-glossary",
+              "path": "/docs/0.91.0/concepts-glossary"
+            },
+            {
+              "id": "concepts-overview",
+              "path": "/docs/0.91.0/concepts-overview",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "concepts-pipelines",
+              "path": "/docs/0.91.0/concepts-pipelines"
+            },
+            {
+              "id": "debugging-debugging",
+              "path": "/docs/0.91.0/debugging-debugging"
+            },
+            {
+              "id": "debugging-monitoring",
+              "path": "/docs/0.91.0/debugging-monitoring"
+            },
+            {
+              "id": "deploy-docker",
+              "path": "/docs/0.91.0/deploy-docker",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "deploy-kubernetes",
+              "path": "/docs/0.91.0/deploy-kubernetes",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "deploy-security",
+              "path": "/docs/0.91.0/deploy-security",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "deploy-use-ssl",
+              "path": "/docs/0.91.0/deploy-use-ssl",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "dev-guide-archetype",
+              "path": "/docs/0.91.0/dev-guide-archetype"
+            },
+            {
+              "id": "dev-guide-sdk-guide-processors",
+              "path": "/docs/0.91.0/dev-guide-sdk-guide-processors"
+            },
+            {
+              "id": "dev-guide-sdk-guide-sinks",
+              "path": "/docs/0.91.0/dev-guide-sdk-guide-sinks"
+            },
+            {
+              "id": "extend-archetypes",
+              "path": "/docs/0.91.0/extend-archetypes",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "extend-cli",
+              "path": "/docs/0.91.0/extend-cli",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "extend-first-processor",
+              "path": "/docs/0.91.0/extend-first-processor",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "extend-sdk-event-model",
+              "path": "/docs/0.91.0/extend-sdk-event-model",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "extend-sdk-functions",
+              "path": "/docs/0.91.0/extend-sdk-functions",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "extend-sdk-migration-service-discovery",
+              "path": "/docs/0.91.0/extend-sdk-migration-service-discovery",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "extend-sdk-output-strategies",
+              "path": "/docs/0.91.0/extend-sdk-output-strategies",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "extend-sdk-static-properties",
+              "path": "/docs/0.91.0/extend-sdk-static-properties",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "extend-sdk-stream-requirements",
+              "path": "/docs/0.91.0/extend-sdk-stream-requirements",
+              "sidebar": "documentation"
+            },
+            {
               "id": "extend-setup",
-              "path": "/docs/0.91.0/extend-setup"
+              "path": "/docs/0.91.0/extend-setup",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "extend-tutorial-data-processors",
+              "path": "/docs/0.91.0/extend-tutorial-data-processors",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "extend-tutorial-data-sinks",
+              "path": "/docs/0.91.0/extend-tutorial-data-sinks",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "extend-tutorial-data-sources",
+              "path": "/docs/0.91.0/extend-tutorial-data-sources",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "faq-common-problems",
+              "path": "/docs/0.91.0/faq-common-problems",
+              "sidebar": "faq"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.coindesk",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.coindesk",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.connect.adapters.flic.mqtt",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.gdelt",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.gdelt",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.iex.news",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iex.news",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.iex.stocks",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iex.stocks",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.image.set",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.image.set",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.image.stream",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.image.stream",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.influxdb.set",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.set",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.influxdb.stream",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.iss",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iss",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.mysql.set",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.set",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.mysql.stream",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.stream",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.netio.mqtt",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.netio.rest",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.netio.rest",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.connect.adapters.opcua",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.opcua"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.opcua",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.connect.adapters.plc4x.modbus",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.plc4x.s7",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.ros",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.ros",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.connect.adapters.simulator.machine",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.machine"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.machine",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.slack",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.slack",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.ti",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.ti",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.wikipedia.new",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.protocol.stream.file",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.file",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.protocol.stream.http",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.http",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.connect.protocol.stream.httpserver",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.protocol.stream.kafka",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.kafka",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.protocol.stream.mqtt",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.protocol.stream.pulsar",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processor.geo.flink",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.flink",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processor.imageclassification.qrcode",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.qrcode"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.qrcode",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.aggregation.flink.count",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.count"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.count",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.aggregation.flink.rate",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.rate"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.rate",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.changedetection.jvm.cusum",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.enricher.flink.timestamp",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.filters.jvm.compose",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.compose",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.filters.jvm.enrich",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.enrich",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.filters.jvm.limit",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.limit"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.limit",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.filters.jvm.merge",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.merge"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.merge",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.filters.jvm.project",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.project",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.filters.jvm.textfilter",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.filters.jvm.threshold",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.threshold",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.and",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.siddhi.frequency",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.frequency"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.frequency",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.siddhi.frequencychange",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.frequencychange"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.frequencychange",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.siddhi.increase",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.increase"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.increase",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.siddhi.sequence",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.sequence",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.siddhi.stop",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.stop"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.stop",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.textmining.jvm.chunker",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.transformation.jvm.count-array",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.protocol.set.file",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.protocol.set.file",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.protocol.set.http",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.protocol.set.http",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.jms",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt"
             },
             {
               "id": "pe/org.apache.streampipes.sinks.brokers.jvm.nats",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.rest",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.sinks.databases.ditto",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.ditto"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.ditto",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.sinks.databases.jvm.mysql",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.sinks.databases.jvm.opcua",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.sinks.internal.jvm.datalake",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.sinks.internal.jvm.notification",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.notification"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.notification",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.sinks.notifications.jvm.email",
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.email",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.sinks.notifications.jvm.telegram",
-              "path": "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram"
+              "path": "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram",
+              "sidebar": "documentation"
             },
             {
               "id": "privacy",
               "path": "/docs/0.91.0/privacy"
             },
             {
+              "id": "technicals-architecture",
+              "path": "/docs/0.91.0/technicals-architecture",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "technicals-configuration",
+              "path": "/docs/0.91.0/technicals-configuration",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "technicals-messaging",
+              "path": "/docs/0.91.0/technicals-messaging",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "technicals-runtime-wrappers",
+              "path": "/docs/0.91.0/technicals-runtime-wrappers",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "technicals-user-guidance",
+              "path": "/docs/0.91.0/technicals-user-guidance",
+              "sidebar": "documentation"
+            },
+            {
               "id": "try-installation",
-              "path": "/docs/0.91.0/try-installation"
+              "path": "/docs/0.91.0/try-installation",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "try-tutorial",
+              "path": "/docs/0.91.0/try-tutorial"
+            },
+            {
+              "id": "use-configurations",
+              "path": "/docs/0.91.0/use-configurations",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "use-connect",
+              "path": "/docs/0.91.0/use-connect",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "use-dashboard",
+              "path": "/docs/0.91.0/use-dashboard",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "use-data-explorer",
+              "path": "/docs/0.91.0/use-data-explorer",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "use-install-pipeline-elements",
+              "path": "/docs/0.91.0/use-install-pipeline-elements",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "use-managing-pipelines",
+              "path": "/docs/0.91.0/use-managing-pipelines",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "use-notifications",
+              "path": "/docs/0.91.0/use-notifications",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "use-pipeline-editor",
+              "path": "/docs/0.91.0/use-pipeline-editor",
+              "sidebar": "documentation"
             },
             {
               "id": "user-guide-first-steps",
@@ -2132,7 +2826,8 @@
             },
             {
               "id": "user-guide-introduction",
-              "path": "/docs/0.91.0/user-guide-introduction"
+              "path": "/docs/0.91.0/user-guide-introduction",
+              "sidebar": "documentation"
             },
             {
               "id": "user-guide-introduction-old",
@@ -2148,278 +2843,921 @@
             }
           ],
           "draftIds": [],
-          "sidebars": {}
+          "sidebars": {
+            "documentation": {
+              "link": {
+                "path": "/docs/0.91.0/user-guide-introduction",
+                "label": "user-guide-introduction"
+              }
+            },
+            "faq": {
+              "link": {
+                "path": "/docs/0.91.0/faq-common-problems",
+                "label": "faq-common-problems"
+              }
+            }
+          }
         },
         {
           "name": "0.90.0",
           "label": "0.90.0",
           "isLast": false,
           "path": "/docs/0.90.0",
-          "mainDocId": "community-contribute",
+          "mainDocId": "user-guide-introduction",
           "docs": [
             {
               "id": "community-contribute",
-              "path": "/docs/0.90.0/community-contribute"
+              "path": "/docs/0.90.0/community-contribute",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "community-get-help",
+              "path": "/docs/0.90.0/community-get-help",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "concepts-adapter",
+              "path": "/docs/0.90.0/concepts-adapter"
+            },
+            {
+              "id": "concepts-data-streams",
+              "path": "/docs/0.90.0/concepts-data-streams"
+            },
+            {
+              "id": "concepts-glossary",
+              "path": "/docs/0.90.0/concepts-glossary"
+            },
+            {
+              "id": "concepts-overview",
+              "path": "/docs/0.90.0/concepts-overview",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "concepts-pipelines",
+              "path": "/docs/0.90.0/concepts-pipelines"
+            },
+            {
+              "id": "debugging-debugging",
+              "path": "/docs/0.90.0/debugging-debugging"
+            },
+            {
+              "id": "debugging-monitoring",
+              "path": "/docs/0.90.0/debugging-monitoring"
+            },
+            {
+              "id": "deploy-docker",
+              "path": "/docs/0.90.0/deploy-docker",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "deploy-kubernetes",
+              "path": "/docs/0.90.0/deploy-kubernetes",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "deploy-security",
+              "path": "/docs/0.90.0/deploy-security",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "deploy-use-ssl",
+              "path": "/docs/0.90.0/deploy-use-ssl",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "dev-guide-archetype",
+              "path": "/docs/0.90.0/dev-guide-archetype"
+            },
+            {
+              "id": "dev-guide-sdk-guide-processors",
+              "path": "/docs/0.90.0/dev-guide-sdk-guide-processors"
+            },
+            {
+              "id": "dev-guide-sdk-guide-sinks",
+              "path": "/docs/0.90.0/dev-guide-sdk-guide-sinks"
+            },
+            {
+              "id": "extend-archetypes",
+              "path": "/docs/0.90.0/extend-archetypes",
+              "sidebar": "documentation"
             },
             {
               "id": "extend-cli",
-              "path": "/docs/0.90.0/extend-cli"
+              "path": "/docs/0.90.0/extend-cli",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "extend-first-processor",
+              "path": "/docs/0.90.0/extend-first-processor",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "extend-sdk-event-model",
+              "path": "/docs/0.90.0/extend-sdk-event-model",
+              "sidebar": "documentation"
             },
             {
               "id": "extend-sdk-functions",
-              "path": "/docs/0.90.0/extend-sdk-functions"
+              "path": "/docs/0.90.0/extend-sdk-functions",
+              "sidebar": "documentation"
             },
             {
               "id": "extend-sdk-migration-service-discovery",
-              "path": "/docs/0.90.0/extend-sdk-migration-service-discovery"
+              "path": "/docs/0.90.0/extend-sdk-migration-service-discovery",
+              "sidebar": "documentation"
             },
             {
               "id": "extend-sdk-output-strategies",
-              "path": "/docs/0.90.0/extend-sdk-output-strategies"
+              "path": "/docs/0.90.0/extend-sdk-output-strategies",
+              "sidebar": "documentation"
             },
             {
               "id": "extend-sdk-static-properties",
-              "path": "/docs/0.90.0/extend-sdk-static-properties"
+              "path": "/docs/0.90.0/extend-sdk-static-properties",
+              "sidebar": "documentation"
             },
             {
               "id": "extend-sdk-stream-requirements",
-              "path": "/docs/0.90.0/extend-sdk-stream-requirements"
+              "path": "/docs/0.90.0/extend-sdk-stream-requirements",
+              "sidebar": "documentation"
             },
             {
               "id": "extend-setup",
-              "path": "/docs/0.90.0/extend-setup"
+              "path": "/docs/0.90.0/extend-setup",
+              "sidebar": "documentation"
             },
             {
               "id": "extend-tutorial-data-processors",
-              "path": "/docs/0.90.0/extend-tutorial-data-processors"
+              "path": "/docs/0.90.0/extend-tutorial-data-processors",
+              "sidebar": "documentation"
             },
             {
               "id": "extend-tutorial-data-sinks",
-              "path": "/docs/0.90.0/extend-tutorial-data-sinks"
+              "path": "/docs/0.90.0/extend-tutorial-data-sinks",
+              "sidebar": "documentation"
             },
             {
               "id": "extend-tutorial-data-sources",
-              "path": "/docs/0.90.0/extend-tutorial-data-sources"
+              "path": "/docs/0.90.0/extend-tutorial-data-sources",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "faq-common-problems",
+              "path": "/docs/0.90.0/faq-common-problems",
+              "sidebar": "faq"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.coindesk",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.coindesk",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.connect.adapters.flic.mqtt",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.gdelt",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.gdelt",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.iex.news",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iex.news",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.iex.stocks",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iex.stocks",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.image.set",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.image.set",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.image.stream",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.image.stream",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.influxdb.set",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.set",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.influxdb.stream",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.iss",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iss",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.mysql.set",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.set",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.mysql.stream",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.stream",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.netio.mqtt",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.netio.rest",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.netio.rest",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.connect.adapters.opcua",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.opcua"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.opcua",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.connect.adapters.plc4x.modbus",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.plc4x.s7",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.ros",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.ros",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.connect.adapters.simulator.machine",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.machine"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.machine",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.slack",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.slack",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.ti",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.ti",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.adapters.wikipedia.new",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.protocol.stream.file",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.file",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.protocol.stream.http",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.http",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.connect.protocol.stream.httpserver",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.protocol.stream.kafka",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.kafka",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.protocol.stream.mqtt",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.connect.protocol.stream.pulsar",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processor.geo.flink",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.flink",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processor.imageclassification.qrcode",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.qrcode"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.qrcode",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.aggregation.flink.count",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.count"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.count",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.aggregation.flink.rate",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.rate"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.rate",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.changedetection.jvm.cusum",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.enricher.flink.timestamp",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.filters.jvm.compose",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.compose",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.filters.jvm.enrich",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.enrich",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.filters.jvm.limit",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.limit"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.limit",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.filters.jvm.merge",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.merge"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.merge",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.filters.jvm.project",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.project",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.filters.jvm.textfilter",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.filters.jvm.threshold",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.threshold",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.and",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.siddhi.frequency",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.frequency"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.frequency",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.siddhi.frequencychange",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.frequencychange"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.frequencychange",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.siddhi.increase",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.increase"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.increase",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.siddhi.sequence",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.sequence",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.siddhi.stop",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.stop"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.stop",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.textmining.jvm.chunker",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.transformation.jvm.count-array",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.protocol.set.file",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.protocol.set.file",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.protocol.set.http",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.protocol.set.http",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.jms",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt"
             },
             {
               "id": "pe/org.apache.streampipes.sinks.brokers.jvm.nats",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.rest",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.sinks.databases.ditto",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.ditto"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.ditto",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.sinks.databases.jvm.mysql",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.sinks.databases.jvm.opcua",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.sinks.internal.jvm.datalake",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.sinks.internal.jvm.notification",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.notification"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.notification",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.sinks.notifications.jvm.email",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.email",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack",
+              "sidebar": "documentation"
             },
             {
               "id": "pe/org.apache.streampipes.sinks.notifications.jvm.telegram",
-              "path": "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram"
+              "path": "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "technicals-architecture",
+              "path": "/docs/0.90.0/technicals-architecture",
+              "sidebar": "documentation"
             },
             {
               "id": "technicals-configuration",
-              "path": "/docs/0.90.0/technicals-configuration"
+              "path": "/docs/0.90.0/technicals-configuration",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "technicals-messaging",
+              "path": "/docs/0.90.0/technicals-messaging",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "technicals-runtime-wrappers",
+              "path": "/docs/0.90.0/technicals-runtime-wrappers",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "technicals-user-guidance",
+              "path": "/docs/0.90.0/technicals-user-guidance",
+              "sidebar": "documentation"
             },
             {
               "id": "try-installation",
-              "path": "/docs/0.90.0/try-installation"
+              "path": "/docs/0.90.0/try-installation",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "try-tutorial",
+              "path": "/docs/0.90.0/try-tutorial"
+            },
+            {
+              "id": "use-configurations",
+              "path": "/docs/0.90.0/use-configurations",
+              "sidebar": "documentation"
             },
             {
               "id": "use-connect",
-              "path": "/docs/0.90.0/use-connect"
+              "path": "/docs/0.90.0/use-connect",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "use-dashboard",
+              "path": "/docs/0.90.0/use-dashboard",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "use-data-explorer",
+              "path": "/docs/0.90.0/use-data-explorer",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "use-install-pipeline-elements",
+              "path": "/docs/0.90.0/use-install-pipeline-elements",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "use-managing-pipelines",
+              "path": "/docs/0.90.0/use-managing-pipelines",
+              "sidebar": "documentation"
+            },
+            {
+              "id": "use-notifications",
+              "path": "/docs/0.90.0/use-notifications",
+              "sidebar": "documentation"
             },
             {
               "id": "use-pipeline-editor",
-              "path": "/docs/0.90.0/use-pipeline-editor"
+              "path": "/docs/0.90.0/use-pipeline-editor",
+              "sidebar": "documentation"
             },
             {
               "id": "user-guide-first-steps",
@@ -2431,7 +3769,8 @@
             },
             {
               "id": "user-guide-introduction",
-              "path": "/docs/0.90.0/user-guide-introduction"
+              "path": "/docs/0.90.0/user-guide-introduction",
+              "sidebar": "documentation"
             },
             {
               "id": "user-guide-introduction-old",
@@ -2443,7 +3782,20 @@
             }
           ],
           "draftIds": [],
-          "sidebars": {}
+          "sidebars": {
+            "documentation": {
+              "link": {
+                "path": "/docs/0.90.0/user-guide-introduction",
+                "label": "user-guide-introduction"
+              }
+            },
+            "faq": {
+              "link": {
+                "path": "/docs/0.90.0/faq-common-problems",
+                "label": "faq-common-problems"
+              }
+            }
+          }
         },
         {
           "name": "0.70.0",
@@ -3375,5188 +4727,6 @@
               }
             }
           }
-        },
-        {
-          "name": "0.69.0",
-          "label": "0.69.0",
-          "isLast": false,
-          "path": "/docs/0.69.0",
-          "mainDocId": "community-get-help",
-          "docs": [
-            {
-              "id": "community-get-help",
-              "path": "/docs/0.69.0/community-get-help"
-            },
-            {
-              "id": "deploy-security",
-              "path": "/docs/0.69.0/deploy-security"
-            },
-            {
-              "id": "extend-archetypes",
-              "path": "/docs/0.69.0/extend-archetypes"
-            },
-            {
-              "id": "extend-cli",
-              "path": "/docs/0.69.0/extend-cli"
-            },
-            {
-              "id": "extend-first-processor",
-              "path": "/docs/0.69.0/extend-first-processor"
-            },
-            {
-              "id": "extend-sdk-event-model",
-              "path": "/docs/0.69.0/extend-sdk-event-model"
-            },
-            {
-              "id": "extend-sdk-migration-service-discovery",
-              "path": "/docs/0.69.0/extend-sdk-migration-service-discovery"
-            },
-            {
-              "id": "extend-sdk-stream-requirements",
-              "path": "/docs/0.69.0/extend-sdk-stream-requirements"
-            },
-            {
-              "id": "extend-setup",
-              "path": "/docs/0.69.0/extend-setup"
-            },
-            {
-              "id": "extend-tutorial-data-processors",
-              "path": "/docs/0.69.0/extend-tutorial-data-processors"
-            },
-            {
-              "id": "extend-tutorial-data-sinks",
-              "path": "/docs/0.69.0/extend-tutorial-data-sinks"
-            },
-            {
-              "id": "extend-tutorial-data-sources",
-              "path": "/docs/0.69.0/extend-tutorial-data-sources"
-            },
-            {
-              "id": "try-installation",
-              "path": "/docs/0.69.0/try-installation"
-            },
-            {
-              "id": "use-configurations",
-              "path": "/docs/0.69.0/use-configurations"
-            },
-            {
-              "id": "use-dashboard",
-              "path": "/docs/0.69.0/use-dashboard"
-            },
-            {
-              "id": "use-data-explorer",
-              "path": "/docs/0.69.0/use-data-explorer"
-            },
-            {
-              "id": "user-guide-introduction",
-              "path": "/docs/0.69.0/user-guide-introduction"
-            },
-            {
-              "id": "version-0.90.0-community-contribute",
-              "path": "/docs/0.69.0/version-0.90.0-community-contribute"
-            },
-            {
-              "id": "version-0.90.0-extend-sdk-functions",
-              "path": "/docs/0.69.0/version-0.90.0-extend-sdk-functions"
-            },
-            {
-              "id": "version-0.90.0-extend-sdk-output-strategies",
-              "path": "/docs/0.69.0/version-0.90.0-extend-sdk-output-strategies"
-            },
-            {
-              "id": "version-0.90.0-extend-sdk-static-properties",
-              "path": "/docs/0.69.0/version-0.90.0-extend-sdk-static-properties"
-            },
-            {
-              "id": "version-0.90.0-technicals-configuration",
-              "path": "/docs/0.69.0/version-0.90.0-technicals-configuration"
-            },
-            {
-              "id": "version-0.90.0-use-connect",
-              "path": "/docs/0.69.0/version-0.90.0-use-connect"
-            },
-            {
-              "id": "version-0.90.0-use-pipeline-editor",
-              "path": "/docs/0.69.0/version-0.90.0-use-pipeline-editor"
-            },
-            {
-              "id": "version-0.90.0-user-guide-installation",
-              "path": "/docs/0.69.0/version-0.90.0-user-guide-installation"
-            }
-          ],
-          "draftIds": [],
-          "sidebars": {}
-        },
-        {
-          "name": "0.68.0",
-          "label": "0.68.0",
-          "isLast": false,
-          "path": "/docs/0.68.0",
-          "mainDocId": "community-contribute",
-          "docs": [
-            {
-              "id": "community-contribute",
-              "path": "/docs/0.68.0/community-contribute"
-            },
-            {
-              "id": "community-get-help",
-              "path": "/docs/0.68.0/community-get-help"
-            },
-            {
-              "id": "deploy-docker",
-              "path": "/docs/0.68.0/deploy-docker"
-            },
-            {
-              "id": "deploy-security",
-              "path": "/docs/0.68.0/deploy-security"
-            },
-            {
-              "id": "dev-guide-sdk-guide-processors",
-              "path": "/docs/0.68.0/dev-guide-sdk-guide-processors"
-            },
-            {
-              "id": "dev-guide-sdk-guide-sinks",
-              "path": "/docs/0.68.0/dev-guide-sdk-guide-sinks"
-            },
-            {
-              "id": "extend-archetypes",
-              "path": "/docs/0.68.0/extend-archetypes"
-            },
-            {
-              "id": "extend-cli",
-              "path": "/docs/0.68.0/extend-cli"
-            },
-            {
-              "id": "extend-first-processor",
-              "path": "/docs/0.68.0/extend-first-processor"
-            },
-            {
-              "id": "extend-sdk-event-model",
-              "path": "/docs/0.68.0/extend-sdk-event-model"
-            },
-            {
-              "id": "extend-sdk-functions",
-              "path": "/docs/0.68.0/extend-sdk-functions"
-            },
-            {
-              "id": "extend-sdk-migration-service-discovery",
-              "path": "/docs/0.68.0/extend-sdk-migration-service-discovery"
-            },
-            {
-              "id": "extend-sdk-output-strategies",
-              "path": "/docs/0.68.0/extend-sdk-output-strategies"
-            },
-            {
-              "id": "extend-sdk-static-properties",
-              "path": "/docs/0.68.0/extend-sdk-static-properties"
-            },
-            {
-              "id": "extend-sdk-stream-requirements",
-              "path": "/docs/0.68.0/extend-sdk-stream-requirements"
-            },
-            {
-              "id": "extend-setup",
-              "path": "/docs/0.68.0/extend-setup"
-            },
-            {
-              "id": "extend-tutorial-data-processors",
-              "path": "/docs/0.68.0/extend-tutorial-data-processors"
-            },
-            {
-              "id": "extend-tutorial-data-sinks",
-              "path": "/docs/0.68.0/extend-tutorial-data-sinks"
-            },
-            {
-              "id": "extend-tutorial-data-sources",
-              "path": "/docs/0.68.0/extend-tutorial-data-sources"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.flic.mqtt",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.opcua",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.connect.adapters.opcua"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.plc4x.modbus",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.simulator.machine",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.connect.adapters.simulator.machine"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.protocol.stream.httpserver",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.imageclassification.qrcode",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processor.imageclassification.qrcode"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.aggregation.flink.count",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.count"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.aggregation.flink.rate",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.rate"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.changedetection.jvm.cusum",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.limit",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.filters.jvm.limit"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.merge",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.filters.jvm.merge"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.and",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.frequency",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.siddhi.frequency"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.frequencychange",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.siddhi.frequencychange"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.increase",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.siddhi.increase"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.stop",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.siddhi.stop"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.nats",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.databases.ditto",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.sinks.databases.ditto"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.databases.jvm.mysql",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.internal.jvm.notification",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.sinks.internal.jvm.notification"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.notifications.jvm.telegram",
-              "path": "/docs/0.68.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram"
-            },
-            {
-              "id": "technicals-configuration",
-              "path": "/docs/0.68.0/technicals-configuration"
-            },
-            {
-              "id": "try-installation",
-              "path": "/docs/0.68.0/try-installation"
-            },
-            {
-              "id": "try-tutorial",
-              "path": "/docs/0.68.0/try-tutorial"
-            },
-            {
-              "id": "use-configurations",
-              "path": "/docs/0.68.0/use-configurations"
-            },
-            {
-              "id": "use-dashboard",
-              "path": "/docs/0.68.0/use-dashboard"
-            },
-            {
-              "id": "use-data-explorer",
-              "path": "/docs/0.68.0/use-data-explorer"
-            }
-          ],
-          "draftIds": [],
-          "sidebars": {}
-        },
-        {
-          "name": "0.67.0",
-          "label": "0.67.0",
-          "isLast": false,
-          "path": "/docs/0.67.0",
-          "mainDocId": "community-contribute",
-          "docs": [
-            {
-              "id": "community-contribute",
-              "path": "/docs/0.67.0/community-contribute"
-            },
-            {
-              "id": "community-get-help",
-              "path": "/docs/0.67.0/community-get-help"
-            },
-            {
-              "id": "concepts-adapter",
-              "path": "/docs/0.67.0/concepts-adapter"
-            },
-            {
-              "id": "concepts-data-streams",
-              "path": "/docs/0.67.0/concepts-data-streams"
-            },
-            {
-              "id": "concepts-glossary",
-              "path": "/docs/0.67.0/concepts-glossary"
-            },
-            {
-              "id": "concepts-overview",
-              "path": "/docs/0.67.0/concepts-overview"
-            },
-            {
-              "id": "concepts-pipelines",
-              "path": "/docs/0.67.0/concepts-pipelines"
-            },
-            {
-              "id": "debugging-debugging",
-              "path": "/docs/0.67.0/debugging-debugging"
-            },
-            {
-              "id": "debugging-monitoring",
-              "path": "/docs/0.67.0/debugging-monitoring"
-            },
-            {
-              "id": "deploy-docker",
-              "path": "/docs/0.67.0/deploy-docker"
-            },
-            {
-              "id": "deploy-kubernetes",
-              "path": "/docs/0.67.0/deploy-kubernetes"
-            },
-            {
-              "id": "deploy-security",
-              "path": "/docs/0.67.0/deploy-security"
-            },
-            {
-              "id": "deploy-use-ssl",
-              "path": "/docs/0.67.0/deploy-use-ssl"
-            },
-            {
-              "id": "dev-guide-archetype",
-              "path": "/docs/0.67.0/dev-guide-archetype"
-            },
-            {
-              "id": "dev-guide-sdk-guide-processors",
-              "path": "/docs/0.67.0/dev-guide-sdk-guide-processors"
-            },
-            {
-              "id": "dev-guide-sdk-guide-sinks",
-              "path": "/docs/0.67.0/dev-guide-sdk-guide-sinks"
-            },
-            {
-              "id": "extend-archetypes",
-              "path": "/docs/0.67.0/extend-archetypes"
-            },
-            {
-              "id": "extend-cli",
-              "path": "/docs/0.67.0/extend-cli"
-            },
-            {
-              "id": "extend-first-processor",
-              "path": "/docs/0.67.0/extend-first-processor"
-            },
-            {
-              "id": "extend-sdk-event-model",
-              "path": "/docs/0.67.0/extend-sdk-event-model"
-            },
-            {
-              "id": "extend-sdk-functions",
-              "path": "/docs/0.67.0/extend-sdk-functions"
-            },
-            {
-              "id": "extend-sdk-migration-service-discovery",
-              "path": "/docs/0.67.0/extend-sdk-migration-service-discovery"
-            },
-            {
-              "id": "extend-sdk-output-strategies",
-              "path": "/docs/0.67.0/extend-sdk-output-strategies"
-            },
-            {
-              "id": "extend-sdk-static-properties",
-              "path": "/docs/0.67.0/extend-sdk-static-properties"
-            },
-            {
-              "id": "extend-sdk-stream-requirements",
-              "path": "/docs/0.67.0/extend-sdk-stream-requirements"
-            },
-            {
-              "id": "extend-setup",
-              "path": "/docs/0.67.0/extend-setup"
-            },
-            {
-              "id": "extend-tutorial-data-processors",
-              "path": "/docs/0.67.0/extend-tutorial-data-processors"
-            },
-            {
-              "id": "extend-tutorial-data-sinks",
-              "path": "/docs/0.67.0/extend-tutorial-data-sinks"
-            },
-            {
-              "id": "extend-tutorial-data-sources",
-              "path": "/docs/0.67.0/extend-tutorial-data-sources"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.flic.mqtt",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.opcua",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.connect.adapters.opcua"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.plc4x.modbus",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.simulator.machine",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.connect.adapters.simulator.machine"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.protocol.stream.httpserver",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.imageclassification.qrcode",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processor.imageclassification.qrcode"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.aggregation.flink.count",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.count"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.aggregation.flink.rate",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.rate"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.changedetection.jvm.cusum",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.limit",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.filters.jvm.limit"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.merge",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.filters.jvm.merge"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.and",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.frequency",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.siddhi.frequency"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.frequencychange",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.siddhi.frequencychange"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.increase",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.siddhi.increase"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.stop",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.siddhi.stop"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.nats",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.databases.ditto",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.sinks.databases.ditto"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.databases.jvm.mysql",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.internal.jvm.notification",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.sinks.internal.jvm.notification"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.notifications.jvm.telegram",
-              "path": "/docs/0.67.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram"
-            },
-            {
-              "id": "technicals-architecture",
-              "path": "/docs/0.67.0/technicals-architecture"
-            },
-            {
-              "id": "technicals-configuration",
-              "path": "/docs/0.67.0/technicals-configuration"
-            },
-            {
-              "id": "technicals-messaging",
-              "path": "/docs/0.67.0/technicals-messaging"
-            },
-            {
-              "id": "technicals-runtime-wrappers",
-              "path": "/docs/0.67.0/technicals-runtime-wrappers"
-            },
-            {
-              "id": "technicals-user-guidance",
-              "path": "/docs/0.67.0/technicals-user-guidance"
-            },
-            {
-              "id": "try-installation",
-              "path": "/docs/0.67.0/try-installation"
-            },
-            {
-              "id": "try-tutorial",
-              "path": "/docs/0.67.0/try-tutorial"
-            },
-            {
-              "id": "use-configurations",
-              "path": "/docs/0.67.0/use-configurations"
-            },
-            {
-              "id": "use-connect",
-              "path": "/docs/0.67.0/use-connect"
-            },
-            {
-              "id": "use-dashboard",
-              "path": "/docs/0.67.0/use-dashboard"
-            },
-            {
-              "id": "use-data-explorer",
-              "path": "/docs/0.67.0/use-data-explorer"
-            },
-            {
-              "id": "use-install-pipeline-elements",
-              "path": "/docs/0.67.0/use-install-pipeline-elements"
-            },
-            {
-              "id": "use-managing-pipelines",
-              "path": "/docs/0.67.0/use-managing-pipelines"
-            },
-            {
-              "id": "use-notifications",
-              "path": "/docs/0.67.0/use-notifications"
-            },
-            {
-              "id": "use-pipeline-editor",
-              "path": "/docs/0.67.0/use-pipeline-editor"
-            },
-            {
-              "id": "user-guide-installation",
-              "path": "/docs/0.67.0/user-guide-installation"
-            },
-            {
-              "id": "user-guide-introduction",
-              "path": "/docs/0.67.0/user-guide-introduction"
-            },
-            {
-              "id": "user-guide-introduction-old",
-              "path": "/docs/0.67.0/user-guide-introduction-old"
-            }
-          ],
-          "draftIds": [],
-          "sidebars": {}
-        },
-        {
-          "name": "0.66.0",
-          "label": "0.66.0",
-          "isLast": false,
-          "path": "/docs/0.66.0",
-          "mainDocId": "community-contribute",
-          "docs": [
-            {
-              "id": "community-contribute",
-              "path": "/docs/0.66.0/community-contribute"
-            },
-            {
-              "id": "community-get-help",
-              "path": "/docs/0.66.0/community-get-help"
-            },
-            {
-              "id": "concepts-adapter",
-              "path": "/docs/0.66.0/concepts-adapter"
-            },
-            {
-              "id": "concepts-data-streams",
-              "path": "/docs/0.66.0/concepts-data-streams"
-            },
-            {
-              "id": "concepts-glossary",
-              "path": "/docs/0.66.0/concepts-glossary"
-            },
-            {
-              "id": "concepts-overview",
-              "path": "/docs/0.66.0/concepts-overview"
-            },
-            {
-              "id": "concepts-pipelines",
-              "path": "/docs/0.66.0/concepts-pipelines"
-            },
-            {
-              "id": "debugging-debugging",
-              "path": "/docs/0.66.0/debugging-debugging"
-            },
-            {
-              "id": "debugging-monitoring",
-              "path": "/docs/0.66.0/debugging-monitoring"
-            },
-            {
-              "id": "deploy-docker",
-              "path": "/docs/0.66.0/deploy-docker"
-            },
-            {
-              "id": "deploy-kubernetes",
-              "path": "/docs/0.66.0/deploy-kubernetes"
-            },
-            {
-              "id": "deploy-security",
-              "path": "/docs/0.66.0/deploy-security"
-            },
-            {
-              "id": "deploy-use-ssl",
-              "path": "/docs/0.66.0/deploy-use-ssl"
-            },
-            {
-              "id": "dev-guide-archetype",
-              "path": "/docs/0.66.0/dev-guide-archetype"
-            },
-            {
-              "id": "dev-guide-configuration",
-              "path": "/docs/0.66.0/dev-guide-configuration"
-            },
-            {
-              "id": "dev-guide-development-environment",
-              "path": "/docs/0.66.0/dev-guide-development-environment"
-            },
-            {
-              "id": "dev-guide-output-strategies",
-              "path": "/docs/0.66.0/dev-guide-output-strategies"
-            },
-            {
-              "id": "dev-guide-static-properties",
-              "path": "/docs/0.66.0/dev-guide-static-properties"
-            },
-            {
-              "id": "dev-guide-stream-requirements",
-              "path": "/docs/0.66.0/dev-guide-stream-requirements"
-            },
-            {
-              "id": "dev-guide-tutorial-sources",
-              "path": "/docs/0.66.0/dev-guide-tutorial-sources"
-            },
-            {
-              "id": "extend-archetypes",
-              "path": "/docs/0.66.0/extend-archetypes"
-            },
-            {
-              "id": "extend-cli",
-              "path": "/docs/0.66.0/extend-cli"
-            },
-            {
-              "id": "extend-first-processor",
-              "path": "/docs/0.66.0/extend-first-processor"
-            },
-            {
-              "id": "extend-sdk-event-model",
-              "path": "/docs/0.66.0/extend-sdk-event-model"
-            },
-            {
-              "id": "extend-sdk-migration-service-discovery",
-              "path": "/docs/0.66.0/extend-sdk-migration-service-discovery"
-            },
-            {
-              "id": "extend-sdk-output-strategies",
-              "path": "/docs/0.66.0/extend-sdk-output-strategies"
-            },
-            {
-              "id": "extend-sdk-static-properties",
-              "path": "/docs/0.66.0/extend-sdk-static-properties"
-            },
-            {
-              "id": "extend-sdk-stream-requirements",
-              "path": "/docs/0.66.0/extend-sdk-stream-requirements"
-            },
-            {
-              "id": "extend-setup",
-              "path": "/docs/0.66.0/extend-setup"
-            },
-            {
-              "id": "extend-tutorial-data-processors",
-              "path": "/docs/0.66.0/extend-tutorial-data-processors"
-            },
-            {
-              "id": "extend-tutorial-data-sinks",
-              "path": "/docs/0.66.0/extend-tutorial-data-sinks"
-            },
-            {
-              "id": "extend-tutorial-data-sources",
-              "path": "/docs/0.66.0/extend-tutorial-data-sources"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.coindesk",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.coindesk"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.gdelt",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.gdelt"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.iex.news",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.iex.news"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.iex.stocks",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.iex.stocks"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.image.set",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.image.set"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.image.stream",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.image.stream"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.influxdb.set",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.influxdb.set"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.influxdb.stream",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.iss",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.iss"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.mysql.set",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.mysql.set"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.mysql.stream",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.mysql.stream"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.netio.mqtt",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.netio.rest",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.netio.rest"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.opcua",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.opcua"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.plc4x.s7",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.ros",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.ros"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.slack",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.slack"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.ti",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.ti"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.wikipedia.new",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.protocol.stream.file",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.connect.protocol.stream.file"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.protocol.stream.http",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.connect.protocol.stream.http"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.protocol.stream.kafka",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.connect.protocol.stream.kafka"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.protocol.stream.mqtt",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.protocol.stream.pulsar",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.geo.flink",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processor.geo.flink"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.imageclassification.qrcode",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processor.imageclassification.qrcode"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.aggregation.flink.count",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.count"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.aggregation.flink.rate",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.rate"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.compose",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.compose"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.enrich",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.enrich"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.merge",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.merge"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.project",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.project"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.threshold",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.threshold"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.and",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.frequency",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.siddhi.frequency"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.frequencychange",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.siddhi.frequencychange"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.increase",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.siddhi.increase"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.sequence",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.siddhi.sequence"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.stop",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.siddhi.stop"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean"
-            },
-            {
-              "id": "pe/org.apache.streampipes.protocol.set.file",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.protocol.set.file"
-            },
-            {
-              "id": "pe/org.apache.streampipes.protocol.set.http",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.protocol.set.http"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.databases.ditto",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.ditto"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.internal.jvm.notification",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.notification"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.notifications.jvm.email",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.email"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "path": "/docs/0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack"
-            },
-            {
-              "id": "pe/version-0.68.0-org.apache.streampipes.connect.adapters.flic.mqtt",
-              "path": "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.connect.adapters.flic.mqtt"
-            },
-            {
-              "id": "pe/version-0.68.0-org.apache.streampipes.connect.adapters.plc4x.modbus",
-              "path": "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.connect.adapters.plc4x.modbus"
-            },
-            {
-              "id": "pe/version-0.68.0-org.apache.streampipes.connect.adapters.simulator.machine",
-              "path": "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.connect.adapters.simulator.machine"
-            },
-            {
-              "id": "pe/version-0.68.0-org.apache.streampipes.connect.protocol.stream.httpserver",
-              "path": "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.connect.protocol.stream.httpserver"
-            },
-            {
-              "id": "pe/version-0.68.0-org.apache.streampipes.processors.changedetection.jvm.cusum",
-              "path": "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.changedetection.jvm.cusum"
-            },
-            {
-              "id": "pe/version-0.68.0-org.apache.streampipes.processors.filters.jvm.limit",
-              "path": "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.filters.jvm.limit"
-            },
-            {
-              "id": "pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
-              "path": "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge"
-            },
-            {
-              "id": "pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state",
-              "path": "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state"
-            },
-            {
-              "id": "pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.buffer",
-              "path": "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.buffer"
-            },
-            {
-              "id": "pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer",
-              "path": "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer"
-            },
-            {
-              "id": "pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number",
-              "path": "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number"
-            },
-            {
-              "id": "pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state",
-              "path": "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state"
-            },
-            {
-              "id": "pe/version-0.68.0-org.apache.streampipes.sinks.brokers.jvm.nats",
-              "path": "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.sinks.brokers.jvm.nats"
-            },
-            {
-              "id": "pe/version-0.68.0-org.apache.streampipes.sinks.databases.jvm.mysql",
-              "path": "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.sinks.databases.jvm.mysql"
-            },
-            {
-              "id": "pe/version-0.68.0-org.apache.streampipes.sinks.notifications.jvm.telegram",
-              "path": "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.sinks.notifications.jvm.telegram"
-            },
-            {
-              "id": "technicals-architecture",
-              "path": "/docs/0.66.0/technicals-architecture"
-            },
-            {
-              "id": "technicals-configuration",
-              "path": "/docs/0.66.0/technicals-configuration"
-            },
-            {
-              "id": "technicals-messaging",
-              "path": "/docs/0.66.0/technicals-messaging"
-            },
-            {
-              "id": "technicals-runtime-wrappers",
-              "path": "/docs/0.66.0/technicals-runtime-wrappers"
-            },
-            {
-              "id": "technicals-user-guidance",
-              "path": "/docs/0.66.0/technicals-user-guidance"
-            },
-            {
-              "id": "try-installation",
-              "path": "/docs/0.66.0/try-installation"
-            },
-            {
-              "id": "try-tutorial",
-              "path": "/docs/0.66.0/try-tutorial"
-            },
-            {
-              "id": "use-configurations",
-              "path": "/docs/0.66.0/use-configurations"
-            },
-            {
-              "id": "use-connect",
-              "path": "/docs/0.66.0/use-connect"
-            },
-            {
-              "id": "use-dashboard",
-              "path": "/docs/0.66.0/use-dashboard"
-            },
-            {
-              "id": "use-data-explorer",
-              "path": "/docs/0.66.0/use-data-explorer"
-            },
-            {
-              "id": "use-install-pipeline-elements",
-              "path": "/docs/0.66.0/use-install-pipeline-elements"
-            },
-            {
-              "id": "use-managing-pipelines",
-              "path": "/docs/0.66.0/use-managing-pipelines"
-            },
-            {
-              "id": "use-notifications",
-              "path": "/docs/0.66.0/use-notifications"
-            },
-            {
-              "id": "use-pipeline-editor",
-              "path": "/docs/0.66.0/use-pipeline-editor"
-            },
-            {
-              "id": "user-guide-first-steps",
-              "path": "/docs/0.66.0/user-guide-first-steps"
-            },
-            {
-              "id": "user-guide-installation",
-              "path": "/docs/0.66.0/user-guide-installation"
-            },
-            {
-              "id": "user-guide-introduction",
-              "path": "/docs/0.66.0/user-guide-introduction"
-            },
-            {
-              "id": "user-guide-introduction-old",
-              "path": "/docs/0.66.0/user-guide-introduction-old"
-            }
-          ],
-          "draftIds": [],
-          "sidebars": {}
-        },
-        {
-          "name": "0.65.0-pre-asf",
-          "label": "0.65.0-pre-asf",
-          "isLast": false,
-          "path": "/docs/0.65.0-pre-asf",
-          "mainDocId": "community-get-help",
-          "docs": [
-            {
-              "id": "community-get-help",
-              "path": "/docs/0.65.0-pre-asf/community-get-help"
-            },
-            {
-              "id": "dev-guide-archetype",
-              "path": "/docs/0.65.0-pre-asf/dev-guide-archetype"
-            },
-            {
-              "id": "dev-guide-configuration",
-              "path": "/docs/0.65.0-pre-asf/dev-guide-configuration"
-            },
-            {
-              "id": "dev-guide-development-environment",
-              "path": "/docs/0.65.0-pre-asf/dev-guide-development-environment"
-            },
-            {
-              "id": "dev-guide-output-strategies",
-              "path": "/docs/0.65.0-pre-asf/dev-guide-output-strategies"
-            },
-            {
-              "id": "dev-guide-static-properties",
-              "path": "/docs/0.65.0-pre-asf/dev-guide-static-properties"
-            },
-            {
-              "id": "dev-guide-stream-requirements",
-              "path": "/docs/0.65.0-pre-asf/dev-guide-stream-requirements"
-            },
-            {
-              "id": "dev-guide-tutorial-processors",
-              "path": "/docs/0.65.0-pre-asf/dev-guide-tutorial-processors"
-            },
-            {
-              "id": "dev-guide-tutorial-sinks",
-              "path": "/docs/0.65.0-pre-asf/dev-guide-tutorial-sinks"
-            },
-            {
-              "id": "dev-guide-tutorial-sources",
-              "path": "/docs/0.65.0-pre-asf/dev-guide-tutorial-sources"
-            },
-            {
-              "id": "extend-sdk-event-model",
-              "path": "/docs/0.65.0-pre-asf/extend-sdk-event-model"
-            },
-            {
-              "id": "extend-sdk-stream-requirements",
-              "path": "/docs/0.65.0-pre-asf/extend-sdk-stream-requirements"
-            },
-            {
-              "id": "extend-setup",
-              "path": "/docs/0.65.0-pre-asf/extend-setup"
-            },
-            {
-              "id": "extend-tutorial-data-processors",
-              "path": "/docs/0.65.0-pre-asf/extend-tutorial-data-processors"
-            },
-            {
-              "id": "extend-tutorial-data-sinks",
-              "path": "/docs/0.65.0-pre-asf/extend-tutorial-data-sinks"
-            },
-            {
-              "id": "extend-tutorial-data-sources",
-              "path": "/docs/0.65.0-pre-asf/extend-tutorial-data-sources"
-            },
-            {
-              "id": "org.apache.streampipes.processor.geo.flink/org.apache.streampipes.processor.geo.flink",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processor.geo.flink/org.apache.streampipes.processor.geo.flink"
-            },
-            {
-              "id": "org.apache.streampipes.processor.geo.jvm.geocoding/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/org.apache.streampipes.processor.geo.jvm.geocoding"
-            },
-            {
-              "id": "org.apache.streampipes.processor.geo.jvm.reversegeocoding/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/org.apache.streampipes.processor.geo.jvm.reversegeocoding"
-            },
-            {
-              "id": "org.apache.streampipes.processor.geo.jvm.staticgeocoding/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/org.apache.streampipes.processor.geo.jvm.staticgeocoding"
-            },
-            {
-              "id": "org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
-            },
-            {
-              "id": "org.apache.streampipes.processor.imageclassification.jvm.image-enricher/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
-            },
-            {
-              "id": "org.apache.streampipes.processor.imageclassification.qrcode/org.apache.streampipes.processor.imageclassification.qrcode",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/org.apache.streampipes.processor.imageclassification.qrcode"
-            },
-            {
-              "id": "org.apache.streampipes.processors.aggregation.flink.aggregation/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/org.apache.streampipes.processors.aggregation.flink.aggregation"
-            },
-            {
-              "id": "org.apache.streampipes.processors.aggregation.flink.eventcount/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/org.apache.streampipes.processors.aggregation.flink.eventcount"
-            },
-            {
-              "id": "org.apache.streampipes.processors.aggregation.flink.rate/org.apache.streampipes.processors.aggregation.flink.rate",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/org.apache.streampipes.processors.aggregation.flink.rate"
-            },
-            {
-              "id": "org.apache.streampipes.processors.enricher.flink.processor.math.mathop/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/org.apache.streampipes.processors.enricher.flink.processor.math.mathop"
-            },
-            {
-              "id": "org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop"
-            },
-            {
-              "id": "org.apache.streampipes.processors.enricher.flink.processor.trigonometry/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/org.apache.streampipes.processors.enricher.flink.processor.trigonometry"
-            },
-            {
-              "id": "org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing"
-            },
-            {
-              "id": "org.apache.streampipes.processors.enricher.flink.timestamp/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/org.apache.streampipes.processors.enricher.flink.timestamp"
-            },
-            {
-              "id": "org.apache.streampipes.processors.enricher.jvm.sizemeasure/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/org.apache.streampipes.processors.enricher.jvm.sizemeasure"
-            },
-            {
-              "id": "org.apache.streampipes.processors.filters.jvm.compose/org.apache.streampipes.processors.filters.jvm.compose",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/org.apache.streampipes.processors.filters.jvm.compose"
-            },
-            {
-              "id": "org.apache.streampipes.processors.filters.jvm.enrich/org.apache.streampipes.processors.filters.jvm.enrich",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/org.apache.streampipes.processors.filters.jvm.enrich"
-            },
-            {
-              "id": "org.apache.streampipes.processors.filters.jvm.merge/org.apache.streampipes.processors.filters.jvm.merge",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/org.apache.streampipes.processors.filters.jvm.merge"
-            },
-            {
-              "id": "org.apache.streampipes.processors.filters.jvm.numericalfilter/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/org.apache.streampipes.processors.filters.jvm.numericalfilter"
-            },
-            {
-              "id": "org.apache.streampipes.processors.filters.jvm.numericaltextfilter/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/org.apache.streampipes.processors.filters.jvm.numericaltextfilter"
-            },
-            {
-              "id": "org.apache.streampipes.processors.filters.jvm.project/org.apache.streampipes.processors.filters.jvm.project",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/org.apache.streampipes.processors.filters.jvm.project"
-            },
-            {
-              "id": "org.apache.streampipes.processors.filters.jvm.textfilter/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/org.apache.streampipes.processors.filters.jvm.textfilter"
-            },
-            {
-              "id": "org.apache.streampipes.processors.filters.jvm.threshold/org.apache.streampipes.processors.filters.jvm.threshold",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/org.apache.streampipes.processors.filters.jvm.threshold"
-            },
-            {
-              "id": "org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
-            },
-            {
-              "id": "org.apache.streampipes.processors.pattern-detection.flink.peak-detection/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
-            },
-            {
-              "id": "org.apache.streampipes.processors.siddhi.frequency/org.apache.streampipes.processors.siddhi.frequency",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/org.apache.streampipes.processors.siddhi.frequency"
-            },
-            {
-              "id": "org.apache.streampipes.processors.siddhi.frequencychange/org.apache.streampipes.processors.siddhi.frequencychange",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/org.apache.streampipes.processors.siddhi.frequencychange"
-            },
-            {
-              "id": "org.apache.streampipes.processors.siddhi.increase/org.apache.streampipes.processors.siddhi.increase",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/org.apache.streampipes.processors.siddhi.increase"
-            },
-            {
-              "id": "org.apache.streampipes.processors.siddhi.numericalfilter/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/org.apache.streampipes.processors.siddhi.numericalfilter"
-            },
-            {
-              "id": "org.apache.streampipes.processors.siddhi.sequence/org.apache.streampipes.processors.siddhi.sequence",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/org.apache.streampipes.processors.siddhi.sequence"
-            },
-            {
-              "id": "org.apache.streampipes.processors.siddhi.stop/org.apache.streampipes.processors.siddhi.stop",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/org.apache.streampipes.processors.siddhi.stop"
-            },
-            {
-              "id": "org.apache.streampipes.processors.textmining.flink.languagedetection/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/org.apache.streampipes.processors.textmining.flink.languagedetection"
-            },
-            {
-              "id": "org.apache.streampipes.processors.textmining.flink.wordcount/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/org.apache.streampipes.processors.textmining.flink.wordcount"
-            },
-            {
-              "id": "org.apache.streampipes.processors.textmining.jvm.chunker/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/org.apache.streampipes.processors.textmining.jvm.chunker"
-            },
-            {
-              "id": "org.apache.streampipes.processors.textmining.jvm.languagedetection/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/org.apache.streampipes.processors.textmining.jvm.languagedetection"
-            },
-            {
-              "id": "org.apache.streampipes.processors.textmining.jvm.namefinder/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/org.apache.streampipes.processors.textmining.jvm.namefinder"
-            },
-            {
-              "id": "org.apache.streampipes.processors.textmining.jvm.partofspeech/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/org.apache.streampipes.processors.textmining.jvm.partofspeech"
-            },
-            {
-              "id": "org.apache.streampipes.processors.textmining.jvm.sentencedetection/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/org.apache.streampipes.processors.textmining.jvm.sentencedetection"
-            },
-            {
-              "id": "org.apache.streampipes.processors.textmining.jvm.tokenizer/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/org.apache.streampipes.processors.textmining.jvm.tokenizer"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.flink.field-converter/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/org.apache.streampipes.processors.transformation.flink.field-converter"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.flink.field-mapper/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/org.apache.streampipes.processors.transformation.flink.field-mapper"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.flink.field-renamer/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/org.apache.streampipes.processors.transformation.flink.field-renamer"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.flink.fieldhasher/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/org.apache.streampipes.processors.transformation.flink.fieldhasher"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.flink.processor.boilerplate/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/org.apache.streampipes.processors.transformation.flink.processor.boilerplate"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.counter/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timer/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/org.apache.streampipes.processors.transformation.jvm.booloperator.timer"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.changed-value/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/org.apache.streampipes.processors.transformation.jvm.changed-value"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.count-array/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/org.apache.streampipes.processors.transformation.jvm.count-array"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.csvmetadata/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/org.apache.streampipes.processors.transformation.jvm.csvmetadata"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.duration-value/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/org.apache.streampipes.processors.transformation.jvm.duration-value"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.split-array/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/org.apache.streampipes.processors.transformation.jvm.split-array"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.taskduration/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/org.apache.streampipes.processors.transformation.jvm.taskduration"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.brokers.jvm.bufferrest/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/org.apache.streampipes.sinks.brokers.jvm.bufferrest"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.brokers.jvm.jms/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/org.apache.streampipes.sinks.brokers.jvm.jms"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.brokers.jvm.kafka/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/org.apache.streampipes.sinks.brokers.jvm.kafka"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.brokers.jvm.pulsar/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/org.apache.streampipes.sinks.brokers.jvm.pulsar"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.brokers.jvm.rabbitmq/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.brokers.jvm.rest/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/org.apache.streampipes.sinks.brokers.jvm.rest"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.databases.ditto/org.apache.streampipes.sinks.databases.ditto",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/org.apache.streampipes.sinks.databases.ditto"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.databases.flink.elasticsearch/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/org.apache.streampipes.sinks.databases.flink.elasticsearch"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.databases.jvm.couchdb/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/org.apache.streampipes.sinks.databases.jvm.couchdb"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.databases.jvm.influxdb/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/org.apache.streampipes.sinks.databases.jvm.influxdb"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.databases.jvm.iotdb/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/org.apache.streampipes.sinks.databases.jvm.iotdb"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.databases.jvm.opcua/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/org.apache.streampipes.sinks.databases.jvm.opcua"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.databases.jvm.postgresql/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/org.apache.streampipes.sinks.databases.jvm.postgresql"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.internal.jvm.dashboard/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/org.apache.streampipes.sinks.internal.jvm.dashboard"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.internal.jvm.datalake/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/org.apache.streampipes.sinks.internal.jvm.datalake"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.internal.jvm.notification/org.apache.streampipes.sinks.internal.jvm.notification",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/org.apache.streampipes.sinks.internal.jvm.notification"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.notifications.jvm.email/org.apache.streampipes.sinks.notifications.jvm.email",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/org.apache.streampipes.sinks.notifications.jvm.email"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.notifications.jvm.onesignal/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/org.apache.streampipes.sinks.notifications.jvm.onesignal"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.notifications.jvm.slack/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "path": "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/org.apache.streampipes.sinks.notifications.jvm.slack"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.coindesk",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.gdelt",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.iex.news",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.iex.stocks",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.image.set",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.image.stream",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.influxdb.set",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.influxdb.stream",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.iss",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.mysql.set",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.mysql.stream",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.netio.mqtt",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.netio.rest",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.opcua",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.plc4x.s7",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.ros",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.slack",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.ti",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.wikipedia.new",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.protocol.stream.file",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.protocol.stream.http",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.protocol.stream.kafka",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.protocol.stream.mqtt",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.protocol.stream.pulsar",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.geo.flink",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.imageclassification.qrcode",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.aggregation.flink.count",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.aggregation.flink.rate",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.compose",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.enrich",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.merge",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.project",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.threshold",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.and",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.frequency",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.frequencychange",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.increase",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.sequence",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.stop",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean"
-            },
-            {
-              "id": "pe/org.apache.streampipes.protocol.set.file",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.protocol.set.file"
-            },
-            {
-              "id": "pe/org.apache.streampipes.protocol.set.http",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.protocol.set.http"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.databases.ditto",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.internal.jvm.notification",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.notifications.jvm.email",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "path": "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack"
-            },
-            {
-              "id": "pe/version-0.68.0-org.apache.streampipes.connect.adapters.flic.mqtt",
-              "path": "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.connect.adapters.flic.mqtt"
-            },
-            {
-              "id": "pe/version-0.68.0-org.apache.streampipes.connect.adapters.plc4x.modbus",
-              "path": "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.connect.adapters.plc4x.modbus"
-            },
-            {
-              "id": "pe/version-0.68.0-org.apache.streampipes.connect.adapters.simulator.machine",
-              "path": "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.connect.adapters.simulator.machine"
-            },
-            {
-              "id": "pe/version-0.68.0-org.apache.streampipes.connect.protocol.stream.httpserver",
-              "path": "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.connect.protocol.stream.httpserver"
-            },
-            {
-              "id": "pe/version-0.68.0-org.apache.streampipes.processors.changedetection.jvm.cusum",
-              "path": "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.changedetection.jvm.cusum"
-            },
-            {
-              "id": "pe/version-0.68.0-org.apache.streampipes.processors.filters.jvm.limit",
-              "path": "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.filters.jvm.limit"
-            },
-            {
-              "id": "pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
-              "path": "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge"
-            },
-            {
-              "id": "pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state",
-              "path": "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state"
-            },
-            {
-              "id": "pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.buffer",
-              "path": "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.buffer"
-            },
-            {
-              "id": "pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer",
-              "path": "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer"
-            },
-            {
-              "id": "pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number",
-              "path": "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number"
-            },
-            {
-              "id": "pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state",
-              "path": "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state"
-            },
-            {
-              "id": "pe/version-0.68.0-org.apache.streampipes.sinks.brokers.jvm.nats",
-              "path": "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.sinks.brokers.jvm.nats"
-            },
-            {
-              "id": "pe/version-0.68.0-org.apache.streampipes.sinks.databases.jvm.mysql",
-              "path": "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.sinks.databases.jvm.mysql"
-            },
-            {
-              "id": "pe/version-0.68.0-org.apache.streampipes.sinks.notifications.jvm.telegram",
-              "path": "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.sinks.notifications.jvm.telegram"
-            },
-            {
-              "id": "user-guide-first-steps",
-              "path": "/docs/0.65.0-pre-asf/user-guide-first-steps"
-            },
-            {
-              "id": "user-guide-installation",
-              "path": "/docs/0.65.0-pre-asf/user-guide-installation"
-            },
-            {
-              "id": "user-guide-tour",
-              "path": "/docs/0.65.0-pre-asf/user-guide-tour"
-            },
-            {
-              "id": "version-0.67.0-community-contribute",
-              "path": "/docs/0.65.0-pre-asf/version-0.67.0-community-contribute"
-            },
-            {
-              "id": "version-0.67.0-concepts-adapter",
-              "path": "/docs/0.65.0-pre-asf/version-0.67.0-concepts-adapter"
-            },
-            {
-              "id": "version-0.67.0-concepts-data-streams",
-              "path": "/docs/0.65.0-pre-asf/version-0.67.0-concepts-data-streams"
-            },
-            {
-              "id": "version-0.67.0-concepts-glossary",
-              "path": "/docs/0.65.0-pre-asf/version-0.67.0-concepts-glossary"
-            },
-            {
-              "id": "version-0.67.0-concepts-overview",
-              "path": "/docs/0.65.0-pre-asf/version-0.67.0-concepts-overview"
-            },
-            {
-              "id": "version-0.67.0-concepts-pipelines",
-              "path": "/docs/0.65.0-pre-asf/version-0.67.0-concepts-pipelines"
-            },
-            {
-              "id": "version-0.67.0-debugging-debugging",
-              "path": "/docs/0.65.0-pre-asf/version-0.67.0-debugging-debugging"
-            },
-            {
-              "id": "version-0.67.0-debugging-monitoring",
-              "path": "/docs/0.65.0-pre-asf/version-0.67.0-debugging-monitoring"
-            },
-            {
-              "id": "version-0.67.0-deploy-docker",
-              "path": "/docs/0.65.0-pre-asf/version-0.67.0-deploy-docker"
-            },
-            {
-              "id": "version-0.67.0-deploy-kubernetes",
-              "path": "/docs/0.65.0-pre-asf/version-0.67.0-deploy-kubernetes"
-            },
-            {
-              "id": "version-0.67.0-deploy-use-ssl",
-              "path": "/docs/0.65.0-pre-asf/version-0.67.0-deploy-use-ssl"
-            },
-            {
-              "id": "version-0.67.0-extend-archetypes",
-              "path": "/docs/0.65.0-pre-asf/version-0.67.0-extend-archetypes"
-            },
-            {
-              "id": "version-0.67.0-extend-cli",
-              "path": "/docs/0.65.0-pre-asf/version-0.67.0-extend-cli"
-            },
-            {
-              "id": "version-0.67.0-extend-sdk-output-strategies",
-              "path": "/docs/0.65.0-pre-asf/version-0.67.0-extend-sdk-output-strategies"
-            },
-            {
-              "id": "version-0.67.0-extend-sdk-static-properties",
-              "path": "/docs/0.65.0-pre-asf/version-0.67.0-extend-sdk-static-properties"
-            },
-            {
-              "id": "version-0.67.0-technicals-architecture",
-              "path": "/docs/0.65.0-pre-asf/version-0.67.0-technicals-architecture"
-            },
-            {
-              "id": "version-0.67.0-technicals-configuration",
-              "path": "/docs/0.65.0-pre-asf/version-0.67.0-technicals-configuration"
-            },
-            {
-              "id": "version-0.67.0-technicals-messaging",
-              "path": "/docs/0.65.0-pre-asf/version-0.67.0-technicals-messaging"
-            },
-            {
-              "id": "version-0.67.0-technicals-runtime-wrappers",
-              "path": "/docs/0.65.0-pre-asf/version-0.67.0-technicals-runtime-wrappers"
-            },
-            {
-              "id": "version-0.67.0-technicals-user-guidance",
-              "path": "/docs/0.65.0-pre-asf/version-0.67.0-technicals-user-guidance"
-            },
-            {
-              "id": "version-0.67.0-try-installation",
-              "path": "/docs/0.65.0-pre-asf/version-0.67.0-try-installation"
-            },
-            {
-              "id": "version-0.67.0-try-tutorial",
-              "path": "/docs/0.65.0-pre-asf/version-0.67.0-try-tutorial"
-            },
-            {
-              "id": "version-0.67.0-use-configurations",
-              "path": "/docs/0.65.0-pre-asf/version-0.67.0-use-configurations"
-            },
-            {
-              "id": "version-0.67.0-use-connect",
-              "path": "/docs/0.65.0-pre-asf/version-0.67.0-use-connect"
-            },
-            {
-              "id": "version-0.67.0-use-dashboard",
-              "path": "/docs/0.65.0-pre-asf/version-0.67.0-use-dashboard"
-            },
-            {
-              "id": "version-0.67.0-use-data-explorer",
-              "path": "/docs/0.65.0-pre-asf/version-0.67.0-use-data-explorer"
-            },
-            {
-              "id": "version-0.67.0-use-install-pipeline-elements",
-              "path": "/docs/0.65.0-pre-asf/version-0.67.0-use-install-pipeline-elements"
-            },
-            {
-              "id": "version-0.67.0-use-managing-pipelines",
-              "path": "/docs/0.65.0-pre-asf/version-0.67.0-use-managing-pipelines"
-            },
-            {
-              "id": "version-0.67.0-use-notifications",
-              "path": "/docs/0.65.0-pre-asf/version-0.67.0-use-notifications"
-            },
-            {
-              "id": "version-0.67.0-use-pipeline-editor",
-              "path": "/docs/0.65.0-pre-asf/version-0.67.0-use-pipeline-editor"
-            },
-            {
-              "id": "version-0.67.0-user-guide-introduction",
-              "path": "/docs/0.65.0-pre-asf/version-0.67.0-user-guide-introduction"
-            },
-            {
-              "id": "version-0.67.0-user-guide-introduction-old",
-              "path": "/docs/0.65.0-pre-asf/version-0.67.0-user-guide-introduction-old"
-            }
-          ],
-          "draftIds": [],
-          "sidebars": {}
-        },
-        {
-          "name": "0.64.0-pre-asf",
-          "label": "0.64.0-pre-asf",
-          "isLast": false,
-          "path": "/docs/0.64.0-pre-asf",
-          "mainDocId": "dev-guide-archetype",
-          "docs": [
-            {
-              "id": "dev-guide-archetype",
-              "path": "/docs/0.64.0-pre-asf/dev-guide-archetype"
-            },
-            {
-              "id": "dev-guide-configuration",
-              "path": "/docs/0.64.0-pre-asf/dev-guide-configuration"
-            },
-            {
-              "id": "dev-guide-development-environment",
-              "path": "/docs/0.64.0-pre-asf/dev-guide-development-environment"
-            },
-            {
-              "id": "dev-guide-output-strategies",
-              "path": "/docs/0.64.0-pre-asf/dev-guide-output-strategies"
-            },
-            {
-              "id": "dev-guide-static-properties",
-              "path": "/docs/0.64.0-pre-asf/dev-guide-static-properties"
-            },
-            {
-              "id": "dev-guide-stream-requirements",
-              "path": "/docs/0.64.0-pre-asf/dev-guide-stream-requirements"
-            },
-            {
-              "id": "dev-guide-tutorial-processors",
-              "path": "/docs/0.64.0-pre-asf/dev-guide-tutorial-processors"
-            },
-            {
-              "id": "dev-guide-tutorial-sinks",
-              "path": "/docs/0.64.0-pre-asf/dev-guide-tutorial-sinks"
-            },
-            {
-              "id": "dev-guide-tutorial-sources",
-              "path": "/docs/0.64.0-pre-asf/dev-guide-tutorial-sources"
-            },
-            {
-              "id": "org.apache.streampipes.processor.geo.flink/org.apache.streampipes.processor.geo.flink",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processor.geo.flink/org.apache.streampipes.processor.geo.flink"
-            },
-            {
-              "id": "org.apache.streampipes.processor.geo.jvm.geocoding/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/org.apache.streampipes.processor.geo.jvm.geocoding"
-            },
-            {
-              "id": "org.apache.streampipes.processor.geo.jvm.reversegeocoding/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/org.apache.streampipes.processor.geo.jvm.reversegeocoding"
-            },
-            {
-              "id": "org.apache.streampipes.processor.geo.jvm.staticgeocoding/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/org.apache.streampipes.processor.geo.jvm.staticgeocoding"
-            },
-            {
-              "id": "org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
-            },
-            {
-              "id": "org.apache.streampipes.processor.imageclassification.jvm.image-enricher/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
-            },
-            {
-              "id": "org.apache.streampipes.processor.imageclassification.qrcode/org.apache.streampipes.processor.imageclassification.qrcode",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/org.apache.streampipes.processor.imageclassification.qrcode"
-            },
-            {
-              "id": "org.apache.streampipes.processors.aggregation.flink.aggregation/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/org.apache.streampipes.processors.aggregation.flink.aggregation"
-            },
-            {
-              "id": "org.apache.streampipes.processors.aggregation.flink.eventcount/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/org.apache.streampipes.processors.aggregation.flink.eventcount"
-            },
-            {
-              "id": "org.apache.streampipes.processors.aggregation.flink.rate/org.apache.streampipes.processors.aggregation.flink.rate",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/org.apache.streampipes.processors.aggregation.flink.rate"
-            },
-            {
-              "id": "org.apache.streampipes.processors.enricher.flink.processor.math.mathop/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/org.apache.streampipes.processors.enricher.flink.processor.math.mathop"
-            },
-            {
-              "id": "org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop"
-            },
-            {
-              "id": "org.apache.streampipes.processors.enricher.flink.processor.trigonometry/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/org.apache.streampipes.processors.enricher.flink.processor.trigonometry"
-            },
-            {
-              "id": "org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing"
-            },
-            {
-              "id": "org.apache.streampipes.processors.enricher.flink.timestamp/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/org.apache.streampipes.processors.enricher.flink.timestamp"
-            },
-            {
-              "id": "org.apache.streampipes.processors.enricher.jvm.sizemeasure/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/org.apache.streampipes.processors.enricher.jvm.sizemeasure"
-            },
-            {
-              "id": "org.apache.streampipes.processors.filters.jvm.compose/org.apache.streampipes.processors.filters.jvm.compose",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/org.apache.streampipes.processors.filters.jvm.compose"
-            },
-            {
-              "id": "org.apache.streampipes.processors.filters.jvm.enrich/org.apache.streampipes.processors.filters.jvm.enrich",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/org.apache.streampipes.processors.filters.jvm.enrich"
-            },
-            {
-              "id": "org.apache.streampipes.processors.filters.jvm.merge/org.apache.streampipes.processors.filters.jvm.merge",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/org.apache.streampipes.processors.filters.jvm.merge"
-            },
-            {
-              "id": "org.apache.streampipes.processors.filters.jvm.numericalfilter/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/org.apache.streampipes.processors.filters.jvm.numericalfilter"
-            },
-            {
-              "id": "org.apache.streampipes.processors.filters.jvm.numericaltextfilter/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/org.apache.streampipes.processors.filters.jvm.numericaltextfilter"
-            },
-            {
-              "id": "org.apache.streampipes.processors.filters.jvm.project/org.apache.streampipes.processors.filters.jvm.project",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/org.apache.streampipes.processors.filters.jvm.project"
-            },
-            {
-              "id": "org.apache.streampipes.processors.filters.jvm.textfilter/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/org.apache.streampipes.processors.filters.jvm.textfilter"
-            },
-            {
-              "id": "org.apache.streampipes.processors.filters.jvm.threshold/org.apache.streampipes.processors.filters.jvm.threshold",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/org.apache.streampipes.processors.filters.jvm.threshold"
-            },
-            {
-              "id": "org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
-            },
-            {
-              "id": "org.apache.streampipes.processors.pattern-detection.flink.peak-detection/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
-            },
-            {
-              "id": "org.apache.streampipes.processors.siddhi.frequency/org.apache.streampipes.processors.siddhi.frequency",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/org.apache.streampipes.processors.siddhi.frequency"
-            },
-            {
-              "id": "org.apache.streampipes.processors.siddhi.frequencychange/org.apache.streampipes.processors.siddhi.frequencychange",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/org.apache.streampipes.processors.siddhi.frequencychange"
-            },
-            {
-              "id": "org.apache.streampipes.processors.siddhi.increase/org.apache.streampipes.processors.siddhi.increase",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/org.apache.streampipes.processors.siddhi.increase"
-            },
-            {
-              "id": "org.apache.streampipes.processors.siddhi.numericalfilter/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/org.apache.streampipes.processors.siddhi.numericalfilter"
-            },
-            {
-              "id": "org.apache.streampipes.processors.siddhi.sequence/org.apache.streampipes.processors.siddhi.sequence",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/org.apache.streampipes.processors.siddhi.sequence"
-            },
-            {
-              "id": "org.apache.streampipes.processors.siddhi.stop/org.apache.streampipes.processors.siddhi.stop",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/org.apache.streampipes.processors.siddhi.stop"
-            },
-            {
-              "id": "org.apache.streampipes.processors.textmining.flink.languagedetection/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/org.apache.streampipes.processors.textmining.flink.languagedetection"
-            },
-            {
-              "id": "org.apache.streampipes.processors.textmining.flink.wordcount/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/org.apache.streampipes.processors.textmining.flink.wordcount"
-            },
-            {
-              "id": "org.apache.streampipes.processors.textmining.jvm.chunker/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/org.apache.streampipes.processors.textmining.jvm.chunker"
-            },
-            {
-              "id": "org.apache.streampipes.processors.textmining.jvm.languagedetection/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/org.apache.streampipes.processors.textmining.jvm.languagedetection"
-            },
-            {
-              "id": "org.apache.streampipes.processors.textmining.jvm.namefinder/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/org.apache.streampipes.processors.textmining.jvm.namefinder"
-            },
-            {
-              "id": "org.apache.streampipes.processors.textmining.jvm.partofspeech/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/org.apache.streampipes.processors.textmining.jvm.partofspeech"
-            },
-            {
-              "id": "org.apache.streampipes.processors.textmining.jvm.sentencedetection/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/org.apache.streampipes.processors.textmining.jvm.sentencedetection"
-            },
-            {
-              "id": "org.apache.streampipes.processors.textmining.jvm.tokenizer/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/org.apache.streampipes.processors.textmining.jvm.tokenizer"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.flink.field-converter/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/org.apache.streampipes.processors.transformation.flink.field-converter"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.flink.field-mapper/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/org.apache.streampipes.processors.transformation.flink.field-mapper"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.flink.field-renamer/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/org.apache.streampipes.processors.transformation.flink.field-renamer"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.flink.fieldhasher/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/org.apache.streampipes.processors.transformation.flink.fieldhasher"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.flink.processor.boilerplate/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/org.apache.streampipes.processors.transformation.flink.processor.boilerplate"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.counter/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timer/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/org.apache.streampipes.processors.transformation.jvm.booloperator.timer"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.changed-value/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/org.apache.streampipes.processors.transformation.jvm.changed-value"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.count-array/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/org.apache.streampipes.processors.transformation.jvm.count-array"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.csvmetadata/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/org.apache.streampipes.processors.transformation.jvm.csvmetadata"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.duration-value/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/org.apache.streampipes.processors.transformation.jvm.duration-value"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.split-array/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/org.apache.streampipes.processors.transformation.jvm.split-array"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.taskduration/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/org.apache.streampipes.processors.transformation.jvm.taskduration"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.brokers.jvm.bufferrest/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/org.apache.streampipes.sinks.brokers.jvm.bufferrest"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.brokers.jvm.jms/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/org.apache.streampipes.sinks.brokers.jvm.jms"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.brokers.jvm.kafka/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/org.apache.streampipes.sinks.brokers.jvm.kafka"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.brokers.jvm.pulsar/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/org.apache.streampipes.sinks.brokers.jvm.pulsar"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.brokers.jvm.rabbitmq/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.brokers.jvm.rest/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/org.apache.streampipes.sinks.brokers.jvm.rest"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.databases.ditto/org.apache.streampipes.sinks.databases.ditto",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/org.apache.streampipes.sinks.databases.ditto"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.databases.flink.elasticsearch/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/org.apache.streampipes.sinks.databases.flink.elasticsearch"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.databases.jvm.couchdb/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/org.apache.streampipes.sinks.databases.jvm.couchdb"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.databases.jvm.influxdb/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/org.apache.streampipes.sinks.databases.jvm.influxdb"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.databases.jvm.iotdb/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/org.apache.streampipes.sinks.databases.jvm.iotdb"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.databases.jvm.opcua/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/org.apache.streampipes.sinks.databases.jvm.opcua"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.databases.jvm.postgresql/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/org.apache.streampipes.sinks.databases.jvm.postgresql"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.internal.jvm.dashboard/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/org.apache.streampipes.sinks.internal.jvm.dashboard"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.internal.jvm.datalake/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/org.apache.streampipes.sinks.internal.jvm.datalake"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.internal.jvm.notification/org.apache.streampipes.sinks.internal.jvm.notification",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/org.apache.streampipes.sinks.internal.jvm.notification"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.notifications.jvm.email/org.apache.streampipes.sinks.notifications.jvm.email",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/org.apache.streampipes.sinks.notifications.jvm.email"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.notifications.jvm.onesignal/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/org.apache.streampipes.sinks.notifications.jvm.onesignal"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.notifications.jvm.slack/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "path": "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/org.apache.streampipes.sinks.notifications.jvm.slack"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.coindesk",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.gdelt",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.iex.news",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.iex.stocks",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.image.set",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.image.stream",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.influxdb.set",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.influxdb.stream",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.iss",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.mysql.set",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.mysql.stream",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.netio.mqtt",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.netio.rest",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.opcua",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.plc4x.s7",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.ros",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.slack",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.ti",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.wikipedia.new",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.protocol.stream.file",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.protocol.stream.http",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.protocol.stream.kafka",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.protocol.stream.mqtt",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.protocol.stream.pulsar",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.geo.flink",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.imageclassification.qrcode",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.aggregation.flink.count",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.aggregation.flink.rate",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.compose",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.enrich",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.merge",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.project",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.threshold",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.and",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.frequency",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.frequencychange",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.increase",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.sequence",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.stop",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean"
-            },
-            {
-              "id": "pe/org.apache.streampipes.protocol.set.file",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.protocol.set.file"
-            },
-            {
-              "id": "pe/org.apache.streampipes.protocol.set.http",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.protocol.set.http"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.databases.ditto",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.internal.jvm.notification",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.notifications.jvm.email",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "path": "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack"
-            },
-            {
-              "id": "user-guide-first-steps",
-              "path": "/docs/0.64.0-pre-asf/user-guide-first-steps"
-            },
-            {
-              "id": "user-guide-installation",
-              "path": "/docs/0.64.0-pre-asf/user-guide-installation"
-            },
-            {
-              "id": "user-guide-tour",
-              "path": "/docs/0.64.0-pre-asf/user-guide-tour"
-            }
-          ],
-          "draftIds": [],
-          "sidebars": {}
-        },
-        {
-          "name": "0.63.0-pre-asf",
-          "label": "0.63.0-pre-asf",
-          "isLast": false,
-          "path": "/docs/0.63.0-pre-asf",
-          "mainDocId": "dev-guide-archetype",
-          "docs": [
-            {
-              "id": "dev-guide-archetype",
-              "path": "/docs/0.63.0-pre-asf/dev-guide-archetype"
-            },
-            {
-              "id": "dev-guide-configuration",
-              "path": "/docs/0.63.0-pre-asf/dev-guide-configuration"
-            },
-            {
-              "id": "dev-guide-development-environment",
-              "path": "/docs/0.63.0-pre-asf/dev-guide-development-environment"
-            },
-            {
-              "id": "dev-guide-output-strategies",
-              "path": "/docs/0.63.0-pre-asf/dev-guide-output-strategies"
-            },
-            {
-              "id": "dev-guide-static-properties",
-              "path": "/docs/0.63.0-pre-asf/dev-guide-static-properties"
-            },
-            {
-              "id": "dev-guide-stream-requirements",
-              "path": "/docs/0.63.0-pre-asf/dev-guide-stream-requirements"
-            },
-            {
-              "id": "dev-guide-tutorial-processors",
-              "path": "/docs/0.63.0-pre-asf/dev-guide-tutorial-processors"
-            },
-            {
-              "id": "dev-guide-tutorial-sinks",
-              "path": "/docs/0.63.0-pre-asf/dev-guide-tutorial-sinks"
-            },
-            {
-              "id": "dev-guide-tutorial-sources",
-              "path": "/docs/0.63.0-pre-asf/dev-guide-tutorial-sources"
-            },
-            {
-              "id": "org.apache.streampipes.processor.geo.flink/org.apache.streampipes.processor.geo.flink",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processor.geo.flink/org.apache.streampipes.processor.geo.flink"
-            },
-            {
-              "id": "org.apache.streampipes.processor.geo.jvm.geocoding/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/org.apache.streampipes.processor.geo.jvm.geocoding"
-            },
-            {
-              "id": "org.apache.streampipes.processor.geo.jvm.reversegeocoding/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/org.apache.streampipes.processor.geo.jvm.reversegeocoding"
-            },
-            {
-              "id": "org.apache.streampipes.processor.geo.jvm.staticgeocoding/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/org.apache.streampipes.processor.geo.jvm.staticgeocoding"
-            },
-            {
-              "id": "org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
-            },
-            {
-              "id": "org.apache.streampipes.processor.imageclassification.jvm.image-enricher/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
-            },
-            {
-              "id": "org.apache.streampipes.processor.imageclassification.qrcode/org.apache.streampipes.processor.imageclassification.qrcode",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/org.apache.streampipes.processor.imageclassification.qrcode"
-            },
-            {
-              "id": "org.apache.streampipes.processors.aggregation.flink.aggregation/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/org.apache.streampipes.processors.aggregation.flink.aggregation"
-            },
-            {
-              "id": "org.apache.streampipes.processors.aggregation.flink.eventcount/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/org.apache.streampipes.processors.aggregation.flink.eventcount"
-            },
-            {
-              "id": "org.apache.streampipes.processors.aggregation.flink.rate/org.apache.streampipes.processors.aggregation.flink.rate",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/org.apache.streampipes.processors.aggregation.flink.rate"
-            },
-            {
-              "id": "org.apache.streampipes.processors.enricher.flink.processor.math.mathop/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/org.apache.streampipes.processors.enricher.flink.processor.math.mathop"
-            },
-            {
-              "id": "org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop"
-            },
-            {
-              "id": "org.apache.streampipes.processors.enricher.flink.processor.trigonometry/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/org.apache.streampipes.processors.enricher.flink.processor.trigonometry"
-            },
-            {
-              "id": "org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing"
-            },
-            {
-              "id": "org.apache.streampipes.processors.enricher.flink.timestamp/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/org.apache.streampipes.processors.enricher.flink.timestamp"
-            },
-            {
-              "id": "org.apache.streampipes.processors.enricher.jvm.sizemeasure/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/org.apache.streampipes.processors.enricher.jvm.sizemeasure"
-            },
-            {
-              "id": "org.apache.streampipes.processors.filters.jvm.compose/org.apache.streampipes.processors.filters.jvm.compose",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/org.apache.streampipes.processors.filters.jvm.compose"
-            },
-            {
-              "id": "org.apache.streampipes.processors.filters.jvm.enrich/org.apache.streampipes.processors.filters.jvm.enrich",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/org.apache.streampipes.processors.filters.jvm.enrich"
-            },
-            {
-              "id": "org.apache.streampipes.processors.filters.jvm.merge/org.apache.streampipes.processors.filters.jvm.merge",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/org.apache.streampipes.processors.filters.jvm.merge"
-            },
-            {
-              "id": "org.apache.streampipes.processors.filters.jvm.numericalfilter/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/org.apache.streampipes.processors.filters.jvm.numericalfilter"
-            },
-            {
-              "id": "org.apache.streampipes.processors.filters.jvm.numericaltextfilter/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/org.apache.streampipes.processors.filters.jvm.numericaltextfilter"
-            },
-            {
-              "id": "org.apache.streampipes.processors.filters.jvm.project/org.apache.streampipes.processors.filters.jvm.project",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/org.apache.streampipes.processors.filters.jvm.project"
-            },
-            {
-              "id": "org.apache.streampipes.processors.filters.jvm.textfilter/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/org.apache.streampipes.processors.filters.jvm.textfilter"
-            },
-            {
-              "id": "org.apache.streampipes.processors.filters.jvm.threshold/org.apache.streampipes.processors.filters.jvm.threshold",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/org.apache.streampipes.processors.filters.jvm.threshold"
-            },
-            {
-              "id": "org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
-            },
-            {
-              "id": "org.apache.streampipes.processors.pattern-detection.flink.peak-detection/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
-            },
-            {
-              "id": "org.apache.streampipes.processors.siddhi.frequency/org.apache.streampipes.processors.siddhi.frequency",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/org.apache.streampipes.processors.siddhi.frequency"
-            },
-            {
-              "id": "org.apache.streampipes.processors.siddhi.frequencychange/org.apache.streampipes.processors.siddhi.frequencychange",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/org.apache.streampipes.processors.siddhi.frequencychange"
-            },
-            {
-              "id": "org.apache.streampipes.processors.siddhi.increase/org.apache.streampipes.processors.siddhi.increase",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/org.apache.streampipes.processors.siddhi.increase"
-            },
-            {
-              "id": "org.apache.streampipes.processors.siddhi.numericalfilter/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/org.apache.streampipes.processors.siddhi.numericalfilter"
-            },
-            {
-              "id": "org.apache.streampipes.processors.siddhi.sequence/org.apache.streampipes.processors.siddhi.sequence",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/org.apache.streampipes.processors.siddhi.sequence"
-            },
-            {
-              "id": "org.apache.streampipes.processors.siddhi.stop/org.apache.streampipes.processors.siddhi.stop",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/org.apache.streampipes.processors.siddhi.stop"
-            },
-            {
-              "id": "org.apache.streampipes.processors.textmining.flink.languagedetection/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/org.apache.streampipes.processors.textmining.flink.languagedetection"
-            },
-            {
-              "id": "org.apache.streampipes.processors.textmining.flink.wordcount/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/org.apache.streampipes.processors.textmining.flink.wordcount"
-            },
-            {
-              "id": "org.apache.streampipes.processors.textmining.jvm.chunker/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/org.apache.streampipes.processors.textmining.jvm.chunker"
-            },
-            {
-              "id": "org.apache.streampipes.processors.textmining.jvm.languagedetection/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/org.apache.streampipes.processors.textmining.jvm.languagedetection"
-            },
-            {
-              "id": "org.apache.streampipes.processors.textmining.jvm.namefinder/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/org.apache.streampipes.processors.textmining.jvm.namefinder"
-            },
-            {
-              "id": "org.apache.streampipes.processors.textmining.jvm.partofspeech/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/org.apache.streampipes.processors.textmining.jvm.partofspeech"
-            },
-            {
-              "id": "org.apache.streampipes.processors.textmining.jvm.sentencedetection/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/org.apache.streampipes.processors.textmining.jvm.sentencedetection"
-            },
-            {
-              "id": "org.apache.streampipes.processors.textmining.jvm.tokenizer/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/org.apache.streampipes.processors.textmining.jvm.tokenizer"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.flink.field-converter/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/org.apache.streampipes.processors.transformation.flink.field-converter"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.flink.field-mapper/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/org.apache.streampipes.processors.transformation.flink.field-mapper"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.flink.field-renamer/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/org.apache.streampipes.processors.transformation.flink.field-renamer"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.flink.fieldhasher/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/org.apache.streampipes.processors.transformation.flink.fieldhasher"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.flink.processor.boilerplate/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/org.apache.streampipes.processors.transformation.flink.processor.boilerplate"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.counter/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.booloperator.timer/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/org.apache.streampipes.processors.transformation.jvm.booloperator.timer"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.changed-value/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/org.apache.streampipes.processors.transformation.jvm.changed-value"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.count-array/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/org.apache.streampipes.processors.transformation.jvm.count-array"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.csvmetadata/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/org.apache.streampipes.processors.transformation.jvm.csvmetadata"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.duration-value/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/org.apache.streampipes.processors.transformation.jvm.duration-value"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.split-array/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/org.apache.streampipes.processors.transformation.jvm.split-array"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.taskduration/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/org.apache.streampipes.processors.transformation.jvm.taskduration"
-            },
-            {
-              "id": "org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.brokers.jvm.bufferrest/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/org.apache.streampipes.sinks.brokers.jvm.bufferrest"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.brokers.jvm.jms/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/org.apache.streampipes.sinks.brokers.jvm.jms"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.brokers.jvm.kafka/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/org.apache.streampipes.sinks.brokers.jvm.kafka"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.brokers.jvm.pulsar/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/org.apache.streampipes.sinks.brokers.jvm.pulsar"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.brokers.jvm.rabbitmq/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.brokers.jvm.rest/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/org.apache.streampipes.sinks.brokers.jvm.rest"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.databases.ditto/org.apache.streampipes.sinks.databases.ditto",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/org.apache.streampipes.sinks.databases.ditto"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.databases.flink.elasticsearch/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/org.apache.streampipes.sinks.databases.flink.elasticsearch"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.databases.jvm.couchdb/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/org.apache.streampipes.sinks.databases.jvm.couchdb"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.databases.jvm.influxdb/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/org.apache.streampipes.sinks.databases.jvm.influxdb"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.databases.jvm.iotdb/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/org.apache.streampipes.sinks.databases.jvm.iotdb"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.databases.jvm.opcua/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/org.apache.streampipes.sinks.databases.jvm.opcua"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.databases.jvm.postgresql/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/org.apache.streampipes.sinks.databases.jvm.postgresql"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.internal.jvm.dashboard/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/org.apache.streampipes.sinks.internal.jvm.dashboard"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.internal.jvm.datalake/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/org.apache.streampipes.sinks.internal.jvm.datalake"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.internal.jvm.notification/org.apache.streampipes.sinks.internal.jvm.notification",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/org.apache.streampipes.sinks.internal.jvm.notification"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.notifications.jvm.email/org.apache.streampipes.sinks.notifications.jvm.email",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/org.apache.streampipes.sinks.notifications.jvm.email"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.notifications.jvm.onesignal/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/org.apache.streampipes.sinks.notifications.jvm.onesignal"
-            },
-            {
-              "id": "org.apache.streampipes.sinks.notifications.jvm.slack/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "path": "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/org.apache.streampipes.sinks.notifications.jvm.slack"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.coindesk",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.gdelt",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.iex.news",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.iex.stocks",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.image.set",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.image.stream",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.influxdb.set",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.influxdb.stream",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.iss",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.mysql.set",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.mysql.stream",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.netio.mqtt",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.netio.rest",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.opcua",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.plc4x.s7",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.ros",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.simulator.randomdataset",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.slack",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.ti",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.wikipedia.edit",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.adapters.wikipedia.new",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.protocol.stream.file",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.protocol.stream.http",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.protocol.stream.kafka",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.protocol.stream.mqtt",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt"
-            },
-            {
-              "id": "pe/org.apache.streampipes.connect.protocol.stream.pulsar",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.geo.flink",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.geo.jvm.geocoding",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processor.imageclassification.qrcode",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.aggregation.flink.aggregation",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.aggregation.flink.count",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.aggregation.flink.eventcount",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.aggregation.flink.rate",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.enricher.flink.timestamp",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.compose",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.enrich",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.merge",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.numericalfilter",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.project",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.textfilter",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.filters.jvm.threshold",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.speed",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.absence",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.and",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.pattern-detection.flink.sequence",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.frequency",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.frequencychange",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.increase",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.numericalfilter",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.sequence",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.siddhi.stop",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.statistics.flink.statistics-summary",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.flink.languagedetection",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.flink.wordcount",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.jvm.chunker",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.jvm.languagedetection",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.jvm.namefinder",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.textmining.jvm.tokenizer",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.flink.field-converter",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.flink.field-mapper",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.flink.field-renamer",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.flink.fieldhasher",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.changed-value",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.count-array",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.duration-value",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.split-array",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.taskduration",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration"
-            },
-            {
-              "id": "pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean"
-            },
-            {
-              "id": "pe/org.apache.streampipes.protocol.set.file",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.protocol.set.file"
-            },
-            {
-              "id": "pe/org.apache.streampipes.protocol.set.http",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.protocol.set.http"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.jms",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.kafka",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.mqtt",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.pulsar",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.brokers.jvm.rest",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.databases.ditto",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.databases.flink.elasticsearch",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.databases.jvm.couchdb",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.databases.jvm.influxdb",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.databases.jvm.iotdb",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.databases.jvm.opcua",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.databases.jvm.postgresql",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.internal.jvm.dashboard",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.internal.jvm.datalake",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.internal.jvm.notification",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.notifications.jvm.email",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.notifications.jvm.onesignal",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal"
-            },
-            {
-              "id": "pe/org.apache.streampipes.sinks.notifications.jvm.slack",
-              "path": "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack"
-            },
-            {
-              "id": "user-guide-first-steps",
-              "path": "/docs/0.63.0-pre-asf/user-guide-first-steps"
-            },
-            {
-              "id": "user-guide-installation",
-              "path": "/docs/0.63.0-pre-asf/user-guide-installation"
-            },
-            {
-              "id": "user-guide-tour",
-              "path": "/docs/0.63.0-pre-asf/user-guide-tour"
-            }
-          ],
-          "draftIds": [],
-          "sidebars": {}
-        },
-        {
-          "name": "0.62.0-pre-asf",
-          "label": "0.62.0-pre-asf",
-          "isLast": false,
-          "path": "/docs/0.62.0-pre-asf",
-          "mainDocId": "dev-guide-archetype",
-          "docs": [
-            {
-              "id": "dev-guide-archetype",
-              "path": "/docs/0.62.0-pre-asf/dev-guide-archetype"
-            },
-            {
-              "id": "dev-guide-configuration",
-              "path": "/docs/0.62.0-pre-asf/dev-guide-configuration"
-            },
-            {
-              "id": "dev-guide-development-environment",
-              "path": "/docs/0.62.0-pre-asf/dev-guide-development-environment"
-            },
-            {
-              "id": "dev-guide-tutorial-processors",
-              "path": "/docs/0.62.0-pre-asf/dev-guide-tutorial-processors"
-            },
-            {
-              "id": "dev-guide-tutorial-sinks",
-              "path": "/docs/0.62.0-pre-asf/dev-guide-tutorial-sinks"
-            },
-            {
-              "id": "dev-guide-tutorial-sources",
-              "path": "/docs/0.62.0-pre-asf/dev-guide-tutorial-sources"
-            },
-            {
-              "id": "org.streampipes.processor.geo.flink/version-0.62.0-org.streampipes.processor.geo.flink",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processor.geo.flink/version-0.62.0-org.streampipes.processor.geo.flink"
-            },
-            {
-              "id": "org.streampipes.processor.imageclassification.jvm.generic-image-classification/version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification"
-            },
-            {
-              "id": "org.streampipes.processor.imageclassification.jvm.image-enricher/version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher"
-            },
-            {
-              "id": "org.streampipes.processor.imageclassification.qrcode/version-0.62.0-org.streampipes.processor.imageclassification.qrcode",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processor.imageclassification.qrcode/version-0.62.0-org.streampipes.processor.imageclassification.qrcode"
-            },
-            {
-              "id": "org.streampipes.processors.aggregation.flink.aggregation/version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation"
-            },
-            {
-              "id": "org.streampipes.processors.aggregation.flink.rate/version-0.62.0-org.streampipes.processors.aggregation.flink.rate",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processors.aggregation.flink.rate/version-0.62.0-org.streampipes.processors.aggregation.flink.rate"
-            },
-            {
-              "id": "org.streampipes.processors.enricher.flink.processor.math.mathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop"
-            },
-            {
-              "id": "org.streampipes.processors.enricher.flink.processor.math.staticmathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop"
-            },
-            {
-              "id": "org.streampipes.processors.enricher.flink.processor.trigonometry/version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry"
-            },
-            {
-              "id": "org.streampipes.processors.enricher.flink.processor.urldereferencing/version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing"
-            },
-            {
-              "id": "org.streampipes.processors.enricher.flink.timestamp/version-0.62.0-org.streampipes.processors.enricher.flink.timestamp",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processors.enricher.flink.timestamp/version-0.62.0-org.streampipes.processors.enricher.flink.timestamp"
-            },
-            {
-              "id": "org.streampipes.processors.filters.jvm.compose/version-0.62.0-org.streampipes.processors.filters.jvm.compose",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processors.filters.jvm.compose/version-0.62.0-org.streampipes.processors.filters.jvm.compose"
-            },
-            {
-              "id": "org.streampipes.processors.filters.jvm.numericalfilter/version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter"
-            },
-            {
-              "id": "org.streampipes.processors.filters.jvm.project/version-0.62.0-org.streampipes.processors.filters.jvm.project",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processors.filters.jvm.project/version-0.62.0-org.streampipes.processors.filters.jvm.project"
-            },
-            {
-              "id": "org.streampipes.processors.filters.jvm.textfilter/version-0.62.0-org.streampipes.processors.filters.jvm.textfilter",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processors.filters.jvm.textfilter/version-0.62.0-org.streampipes.processors.filters.jvm.textfilter"
-            },
-            {
-              "id": "org.streampipes.processors.pattern-detection.flink.peak-detection/version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection"
-            },
-            {
-              "id": "org.streampipes.processors.siddhi.frequency/version-0.62.0-org.streampipes.processors.siddhi.frequency",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processors.siddhi.frequency/version-0.62.0-org.streampipes.processors.siddhi.frequency"
-            },
-            {
-              "id": "org.streampipes.processors.siddhi.frequencychange/version-0.62.0-org.streampipes.processors.siddhi.frequencychange",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processors.siddhi.frequencychange/version-0.62.0-org.streampipes.processors.siddhi.frequencychange"
-            },
-            {
-              "id": "org.streampipes.processors.siddhi.increase/version-0.62.0-org.streampipes.processors.siddhi.increase",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processors.siddhi.increase/version-0.62.0-org.streampipes.processors.siddhi.increase"
-            },
-            {
-              "id": "org.streampipes.processors.siddhi.numericalfilter/version-0.62.0-org.streampipes.processors.siddhi.numericalfilter",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processors.siddhi.numericalfilter/version-0.62.0-org.streampipes.processors.siddhi.numericalfilter"
-            },
-            {
-              "id": "org.streampipes.processors.siddhi.sequence/version-0.62.0-org.streampipes.processors.siddhi.sequence",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processors.siddhi.sequence/version-0.62.0-org.streampipes.processors.siddhi.sequence"
-            },
-            {
-              "id": "org.streampipes.processors.siddhi.stop/version-0.62.0-org.streampipes.processors.siddhi.stop",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processors.siddhi.stop/version-0.62.0-org.streampipes.processors.siddhi.stop"
-            },
-            {
-              "id": "org.streampipes.processors.textmining.flink.languagedetection/version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection"
-            },
-            {
-              "id": "org.streampipes.processors.textmining.flink.wordcount/version-0.62.0-org.streampipes.processors.textmining.flink.wordcount",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processors.textmining.flink.wordcount/version-0.62.0-org.streampipes.processors.textmining.flink.wordcount"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.flink.field-converter/version-0.62.0-org.streampipes.processors.transformation.flink.field-converter",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-converter/version-0.62.0-org.streampipes.processors.transformation.flink.field-converter"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.flink.field-mapper/version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.flink.field-renamer/version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.flink.fieldhasher/version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.flink.measurement-unit-converter/version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.flink.processor.boilerplate/version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.jvm.changed-value/version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.jvm.count-array/version-0.62.0-org.streampipes.processors.transformation.jvm.count-array",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.count-array/version-0.62.0-org.streampipes.processors.transformation.jvm.count-array"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.jvm.duration-value/version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.jvm.processor.timestampextractor/version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.jvm.split-array/version-0.62.0-org.streampipes.processors.transformation.jvm.split-array",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.split-array/version-0.62.0-org.streampipes.processors.transformation.jvm.split-array"
-            },
-            {
-              "id": "org.streampipes.sinks.brokers.jvm.jms/version-0.62.0-org.streampipes.sinks.brokers.jvm.jms",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.jms/version-0.62.0-org.streampipes.sinks.brokers.jvm.jms"
-            },
-            {
-              "id": "org.streampipes.sinks.brokers.jvm.kafka/version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka"
-            },
-            {
-              "id": "org.streampipes.sinks.brokers.jvm.rabbitmq/version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq"
-            },
-            {
-              "id": "org.streampipes.sinks.brokers.jvm.rest/version-0.62.0-org.streampipes.sinks.brokers.jvm.rest",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.rest/version-0.62.0-org.streampipes.sinks.brokers.jvm.rest"
-            },
-            {
-              "id": "org.streampipes.sinks.databases.flink.elasticsearch/version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch"
-            },
-            {
-              "id": "org.streampipes.sinks.databases.jvm.couchdb/version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb"
-            },
-            {
-              "id": "org.streampipes.sinks.databases.jvm.influxdb/version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb"
-            },
-            {
-              "id": "org.streampipes.sinks.databases.jvm.postgresql/version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql"
-            },
-            {
-              "id": "org.streampipes.sinks.internal.jvm.dashboard/version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard"
-            },
-            {
-              "id": "org.streampipes.sinks.internal.jvm.notification/version-0.62.0-org.streampipes.sinks.internal.jvm.notification",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.sinks.internal.jvm.notification/version-0.62.0-org.streampipes.sinks.internal.jvm.notification"
-            },
-            {
-              "id": "org.streampipes.sinks.notifications.jvm.email/version-0.62.0-org.streampipes.sinks.notifications.jvm.email",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.email/version-0.62.0-org.streampipes.sinks.notifications.jvm.email"
-            },
-            {
-              "id": "org.streampipes.sinks.notifications.jvm.onesignal/version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal"
-            },
-            {
-              "id": "org.streampipes.sinks.notifications.jvm.slack/version-0.62.0-org.streampipes.sinks.notifications.jvm.slack",
-              "path": "/docs/0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.slack/version-0.62.0-org.streampipes.sinks.notifications.jvm.slack"
-            },
-            {
-              "id": "user-guide-first-steps",
-              "path": "/docs/0.62.0-pre-asf/user-guide-first-steps"
-            },
-            {
-              "id": "user-guide-installation",
-              "path": "/docs/0.62.0-pre-asf/user-guide-installation"
-            },
-            {
-              "id": "user-guide-tour",
-              "path": "/docs/0.62.0-pre-asf/user-guide-tour"
-            }
-          ],
-          "draftIds": [],
-          "sidebars": {}
-        },
-        {
-          "name": "0.61.0-pre-asf",
-          "label": "0.61.0-pre-asf",
-          "isLast": false,
-          "path": "/docs/0.61.0-pre-asf",
-          "mainDocId": "dev-guide-archetype",
-          "docs": [
-            {
-              "id": "dev-guide-archetype",
-              "path": "/docs/0.61.0-pre-asf/dev-guide-archetype"
-            },
-            {
-              "id": "dev-guide-architecture",
-              "path": "/docs/0.61.0-pre-asf/dev-guide-architecture"
-            },
-            {
-              "id": "dev-guide-configuration",
-              "path": "/docs/0.61.0-pre-asf/dev-guide-configuration"
-            },
-            {
-              "id": "dev-guide-development-environment",
-              "path": "/docs/0.61.0-pre-asf/dev-guide-development-environment"
-            },
-            {
-              "id": "dev-guide-event-model",
-              "path": "/docs/0.61.0-pre-asf/dev-guide-event-model"
-            },
-            {
-              "id": "dev-guide-migration",
-              "path": "/docs/0.61.0-pre-asf/dev-guide-migration"
-            },
-            {
-              "id": "dev-guide-output-strategies",
-              "path": "/docs/0.61.0-pre-asf/dev-guide-output-strategies"
-            },
-            {
-              "id": "dev-guide-sdk-guide-processors",
-              "path": "/docs/0.61.0-pre-asf/dev-guide-sdk-guide-processors"
-            },
-            {
-              "id": "dev-guide-sdk-guide-sinks",
-              "path": "/docs/0.61.0-pre-asf/dev-guide-sdk-guide-sinks"
-            },
-            {
-              "id": "dev-guide-ssl",
-              "path": "/docs/0.61.0-pre-asf/dev-guide-ssl"
-            },
-            {
-              "id": "dev-guide-static-properties",
-              "path": "/docs/0.61.0-pre-asf/dev-guide-static-properties"
-            },
-            {
-              "id": "dev-guide-stream-requirements",
-              "path": "/docs/0.61.0-pre-asf/dev-guide-stream-requirements"
-            },
-            {
-              "id": "dev-guide-tutorial-processors",
-              "path": "/docs/0.61.0-pre-asf/dev-guide-tutorial-processors"
-            },
-            {
-              "id": "dev-guide-tutorial-sinks",
-              "path": "/docs/0.61.0-pre-asf/dev-guide-tutorial-sinks"
-            },
-            {
-              "id": "dev-guide-tutorial-sources",
-              "path": "/docs/0.61.0-pre-asf/dev-guide-tutorial-sources"
-            },
-            {
-              "id": "faq-common-problems",
-              "path": "/docs/0.61.0-pre-asf/faq-common-problems"
-            },
-            {
-              "id": "org.streampipes.processor.geo.flink/version-0.62.0-org.streampipes.processor.geo.flink",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processor.geo.flink/version-0.62.0-org.streampipes.processor.geo.flink"
-            },
-            {
-              "id": "org.streampipes.processor.imageclassification.jvm.generic-image-classification/version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification"
-            },
-            {
-              "id": "org.streampipes.processor.imageclassification.jvm.image-enricher/version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher"
-            },
-            {
-              "id": "org.streampipes.processor.imageclassification.qrcode/version-0.62.0-org.streampipes.processor.imageclassification.qrcode",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processor.imageclassification.qrcode/version-0.62.0-org.streampipes.processor.imageclassification.qrcode"
-            },
-            {
-              "id": "org.streampipes.processors.aggregation.flink.aggregation/version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation"
-            },
-            {
-              "id": "org.streampipes.processors.aggregation.flink.rate/version-0.62.0-org.streampipes.processors.aggregation.flink.rate",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processors.aggregation.flink.rate/version-0.62.0-org.streampipes.processors.aggregation.flink.rate"
-            },
-            {
-              "id": "org.streampipes.processors.enricher.flink.processor.math.mathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop"
-            },
-            {
-              "id": "org.streampipes.processors.enricher.flink.processor.math.staticmathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop"
-            },
-            {
-              "id": "org.streampipes.processors.enricher.flink.processor.trigonometry/version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry"
-            },
-            {
-              "id": "org.streampipes.processors.enricher.flink.processor.urldereferencing/version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing"
-            },
-            {
-              "id": "org.streampipes.processors.enricher.flink.timestamp/version-0.62.0-org.streampipes.processors.enricher.flink.timestamp",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processors.enricher.flink.timestamp/version-0.62.0-org.streampipes.processors.enricher.flink.timestamp"
-            },
-            {
-              "id": "org.streampipes.processors.filters.jvm.compose/version-0.62.0-org.streampipes.processors.filters.jvm.compose",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processors.filters.jvm.compose/version-0.62.0-org.streampipes.processors.filters.jvm.compose"
-            },
-            {
-              "id": "org.streampipes.processors.filters.jvm.numericalfilter/version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter"
-            },
-            {
-              "id": "org.streampipes.processors.filters.jvm.project/version-0.62.0-org.streampipes.processors.filters.jvm.project",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processors.filters.jvm.project/version-0.62.0-org.streampipes.processors.filters.jvm.project"
-            },
-            {
-              "id": "org.streampipes.processors.filters.jvm.textfilter/version-0.62.0-org.streampipes.processors.filters.jvm.textfilter",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processors.filters.jvm.textfilter/version-0.62.0-org.streampipes.processors.filters.jvm.textfilter"
-            },
-            {
-              "id": "org.streampipes.processors.pattern-detection.flink.peak-detection/version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection"
-            },
-            {
-              "id": "org.streampipes.processors.siddhi.frequency/version-0.62.0-org.streampipes.processors.siddhi.frequency",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processors.siddhi.frequency/version-0.62.0-org.streampipes.processors.siddhi.frequency"
-            },
-            {
-              "id": "org.streampipes.processors.siddhi.frequencychange/version-0.62.0-org.streampipes.processors.siddhi.frequencychange",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processors.siddhi.frequencychange/version-0.62.0-org.streampipes.processors.siddhi.frequencychange"
-            },
-            {
-              "id": "org.streampipes.processors.siddhi.increase/version-0.62.0-org.streampipes.processors.siddhi.increase",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processors.siddhi.increase/version-0.62.0-org.streampipes.processors.siddhi.increase"
-            },
-            {
-              "id": "org.streampipes.processors.siddhi.numericalfilter/version-0.62.0-org.streampipes.processors.siddhi.numericalfilter",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processors.siddhi.numericalfilter/version-0.62.0-org.streampipes.processors.siddhi.numericalfilter"
-            },
-            {
-              "id": "org.streampipes.processors.siddhi.sequence/version-0.62.0-org.streampipes.processors.siddhi.sequence",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processors.siddhi.sequence/version-0.62.0-org.streampipes.processors.siddhi.sequence"
-            },
-            {
-              "id": "org.streampipes.processors.siddhi.stop/version-0.62.0-org.streampipes.processors.siddhi.stop",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processors.siddhi.stop/version-0.62.0-org.streampipes.processors.siddhi.stop"
-            },
-            {
-              "id": "org.streampipes.processors.textmining.flink.languagedetection/version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection"
-            },
-            {
-              "id": "org.streampipes.processors.textmining.flink.wordcount/version-0.62.0-org.streampipes.processors.textmining.flink.wordcount",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processors.textmining.flink.wordcount/version-0.62.0-org.streampipes.processors.textmining.flink.wordcount"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.flink.field-converter/version-0.62.0-org.streampipes.processors.transformation.flink.field-converter",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-converter/version-0.62.0-org.streampipes.processors.transformation.flink.field-converter"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.flink.field-mapper/version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.flink.field-renamer/version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.flink.fieldhasher/version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.flink.measurement-unit-converter/version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.flink.processor.boilerplate/version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.jvm.changed-value/version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.jvm.count-array/version-0.62.0-org.streampipes.processors.transformation.jvm.count-array",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.count-array/version-0.62.0-org.streampipes.processors.transformation.jvm.count-array"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.jvm.duration-value/version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.jvm.processor.timestampextractor/version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.jvm.split-array/version-0.62.0-org.streampipes.processors.transformation.jvm.split-array",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.split-array/version-0.62.0-org.streampipes.processors.transformation.jvm.split-array"
-            },
-            {
-              "id": "org.streampipes.sinks.brokers.jvm.jms/version-0.62.0-org.streampipes.sinks.brokers.jvm.jms",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.jms/version-0.62.0-org.streampipes.sinks.brokers.jvm.jms"
-            },
-            {
-              "id": "org.streampipes.sinks.brokers.jvm.kafka/version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka"
-            },
-            {
-              "id": "org.streampipes.sinks.brokers.jvm.rabbitmq/version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq"
-            },
-            {
-              "id": "org.streampipes.sinks.brokers.jvm.rest/version-0.62.0-org.streampipes.sinks.brokers.jvm.rest",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.rest/version-0.62.0-org.streampipes.sinks.brokers.jvm.rest"
-            },
-            {
-              "id": "org.streampipes.sinks.databases.flink.elasticsearch/version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch"
-            },
-            {
-              "id": "org.streampipes.sinks.databases.jvm.couchdb/version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb"
-            },
-            {
-              "id": "org.streampipes.sinks.databases.jvm.influxdb/version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb"
-            },
-            {
-              "id": "org.streampipes.sinks.databases.jvm.postgresql/version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql"
-            },
-            {
-              "id": "org.streampipes.sinks.internal.jvm.dashboard/version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard"
-            },
-            {
-              "id": "org.streampipes.sinks.internal.jvm.notification/version-0.62.0-org.streampipes.sinks.internal.jvm.notification",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.sinks.internal.jvm.notification/version-0.62.0-org.streampipes.sinks.internal.jvm.notification"
-            },
-            {
-              "id": "org.streampipes.sinks.notifications.jvm.email/version-0.62.0-org.streampipes.sinks.notifications.jvm.email",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.email/version-0.62.0-org.streampipes.sinks.notifications.jvm.email"
-            },
-            {
-              "id": "org.streampipes.sinks.notifications.jvm.onesignal/version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal"
-            },
-            {
-              "id": "org.streampipes.sinks.notifications.jvm.slack/version-0.62.0-org.streampipes.sinks.notifications.jvm.slack",
-              "path": "/docs/0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.slack/version-0.62.0-org.streampipes.sinks.notifications.jvm.slack"
-            },
-            {
-              "id": "user-guide-first-steps",
-              "path": "/docs/0.61.0-pre-asf/user-guide-first-steps"
-            },
-            {
-              "id": "user-guide-installation",
-              "path": "/docs/0.61.0-pre-asf/user-guide-installation"
-            },
-            {
-              "id": "user-guide-processing-elements",
-              "path": "/docs/0.61.0-pre-asf/user-guide-processing-elements"
-            },
-            {
-              "id": "user-guide-software-components",
-              "path": "/docs/0.61.0-pre-asf/user-guide-software-components"
-            },
-            {
-              "id": "user-guide-tour",
-              "path": "/docs/0.61.0-pre-asf/user-guide-tour"
-            }
-          ],
-          "draftIds": [],
-          "sidebars": {}
-        },
-        {
-          "name": "0.55.2-pre-asf",
-          "label": "0.55.2-pre-asf",
-          "isLast": false,
-          "path": "/docs/0.55.2-pre-asf",
-          "mainDocId": "dev-guide-archetype",
-          "docs": [
-            {
-              "id": "dev-guide-archetype",
-              "path": "/docs/0.55.2-pre-asf/dev-guide-archetype"
-            },
-            {
-              "id": "dev-guide-architecture",
-              "path": "/docs/0.55.2-pre-asf/dev-guide-architecture"
-            },
-            {
-              "id": "dev-guide-configuration",
-              "path": "/docs/0.55.2-pre-asf/dev-guide-configuration"
-            },
-            {
-              "id": "dev-guide-development-environment",
-              "path": "/docs/0.55.2-pre-asf/dev-guide-development-environment"
-            },
-            {
-              "id": "dev-guide-event-model",
-              "path": "/docs/0.55.2-pre-asf/dev-guide-event-model"
-            },
-            {
-              "id": "dev-guide-introduction",
-              "path": "/docs/0.55.2-pre-asf/dev-guide-introduction"
-            },
-            {
-              "id": "dev-guide-migration",
-              "path": "/docs/0.55.2-pre-asf/dev-guide-migration"
-            },
-            {
-              "id": "dev-guide-output-strategies",
-              "path": "/docs/0.55.2-pre-asf/dev-guide-output-strategies"
-            },
-            {
-              "id": "dev-guide-sdk-guide-processors",
-              "path": "/docs/0.55.2-pre-asf/dev-guide-sdk-guide-processors"
-            },
-            {
-              "id": "dev-guide-sdk-guide-sinks",
-              "path": "/docs/0.55.2-pre-asf/dev-guide-sdk-guide-sinks"
-            },
-            {
-              "id": "dev-guide-sdk-guide-sources",
-              "path": "/docs/0.55.2-pre-asf/dev-guide-sdk-guide-sources"
-            },
-            {
-              "id": "dev-guide-ssl",
-              "path": "/docs/0.55.2-pre-asf/dev-guide-ssl"
-            },
-            {
-              "id": "dev-guide-static-properties",
-              "path": "/docs/0.55.2-pre-asf/dev-guide-static-properties"
-            },
-            {
-              "id": "dev-guide-stream-requirements",
-              "path": "/docs/0.55.2-pre-asf/dev-guide-stream-requirements"
-            },
-            {
-              "id": "dev-guide-tutorial-processors",
-              "path": "/docs/0.55.2-pre-asf/dev-guide-tutorial-processors"
-            },
-            {
-              "id": "dev-guide-tutorial-sources",
-              "path": "/docs/0.55.2-pre-asf/dev-guide-tutorial-sources"
-            },
-            {
-              "id": "faq-common-problems",
-              "path": "/docs/0.55.2-pre-asf/faq-common-problems"
-            },
-            {
-              "id": "org.streampipes.processor.geo.flink/version-0.62.0-org.streampipes.processor.geo.flink",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processor.geo.flink/version-0.62.0-org.streampipes.processor.geo.flink"
-            },
-            {
-              "id": "org.streampipes.processor.imageclassification.jvm.generic-image-classification/version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification"
-            },
-            {
-              "id": "org.streampipes.processor.imageclassification.jvm.image-enricher/version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher"
-            },
-            {
-              "id": "org.streampipes.processor.imageclassification.qrcode/version-0.62.0-org.streampipes.processor.imageclassification.qrcode",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processor.imageclassification.qrcode/version-0.62.0-org.streampipes.processor.imageclassification.qrcode"
-            },
-            {
-              "id": "org.streampipes.processors.aggregation.flink.aggregation/version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation"
-            },
-            {
-              "id": "org.streampipes.processors.aggregation.flink.rate/version-0.62.0-org.streampipes.processors.aggregation.flink.rate",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processors.aggregation.flink.rate/version-0.62.0-org.streampipes.processors.aggregation.flink.rate"
-            },
-            {
-              "id": "org.streampipes.processors.enricher.flink.processor.math.mathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop"
-            },
-            {
-              "id": "org.streampipes.processors.enricher.flink.processor.math.staticmathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop"
-            },
-            {
-              "id": "org.streampipes.processors.enricher.flink.processor.trigonometry/version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry"
-            },
-            {
-              "id": "org.streampipes.processors.enricher.flink.processor.urldereferencing/version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing"
-            },
-            {
-              "id": "org.streampipes.processors.enricher.flink.timestamp/version-0.62.0-org.streampipes.processors.enricher.flink.timestamp",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processors.enricher.flink.timestamp/version-0.62.0-org.streampipes.processors.enricher.flink.timestamp"
-            },
-            {
-              "id": "org.streampipes.processors.filters.jvm.compose/version-0.62.0-org.streampipes.processors.filters.jvm.compose",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processors.filters.jvm.compose/version-0.62.0-org.streampipes.processors.filters.jvm.compose"
-            },
-            {
-              "id": "org.streampipes.processors.filters.jvm.numericalfilter/version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter"
-            },
-            {
-              "id": "org.streampipes.processors.filters.jvm.project/version-0.62.0-org.streampipes.processors.filters.jvm.project",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processors.filters.jvm.project/version-0.62.0-org.streampipes.processors.filters.jvm.project"
-            },
-            {
-              "id": "org.streampipes.processors.filters.jvm.textfilter/version-0.62.0-org.streampipes.processors.filters.jvm.textfilter",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processors.filters.jvm.textfilter/version-0.62.0-org.streampipes.processors.filters.jvm.textfilter"
-            },
-            {
-              "id": "org.streampipes.processors.pattern-detection.flink.peak-detection/version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection"
-            },
-            {
-              "id": "org.streampipes.processors.siddhi.frequency/version-0.62.0-org.streampipes.processors.siddhi.frequency",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processors.siddhi.frequency/version-0.62.0-org.streampipes.processors.siddhi.frequency"
-            },
-            {
-              "id": "org.streampipes.processors.siddhi.frequencychange/version-0.62.0-org.streampipes.processors.siddhi.frequencychange",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processors.siddhi.frequencychange/version-0.62.0-org.streampipes.processors.siddhi.frequencychange"
-            },
-            {
-              "id": "org.streampipes.processors.siddhi.increase/version-0.62.0-org.streampipes.processors.siddhi.increase",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processors.siddhi.increase/version-0.62.0-org.streampipes.processors.siddhi.increase"
-            },
-            {
-              "id": "org.streampipes.processors.siddhi.numericalfilter/version-0.62.0-org.streampipes.processors.siddhi.numericalfilter",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processors.siddhi.numericalfilter/version-0.62.0-org.streampipes.processors.siddhi.numericalfilter"
-            },
-            {
-              "id": "org.streampipes.processors.siddhi.sequence/version-0.62.0-org.streampipes.processors.siddhi.sequence",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processors.siddhi.sequence/version-0.62.0-org.streampipes.processors.siddhi.sequence"
-            },
-            {
-              "id": "org.streampipes.processors.siddhi.stop/version-0.62.0-org.streampipes.processors.siddhi.stop",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processors.siddhi.stop/version-0.62.0-org.streampipes.processors.siddhi.stop"
-            },
-            {
-              "id": "org.streampipes.processors.textmining.flink.languagedetection/version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection"
-            },
-            {
-              "id": "org.streampipes.processors.textmining.flink.wordcount/version-0.62.0-org.streampipes.processors.textmining.flink.wordcount",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processors.textmining.flink.wordcount/version-0.62.0-org.streampipes.processors.textmining.flink.wordcount"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.flink.field-converter/version-0.62.0-org.streampipes.processors.transformation.flink.field-converter",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-converter/version-0.62.0-org.streampipes.processors.transformation.flink.field-converter"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.flink.field-mapper/version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.flink.field-renamer/version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.flink.fieldhasher/version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.flink.measurement-unit-converter/version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.flink.processor.boilerplate/version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.jvm.changed-value/version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.jvm.count-array/version-0.62.0-org.streampipes.processors.transformation.jvm.count-array",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.count-array/version-0.62.0-org.streampipes.processors.transformation.jvm.count-array"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.jvm.duration-value/version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.jvm.processor.timestampextractor/version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor"
-            },
-            {
-              "id": "org.streampipes.processors.transformation.jvm.split-array/version-0.62.0-org.streampipes.processors.transformation.jvm.split-array",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.split-array/version-0.62.0-org.streampipes.processors.transformation.jvm.split-array"
-            },
-            {
-              "id": "org.streampipes.sinks.brokers.jvm.jms/version-0.62.0-org.streampipes.sinks.brokers.jvm.jms",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.jms/version-0.62.0-org.streampipes.sinks.brokers.jvm.jms"
-            },
-            {
-              "id": "org.streampipes.sinks.brokers.jvm.kafka/version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka"
-            },
-            {
-              "id": "org.streampipes.sinks.brokers.jvm.rabbitmq/version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq"
-            },
-            {
-              "id": "org.streampipes.sinks.brokers.jvm.rest/version-0.62.0-org.streampipes.sinks.brokers.jvm.rest",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.rest/version-0.62.0-org.streampipes.sinks.brokers.jvm.rest"
-            },
-            {
-              "id": "org.streampipes.sinks.databases.flink.elasticsearch/version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch"
-            },
-            {
-              "id": "org.streampipes.sinks.databases.jvm.couchdb/version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb"
-            },
-            {
-              "id": "org.streampipes.sinks.databases.jvm.influxdb/version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb"
-            },
-            {
-              "id": "org.streampipes.sinks.databases.jvm.postgresql/version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql"
-            },
-            {
-              "id": "org.streampipes.sinks.internal.jvm.dashboard/version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard"
-            },
-            {
-              "id": "org.streampipes.sinks.internal.jvm.notification/version-0.62.0-org.streampipes.sinks.internal.jvm.notification",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.sinks.internal.jvm.notification/version-0.62.0-org.streampipes.sinks.internal.jvm.notification"
-            },
-            {
-              "id": "org.streampipes.sinks.notifications.jvm.email/version-0.62.0-org.streampipes.sinks.notifications.jvm.email",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.email/version-0.62.0-org.streampipes.sinks.notifications.jvm.email"
-            },
-            {
-              "id": "org.streampipes.sinks.notifications.jvm.onesignal/version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal"
-            },
-            {
-              "id": "org.streampipes.sinks.notifications.jvm.slack/version-0.62.0-org.streampipes.sinks.notifications.jvm.slack",
-              "path": "/docs/0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.slack/version-0.62.0-org.streampipes.sinks.notifications.jvm.slack"
-            },
-            {
-              "id": "privacy",
-              "path": "/docs/0.55.2-pre-asf/privacy"
-            },
-            {
-              "id": "user-guide-getting-started",
-              "path": "/docs/0.55.2-pre-asf/user-guide-getting-started"
-            },
-            {
-              "id": "user-guide-installation",
-              "path": "/docs/0.55.2-pre-asf/user-guide-installation"
-            },
-            {
-              "id": "user-guide-introduction",
-              "path": "/docs/0.55.2-pre-asf/user-guide-introduction"
-            },
-            {
-              "id": "user-guide-processing-elements",
-              "path": "/docs/0.55.2-pre-asf/user-guide-processing-elements"
-            },
-            {
-              "id": "user-guide-software-components",
-              "path": "/docs/0.55.2-pre-asf/user-guide-software-components"
-            },
-            {
-              "id": "user-guide-tour",
-              "path": "/docs/0.55.2-pre-asf/user-guide-tour"
-            }
-          ],
-          "draftIds": [],
-          "sidebars": {}
         }
       ],
       "breadcrumbs": true
diff --git a/website-v2/.docusaurus/registry.js b/website-v2/.docusaurus/registry.js
index 5d2f4d0..5cfe9dd 100644
--- a/website-v2/.docusaurus/registry.js
+++ b/website-v2/.docusaurus/registry.js
@@ -55,1274 +55,6 @@
   'content---blogc-6-b-75c': [() => import(/* webpackChunkName: 'content---blogc-6-b-75c' */ '@site/blog/2021-07-22_release-0680.md?truncated=true'), '@site/blog/2021-07-22_release-0680.md?truncated=true', require.resolveWeak('@site/blog/2021-07-22_release-0680.md?truncated=true')],
   'content---blogda-6-bea': [() => import(/* webpackChunkName: 'content---blogda-6-bea' */ '@site/blog/2023-01-17-release-090.md?truncated=true'), '@site/blog/2023-01-17-release-090.md?truncated=true', require.resolveWeak('@site/blog/2023-01-17-release-090.md?truncated=true')],
   'content---blogf-00-029': [() => import(/* webpackChunkName: 'content---blogf-00-029' */ '@site/blog/2022-09-05-using-factory.io-with-streampipes.md?truncated=true'), '@site/blog/2022-09-05-using-factory.io-with-streampipes.md?truncated=true', require.resolveWeak('@site/blog/2022-09-05-using-factory.io-with-streampipes.md?truncated=true')],
-  'content---docs-0-55-2-pre-asf-dev-guide-archetypec-87-d4b': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-dev-guide-archetypec-87-d4b' */ '@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-archetype.md'), '@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-archetype.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-archetype.md')],
-  'content---docs-0-55-2-pre-asf-dev-guide-architecture-19-b-4fa': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-dev-guide-architecture-19-b-4fa' */ '@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-architecture.md'), '@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-architecture.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-architecture.md')],
-  'content---docs-0-55-2-pre-asf-dev-guide-configuration-522-b59': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-dev-guide-configuration-522-b59' */ '@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-configuration.md'), '@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-configuration.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-configuration.md')],
-  'content---docs-0-55-2-pre-asf-dev-guide-development-environmente-03-e32': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-dev-guide-development-environmente-03-e32' */ '@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-environment.md'), '@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-environment.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-environment.md')],
-  'content---docs-0-55-2-pre-asf-dev-guide-event-modeldc-5-5be': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-dev-guide-event-modeldc-5-5be' */ '@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-event-model.md'), '@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-event-model.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-event-model.md')],
-  'content---docs-0-55-2-pre-asf-dev-guide-introduction-44-e-1ba': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-dev-guide-introduction-44-e-1ba' */ '@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-introduction.md'), '@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-introduction.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-introduction.md')],
-  'content---docs-0-55-2-pre-asf-dev-guide-migrationbf-9-00d': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-dev-guide-migrationbf-9-00d' */ '@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-migration.md'), '@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-migration.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-migration.md')],
-  'content---docs-0-55-2-pre-asf-dev-guide-output-strategies-10-c-581': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-dev-guide-output-strategies-10-c-581' */ '@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-output-strategies.md'), '@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-output-strategies.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-output-strategies.md')],
-  'content---docs-0-55-2-pre-asf-dev-guide-sdk-guide-processorsc-26-32d': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-dev-guide-sdk-guide-processorsc-26-32d' */ '@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-processor-sdk.md'), '@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-processor-sdk.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-processor-sdk.md')],
-  'content---docs-0-55-2-pre-asf-dev-guide-sdk-guide-sinks-578-ecc': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-dev-guide-sdk-guide-sinks-578-ecc' */ '@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-sink-sdk.md'), '@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-sink-sdk.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-sink-sdk.md')],
-  'content---docs-0-55-2-pre-asf-dev-guide-sdk-guide-sources-0-fa-3c0': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-dev-guide-sdk-guide-sources-0-fa-3c0' */ '@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-source-sdk.md'), '@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-source-sdk.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-source-sdk.md')],
-  'content---docs-0-55-2-pre-asf-dev-guide-ssl-195-fc4': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-dev-guide-ssl-195-fc4' */ '@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-ssl.md'), '@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-ssl.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-ssl.md')],
-  'content---docs-0-55-2-pre-asf-dev-guide-static-propertiese-8-d-246': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-dev-guide-static-propertiese-8-d-246' */ '@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-static-properties.md'), '@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-static-properties.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-static-properties.md')],
-  'content---docs-0-55-2-pre-asf-dev-guide-stream-requirementsa-88-12b': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-dev-guide-stream-requirementsa-88-12b' */ '@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-stream-requirements.md'), '@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-stream-requirements.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-stream-requirements.md')],
-  'content---docs-0-55-2-pre-asf-dev-guide-tutorial-processors-421-b8e': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-dev-guide-tutorial-processors-421-b8e' */ '@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-tutorial-processors.md'), '@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-tutorial-processors.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-tutorial-processors.md')],
-  'content---docs-0-55-2-pre-asf-dev-guide-tutorial-sources-303-a98': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-dev-guide-tutorial-sources-303-a98' */ '@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-tutorial-sources.md'), '@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-tutorial-sources.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/dev-guide-tutorial-sources.md')],
-  'content---docs-0-55-2-pre-asf-faq-common-problems-20-b-3b2': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-faq-common-problems-20-b-3b2' */ '@site/versioned_docs/version-0.55.2-pre-asf/faq-common-problems.md'), '@site/versioned_docs/version-0.55.2-pre-asf/faq-common-problems.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/faq-common-problems.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processor-geo-flink-version-0-62-0-org-streampipes-processor-geo-flink-36-f-db6': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processor-geo-flink-version-0-62-0-org-streampipes-processor-geo-flink-36-f-db6' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processor.geo.flink/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processor.geo.flink/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processor.geo.flink/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processor-imageclassification-jvm-generic-image-classification-version-0-62-0-org-streampipes-processor-imageclassification-jvm-generic-image-classificationa-1-d-ec2': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processor-imageclassification-jvm-generic-image-classification-version-0-62-0-org-streampipes-processor-imageclassification-jvm-generic-image-classificationa-1-d-ec2' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processor-imageclassification-jvm-image-enricher-version-0-62-0-org-streampipes-processor-imageclassification-jvm-image-enricherf-02-c80': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processor-imageclassification-jvm-image-enricher-version-0-62-0-org-streampipes-processor-imageclassification-jvm-image-enricherf-02-c80' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processor-imageclassification-qrcode-version-0-62-0-org-streampipes-processor-imageclassification-qrcodeacb-3e5': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processor-imageclassification-qrcode-version-0-62-0-org-streampipes-processor-imageclassification-qrcodeacb-3e5' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processor.imageclassification.qrcode/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processor.imageclassification.qrcode/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processor.imageclassification.qrcode/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processors-aggregation-flink-aggregation-version-0-62-0-org-streampipes-processors-aggregation-flink-aggregationd-4-a-2e4': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processors-aggregation-flink-aggregation-version-0-62-0-org-streampipes-processors-aggregation-flink-aggregationd-4-a-2e4' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processors-aggregation-flink-rate-version-0-62-0-org-streampipes-processors-aggregation-flink-rate-6-b-1-a32': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processors-aggregation-flink-rate-version-0-62-0-org-streampipes-processors-aggregation-flink-rate-6-b-1-a32' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.aggregation.flink.rate/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.aggregation.flink.rate/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.aggregation.flink.rate/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processors-enricher-flink-processor-math-mathop-version-0-62-0-org-streampipes-processors-enricher-flink-processor-math-mathop-03-b-4fd': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processors-enricher-flink-processor-math-mathop-version-0-62-0-org-streampipes-processors-enricher-flink-processor-math-mathop-03-b-4fd' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processors-enricher-flink-processor-math-staticmathop-version-0-62-0-org-streampipes-processors-enricher-flink-processor-math-staticmathopc-4-e-b15': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processors-enricher-flink-processor-math-staticmathop-version-0-62-0-org-streampipes-processors-enricher-flink-processor-math-staticmathopc-4-e-b15' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processors-enricher-flink-processor-trigonometry-version-0-62-0-org-streampipes-processors-enricher-flink-processor-trigonometryaef-dbb': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processors-enricher-flink-processor-trigonometry-version-0-62-0-org-streampipes-processors-enricher-flink-processor-trigonometryaef-dbb' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processors-enricher-flink-processor-urldereferencing-version-0-62-0-org-streampipes-processors-enricher-flink-processor-urldereferencing-72-e-8b3': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processors-enricher-flink-processor-urldereferencing-version-0-62-0-org-streampipes-processors-enricher-flink-processor-urldereferencing-72-e-8b3' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processors-enricher-flink-timestamp-version-0-62-0-org-streampipes-processors-enricher-flink-timestamp-63-e-8e7': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processors-enricher-flink-timestamp-version-0-62-0-org-streampipes-processors-enricher-flink-timestamp-63-e-8e7' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.timestamp/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.timestamp/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.timestamp/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processors-filters-jvm-compose-version-0-62-0-org-streampipes-processors-filters-jvm-compose-257-156': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processors-filters-jvm-compose-version-0-62-0-org-streampipes-processors-filters-jvm-compose-257-156' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.filters.jvm.compose/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.filters.jvm.compose/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.filters.jvm.compose/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processors-filters-jvm-numericalfilter-version-0-62-0-org-streampipes-processors-filters-jvm-numericalfiltere-46-05b': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processors-filters-jvm-numericalfilter-version-0-62-0-org-streampipes-processors-filters-jvm-numericalfiltere-46-05b' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processors-filters-jvm-project-version-0-62-0-org-streampipes-processors-filters-jvm-projectb-17-81f': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processors-filters-jvm-project-version-0-62-0-org-streampipes-processors-filters-jvm-projectb-17-81f' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.filters.jvm.project/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.filters.jvm.project/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.filters.jvm.project/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processors-filters-jvm-textfilter-version-0-62-0-org-streampipes-processors-filters-jvm-textfilter-078-6d2': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processors-filters-jvm-textfilter-version-0-62-0-org-streampipes-processors-filters-jvm-textfilter-078-6d2' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.filters.jvm.textfilter/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.filters.jvm.textfilter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.filters.jvm.textfilter/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processors-pattern-detection-flink-peak-detection-version-0-62-0-org-streampipes-processors-pattern-detection-flink-peak-detectionf-44-570': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processors-pattern-detection-flink-peak-detection-version-0-62-0-org-streampipes-processors-pattern-detection-flink-peak-detectionf-44-570' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processors-siddhi-frequency-version-0-62-0-org-streampipes-processors-siddhi-frequencybe-8-831': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processors-siddhi-frequency-version-0-62-0-org-streampipes-processors-siddhi-frequencybe-8-831' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.frequency/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.frequency/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.frequency/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processors-siddhi-frequencychange-version-0-62-0-org-streampipes-processors-siddhi-frequencychange-6-fe-728': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processors-siddhi-frequencychange-version-0-62-0-org-streampipes-processors-siddhi-frequencychange-6-fe-728' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.frequencychange/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.frequencychange/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.frequencychange/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processors-siddhi-increase-version-0-62-0-org-streampipes-processors-siddhi-increaseccb-e66': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processors-siddhi-increase-version-0-62-0-org-streampipes-processors-siddhi-increaseccb-e66' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.increase/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.increase/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.increase/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processors-siddhi-numericalfilter-version-0-62-0-org-streampipes-processors-siddhi-numericalfiltere-64-852': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processors-siddhi-numericalfilter-version-0-62-0-org-streampipes-processors-siddhi-numericalfiltere-64-852' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.numericalfilter/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.numericalfilter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.numericalfilter/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processors-siddhi-sequence-version-0-62-0-org-streampipes-processors-siddhi-sequencecb-0-94e': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processors-siddhi-sequence-version-0-62-0-org-streampipes-processors-siddhi-sequencecb-0-94e' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.sequence/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.sequence/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.sequence/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processors-siddhi-stop-version-0-62-0-org-streampipes-processors-siddhi-stop-8-f-1-921': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processors-siddhi-stop-version-0-62-0-org-streampipes-processors-siddhi-stop-8-f-1-921' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.stop/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.stop/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.stop/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processors-textmining-flink-languagedetection-version-0-62-0-org-streampipes-processors-textmining-flink-languagedetection-577-124': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processors-textmining-flink-languagedetection-version-0-62-0-org-streampipes-processors-textmining-flink-languagedetection-577-124' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processors-textmining-flink-wordcount-version-0-62-0-org-streampipes-processors-textmining-flink-wordcount-5-c-2-c48': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processors-textmining-flink-wordcount-version-0-62-0-org-streampipes-processors-textmining-flink-wordcount-5-c-2-c48' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.textmining.flink.wordcount/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.textmining.flink.wordcount/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.textmining.flink.wordcount/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-flink-field-converter-version-0-62-0-org-streampipes-processors-transformation-flink-field-convertere-91-656': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-flink-field-converter-version-0-62-0-org-streampipes-processors-transformation-flink-field-convertere-91-656' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-converter/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-converter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-converter/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-flink-field-mapper-version-0-62-0-org-streampipes-processors-transformation-flink-field-mapperf-82-891': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-flink-field-mapper-version-0-62-0-org-streampipes-processors-transformation-flink-field-mapperf-82-891' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-flink-field-renamer-version-0-62-0-org-streampipes-processors-transformation-flink-field-renamer-3-f-1-b83': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-flink-field-renamer-version-0-62-0-org-streampipes-processors-transformation-flink-field-renamer-3-f-1-b83' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-flink-fieldhasher-version-0-62-0-org-streampipes-processors-transformation-flink-fieldhashere-90-765': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-flink-fieldhasher-version-0-62-0-org-streampipes-processors-transformation-flink-fieldhashere-90-765' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-flink-measurement-unit-converter-version-0-62-0-org-streampipes-processors-transformation-flink-measurement-unit-converter-96-b-3f7': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-flink-measurement-unit-converter-version-0-62-0-org-streampipes-processors-transformation-flink-measurement-unit-converter-96-b-3f7' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-flink-processor-boilerplate-version-0-62-0-org-streampipes-processors-transformation-flink-processor-boilerplateaa-2-550': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-flink-processor-boilerplate-version-0-62-0-org-streampipes-processors-transformation-flink-processor-boilerplateaa-2-550' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-jvm-changed-value-version-0-62-0-org-streampipes-processors-transformation-jvm-changed-valuec-00-41e': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-jvm-changed-value-version-0-62-0-org-streampipes-processors-transformation-jvm-changed-valuec-00-41e' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-jvm-count-array-version-0-62-0-org-streampipes-processors-transformation-jvm-count-array-271-2dd': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-jvm-count-array-version-0-62-0-org-streampipes-processors-transformation-jvm-count-array-271-2dd' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.count-array/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.count-array/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.count-array/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-jvm-duration-value-version-0-62-0-org-streampipes-processors-transformation-jvm-duration-valuece-4-cfe': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-jvm-duration-value-version-0-62-0-org-streampipes-processors-transformation-jvm-duration-valuece-4-cfe' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-jvm-processor-timestampextractor-version-0-62-0-org-streampipes-processors-transformation-jvm-processor-timestampextractor-4-d-7-1b3': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-jvm-processor-timestampextractor-version-0-62-0-org-streampipes-processors-transformation-jvm-processor-timestampextractor-4-d-7-1b3' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-jvm-split-array-version-0-62-0-org-streampipes-processors-transformation-jvm-split-array-238-519': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-jvm-split-array-version-0-62-0-org-streampipes-processors-transformation-jvm-split-array-238-519' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.split-array/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.split-array/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.split-array/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-sinks-brokers-jvm-jms-version-0-62-0-org-streampipes-sinks-brokers-jvm-jms-818-328': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-sinks-brokers-jvm-jms-version-0-62-0-org-streampipes-sinks-brokers-jvm-jms-818-328' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.jms/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.jms/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.jms/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-sinks-brokers-jvm-kafka-version-0-62-0-org-streampipes-sinks-brokers-jvm-kafka-492-d09': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-sinks-brokers-jvm-kafka-version-0-62-0-org-streampipes-sinks-brokers-jvm-kafka-492-d09' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-sinks-brokers-jvm-rabbitmq-version-0-62-0-org-streampipes-sinks-brokers-jvm-rabbitmq-8-bf-609': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-sinks-brokers-jvm-rabbitmq-version-0-62-0-org-streampipes-sinks-brokers-jvm-rabbitmq-8-bf-609' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-sinks-brokers-jvm-rest-version-0-62-0-org-streampipes-sinks-brokers-jvm-restc-27-2ae': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-sinks-brokers-jvm-rest-version-0-62-0-org-streampipes-sinks-brokers-jvm-restc-27-2ae' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.rest/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.rest/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.rest/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-sinks-databases-flink-elasticsearch-version-0-62-0-org-streampipes-sinks-databases-flink-elasticsearch-4-d-2-0a7': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-sinks-databases-flink-elasticsearch-version-0-62-0-org-streampipes-sinks-databases-flink-elasticsearch-4-d-2-0a7' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-sinks-databases-jvm-couchdb-version-0-62-0-org-streampipes-sinks-databases-jvm-couchdb-789-3e7': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-sinks-databases-jvm-couchdb-version-0-62-0-org-streampipes-sinks-databases-jvm-couchdb-789-3e7' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-sinks-databases-jvm-influxdb-version-0-62-0-org-streampipes-sinks-databases-jvm-influxdbcd-4-5e4': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-sinks-databases-jvm-influxdb-version-0-62-0-org-streampipes-sinks-databases-jvm-influxdbcd-4-5e4' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-sinks-databases-jvm-postgresql-version-0-62-0-org-streampipes-sinks-databases-jvm-postgresql-480-838': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-sinks-databases-jvm-postgresql-version-0-62-0-org-streampipes-sinks-databases-jvm-postgresql-480-838' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-sinks-internal-jvm-dashboard-version-0-62-0-org-streampipes-sinks-internal-jvm-dashboardde-8-799': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-sinks-internal-jvm-dashboard-version-0-62-0-org-streampipes-sinks-internal-jvm-dashboardde-8-799' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-sinks-internal-jvm-notification-version-0-62-0-org-streampipes-sinks-internal-jvm-notification-633-f71': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-sinks-internal-jvm-notification-version-0-62-0-org-streampipes-sinks-internal-jvm-notification-633-f71' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.internal.jvm.notification/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.internal.jvm.notification/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.internal.jvm.notification/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-sinks-notifications-jvm-email-version-0-62-0-org-streampipes-sinks-notifications-jvm-email-8-df-515': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-sinks-notifications-jvm-email-version-0-62-0-org-streampipes-sinks-notifications-jvm-email-8-df-515' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.email/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.email/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.email/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-sinks-notifications-jvm-onesignal-version-0-62-0-org-streampipes-sinks-notifications-jvm-onesignal-094-3e9': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-sinks-notifications-jvm-onesignal-version-0-62-0-org-streampipes-sinks-notifications-jvm-onesignal-094-3e9' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/documentation.md')],
-  'content---docs-0-55-2-pre-asf-org-streampipes-sinks-notifications-jvm-slack-version-0-62-0-org-streampipes-sinks-notifications-jvm-slackc-92-f39': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-org-streampipes-sinks-notifications-jvm-slack-version-0-62-0-org-streampipes-sinks-notifications-jvm-slackc-92-f39' */ '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.slack/documentation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.slack/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.slack/documentation.md')],
-  'content---docs-0-55-2-pre-asf-privacy-278-9e4': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-privacy-278-9e4' */ '@site/versioned_docs/version-0.55.2-pre-asf/privacy.md'), '@site/versioned_docs/version-0.55.2-pre-asf/privacy.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/privacy.md')],
-  'content---docs-0-55-2-pre-asf-user-guide-getting-startede-61-b5f': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-user-guide-getting-startede-61-b5f' */ '@site/versioned_docs/version-0.55.2-pre-asf/user-guide-getting-started.md'), '@site/versioned_docs/version-0.55.2-pre-asf/user-guide-getting-started.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/user-guide-getting-started.md')],
-  'content---docs-0-55-2-pre-asf-user-guide-installation-159-12c': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-user-guide-installation-159-12c' */ '@site/versioned_docs/version-0.55.2-pre-asf/user-guide-installation.md'), '@site/versioned_docs/version-0.55.2-pre-asf/user-guide-installation.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/user-guide-installation.md')],
-  'content---docs-0-55-2-pre-asf-user-guide-introduction-6-ef-640': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-user-guide-introduction-6-ef-640' */ '@site/versioned_docs/version-0.55.2-pre-asf/user-guide-introduction.md'), '@site/versioned_docs/version-0.55.2-pre-asf/user-guide-introduction.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/user-guide-introduction.md')],
-  'content---docs-0-55-2-pre-asf-user-guide-processing-elements-4-c-8-b64': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-user-guide-processing-elements-4-c-8-b64' */ '@site/versioned_docs/version-0.55.2-pre-asf/user-guide-processing-elements.md'), '@site/versioned_docs/version-0.55.2-pre-asf/user-guide-processing-elements.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/user-guide-processing-elements.md')],
-  'content---docs-0-55-2-pre-asf-user-guide-software-components-554-cec': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-user-guide-software-components-554-cec' */ '@site/versioned_docs/version-0.55.2-pre-asf/user-guide-software-components.md'), '@site/versioned_docs/version-0.55.2-pre-asf/user-guide-software-components.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/user-guide-software-components.md')],
-  'content---docs-0-55-2-pre-asf-user-guide-tourf-4-d-f05': [() => import(/* webpackChunkName: 'content---docs-0-55-2-pre-asf-user-guide-tourf-4-d-f05' */ '@site/versioned_docs/version-0.55.2-pre-asf/user-guide-tour.md'), '@site/versioned_docs/version-0.55.2-pre-asf/user-guide-tour.md', require.resolveWeak('@site/versioned_docs/version-0.55.2-pre-asf/user-guide-tour.md')],
-  'content---docs-0-61-0-pre-asf-dev-guide-archetype-995-dd2': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-dev-guide-archetype-995-dd2' */ '@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-archetype.md'), '@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-archetype.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-archetype.md')],
-  'content---docs-0-61-0-pre-asf-dev-guide-architecturee-27-4f0': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-dev-guide-architecturee-27-4f0' */ '@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-architecture.md'), '@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-architecture.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-architecture.md')],
-  'content---docs-0-61-0-pre-asf-dev-guide-configuration-805-ec0': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-dev-guide-configuration-805-ec0' */ '@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-configuration.md'), '@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-configuration.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-configuration.md')],
-  'content---docs-0-61-0-pre-asf-dev-guide-development-environment-4-d-0-46c': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-dev-guide-development-environment-4-d-0-46c' */ '@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-environment.md'), '@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-environment.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-environment.md')],
-  'content---docs-0-61-0-pre-asf-dev-guide-event-modela-6-e-51e': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-dev-guide-event-modela-6-e-51e' */ '@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-event-model.md'), '@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-event-model.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-event-model.md')],
-  'content---docs-0-61-0-pre-asf-dev-guide-migration-573-fdd': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-dev-guide-migration-573-fdd' */ '@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-migration.md'), '@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-migration.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-migration.md')],
-  'content---docs-0-61-0-pre-asf-dev-guide-output-strategiesbdc-1cf': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-dev-guide-output-strategiesbdc-1cf' */ '@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-output-strategies.md'), '@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-output-strategies.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-output-strategies.md')],
-  'content---docs-0-61-0-pre-asf-dev-guide-sdk-guide-processors-6-e-1-0b1': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-dev-guide-sdk-guide-processors-6-e-1-0b1' */ '@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-processor-sdk.md'), '@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-processor-sdk.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-processor-sdk.md')],
-  'content---docs-0-61-0-pre-asf-dev-guide-sdk-guide-sinks-4-c-3-95f': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-dev-guide-sdk-guide-sinks-4-c-3-95f' */ '@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-sink-sdk.md'), '@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-sink-sdk.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-sink-sdk.md')],
-  'content---docs-0-61-0-pre-asf-dev-guide-ssl-1-e-8-a90': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-dev-guide-ssl-1-e-8-a90' */ '@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-ssl.md'), '@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-ssl.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-ssl.md')],
-  'content---docs-0-61-0-pre-asf-dev-guide-static-propertiese-15-0f1': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-dev-guide-static-propertiese-15-0f1' */ '@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-static-properties.md'), '@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-static-properties.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-static-properties.md')],
-  'content---docs-0-61-0-pre-asf-dev-guide-stream-requirementscf-7-b55': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-dev-guide-stream-requirementscf-7-b55' */ '@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-stream-requirements.md'), '@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-stream-requirements.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-stream-requirements.md')],
-  'content---docs-0-61-0-pre-asf-dev-guide-tutorial-processorsde-1-a0b': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-dev-guide-tutorial-processorsde-1-a0b' */ '@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-tutorial-processors.md'), '@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-tutorial-processors.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-tutorial-processors.md')],
-  'content---docs-0-61-0-pre-asf-dev-guide-tutorial-sinks-25-f-147': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-dev-guide-tutorial-sinks-25-f-147' */ '@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-tutorial-sinks.md'), '@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-tutorial-sinks.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-tutorial-sinks.md')],
-  'content---docs-0-61-0-pre-asf-dev-guide-tutorial-sources-162-b79': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-dev-guide-tutorial-sources-162-b79' */ '@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-tutorial-sources.md'), '@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-tutorial-sources.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/dev-guide-tutorial-sources.md')],
-  'content---docs-0-61-0-pre-asf-faq-common-problemsf-33-ba2': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-faq-common-problemsf-33-ba2' */ '@site/versioned_docs/version-0.61.0-pre-asf/faq-common-problems.md'), '@site/versioned_docs/version-0.61.0-pre-asf/faq-common-problems.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/faq-common-problems.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processor-geo-flink-version-0-62-0-org-streampipes-processor-geo-flinkf-21-1d5': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processor-geo-flink-version-0-62-0-org-streampipes-processor-geo-flinkf-21-1d5' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processor.geo.flink/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processor.geo.flink/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processor.geo.flink/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processor-imageclassification-jvm-generic-image-classification-version-0-62-0-org-streampipes-processor-imageclassification-jvm-generic-image-classificationbc-3-f87': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processor-imageclassification-jvm-generic-image-classification-version-0-62-0-org-streampipes-processor-imageclassification-jvm-generic-image-classificationbc-3-f87' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processor-imageclassification-jvm-image-enricher-version-0-62-0-org-streampipes-processor-imageclassification-jvm-image-enricher-6-dd-1d9': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processor-imageclassification-jvm-image-enricher-version-0-62-0-org-streampipes-processor-imageclassification-jvm-image-enricher-6-dd-1d9' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processor-imageclassification-qrcode-version-0-62-0-org-streampipes-processor-imageclassification-qrcodebf-1-a71': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processor-imageclassification-qrcode-version-0-62-0-org-streampipes-processor-imageclassification-qrcodebf-1-a71' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processor.imageclassification.qrcode/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processor.imageclassification.qrcode/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processor.imageclassification.qrcode/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processors-aggregation-flink-aggregation-version-0-62-0-org-streampipes-processors-aggregation-flink-aggregation-34-a-44c': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processors-aggregation-flink-aggregation-version-0-62-0-org-streampipes-processors-aggregation-flink-aggregation-34-a-44c' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processors-aggregation-flink-rate-version-0-62-0-org-streampipes-processors-aggregation-flink-rate-36-d-ff6': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processors-aggregation-flink-rate-version-0-62-0-org-streampipes-processors-aggregation-flink-rate-36-d-ff6' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.aggregation.flink.rate/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.aggregation.flink.rate/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.aggregation.flink.rate/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processors-enricher-flink-processor-math-mathop-version-0-62-0-org-streampipes-processors-enricher-flink-processor-math-mathope-6-a-799': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processors-enricher-flink-processor-math-mathop-version-0-62-0-org-streampipes-processors-enricher-flink-processor-math-mathope-6-a-799' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processors-enricher-flink-processor-math-staticmathop-version-0-62-0-org-streampipes-processors-enricher-flink-processor-math-staticmathop-6-ae-926': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processors-enricher-flink-processor-math-staticmathop-version-0-62-0-org-streampipes-processors-enricher-flink-processor-math-staticmathop-6-ae-926' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processors-enricher-flink-processor-trigonometry-version-0-62-0-org-streampipes-processors-enricher-flink-processor-trigonometryc-7-c-ce4': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processors-enricher-flink-processor-trigonometry-version-0-62-0-org-streampipes-processors-enricher-flink-processor-trigonometryc-7-c-ce4' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processors-enricher-flink-processor-urldereferencing-version-0-62-0-org-streampipes-processors-enricher-flink-processor-urldereferencingbcb-97e': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processors-enricher-flink-processor-urldereferencing-version-0-62-0-org-streampipes-processors-enricher-flink-processor-urldereferencingbcb-97e' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processors-enricher-flink-timestamp-version-0-62-0-org-streampipes-processors-enricher-flink-timestampce-2-ac1': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processors-enricher-flink-timestamp-version-0-62-0-org-streampipes-processors-enricher-flink-timestampce-2-ac1' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.timestamp/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.timestamp/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.timestamp/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processors-filters-jvm-compose-version-0-62-0-org-streampipes-processors-filters-jvm-compose-1-d-1-f96': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processors-filters-jvm-compose-version-0-62-0-org-streampipes-processors-filters-jvm-compose-1-d-1-f96' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.filters.jvm.compose/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.filters.jvm.compose/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.filters.jvm.compose/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processors-filters-jvm-numericalfilter-version-0-62-0-org-streampipes-processors-filters-jvm-numericalfilter-7-c-5-dc2': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processors-filters-jvm-numericalfilter-version-0-62-0-org-streampipes-processors-filters-jvm-numericalfilter-7-c-5-dc2' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processors-filters-jvm-project-version-0-62-0-org-streampipes-processors-filters-jvm-project-273-b83': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processors-filters-jvm-project-version-0-62-0-org-streampipes-processors-filters-jvm-project-273-b83' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.filters.jvm.project/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.filters.jvm.project/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.filters.jvm.project/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processors-filters-jvm-textfilter-version-0-62-0-org-streampipes-processors-filters-jvm-textfiltere-7-d-8b0': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processors-filters-jvm-textfilter-version-0-62-0-org-streampipes-processors-filters-jvm-textfiltere-7-d-8b0' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.filters.jvm.textfilter/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.filters.jvm.textfilter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.filters.jvm.textfilter/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processors-pattern-detection-flink-peak-detection-version-0-62-0-org-streampipes-processors-pattern-detection-flink-peak-detection-500-c9e': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processors-pattern-detection-flink-peak-detection-version-0-62-0-org-streampipes-processors-pattern-detection-flink-peak-detection-500-c9e' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processors-siddhi-frequency-version-0-62-0-org-streampipes-processors-siddhi-frequency-68-b-6ba': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processors-siddhi-frequency-version-0-62-0-org-streampipes-processors-siddhi-frequency-68-b-6ba' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.frequency/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.frequency/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.frequency/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processors-siddhi-frequencychange-version-0-62-0-org-streampipes-processors-siddhi-frequencychange-0-b-8-b17': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processors-siddhi-frequencychange-version-0-62-0-org-streampipes-processors-siddhi-frequencychange-0-b-8-b17' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.frequencychange/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.frequencychange/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.frequencychange/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processors-siddhi-increase-version-0-62-0-org-streampipes-processors-siddhi-increase-80-f-b01': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processors-siddhi-increase-version-0-62-0-org-streampipes-processors-siddhi-increase-80-f-b01' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.increase/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.increase/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.increase/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processors-siddhi-numericalfilter-version-0-62-0-org-streampipes-processors-siddhi-numericalfilter-6-fc-58f': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processors-siddhi-numericalfilter-version-0-62-0-org-streampipes-processors-siddhi-numericalfilter-6-fc-58f' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.numericalfilter/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.numericalfilter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.numericalfilter/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processors-siddhi-sequence-version-0-62-0-org-streampipes-processors-siddhi-sequence-477-bee': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processors-siddhi-sequence-version-0-62-0-org-streampipes-processors-siddhi-sequence-477-bee' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.sequence/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.sequence/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.sequence/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processors-siddhi-stop-version-0-62-0-org-streampipes-processors-siddhi-stop-85-d-861': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processors-siddhi-stop-version-0-62-0-org-streampipes-processors-siddhi-stop-85-d-861' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.stop/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.stop/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.stop/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processors-textmining-flink-languagedetection-version-0-62-0-org-streampipes-processors-textmining-flink-languagedetectionbd-8-c4e': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processors-textmining-flink-languagedetection-version-0-62-0-org-streampipes-processors-textmining-flink-languagedetectionbd-8-c4e' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processors-textmining-flink-wordcount-version-0-62-0-org-streampipes-processors-textmining-flink-wordcount-350-8e1': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processors-textmining-flink-wordcount-version-0-62-0-org-streampipes-processors-textmining-flink-wordcount-350-8e1' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.textmining.flink.wordcount/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.textmining.flink.wordcount/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.textmining.flink.wordcount/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-flink-field-converter-version-0-62-0-org-streampipes-processors-transformation-flink-field-converter-57-d-137': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-flink-field-converter-version-0-62-0-org-streampipes-processors-transformation-flink-field-converter-57-d-137' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-converter/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-converter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-converter/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-flink-field-mapper-version-0-62-0-org-streampipes-processors-transformation-flink-field-mapper-5-fe-cab': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-flink-field-mapper-version-0-62-0-org-streampipes-processors-transformation-flink-field-mapper-5-fe-cab' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-flink-field-renamer-version-0-62-0-org-streampipes-processors-transformation-flink-field-renamerd-49-9bd': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-flink-field-renamer-version-0-62-0-org-streampipes-processors-transformation-flink-field-renamerd-49-9bd' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-flink-fieldhasher-version-0-62-0-org-streampipes-processors-transformation-flink-fieldhasher-2-f-1-d5e': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-flink-fieldhasher-version-0-62-0-org-streampipes-processors-transformation-flink-fieldhasher-2-f-1-d5e' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-flink-measurement-unit-converter-version-0-62-0-org-streampipes-processors-transformation-flink-measurement-unit-converter-956-f3f': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-flink-measurement-unit-converter-version-0-62-0-org-streampipes-processors-transformation-flink-measurement-unit-converter-956-f3f' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-flink-processor-boilerplate-version-0-62-0-org-streampipes-processors-transformation-flink-processor-boilerplate-62-f-cfc': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-flink-processor-boilerplate-version-0-62-0-org-streampipes-processors-transformation-flink-processor-boilerplate-62-f-cfc' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-jvm-changed-value-version-0-62-0-org-streampipes-processors-transformation-jvm-changed-value-265-3be': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-jvm-changed-value-version-0-62-0-org-streampipes-processors-transformation-jvm-changed-value-265-3be' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-jvm-count-array-version-0-62-0-org-streampipes-processors-transformation-jvm-count-array-25-a-1ea': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-jvm-count-array-version-0-62-0-org-streampipes-processors-transformation-jvm-count-array-25-a-1ea' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.count-array/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.count-array/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.count-array/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-jvm-duration-value-version-0-62-0-org-streampipes-processors-transformation-jvm-duration-value-6-d-6-3f8': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-jvm-duration-value-version-0-62-0-org-streampipes-processors-transformation-jvm-duration-value-6-d-6-3f8' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-jvm-processor-timestampextractor-version-0-62-0-org-streampipes-processors-transformation-jvm-processor-timestampextractor-654-0bf': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-jvm-processor-timestampextractor-version-0-62-0-org-streampipes-processors-transformation-jvm-processor-timestampextractor-654-0bf' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-jvm-split-array-version-0-62-0-org-streampipes-processors-transformation-jvm-split-array-595-442': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-jvm-split-array-version-0-62-0-org-streampipes-processors-transformation-jvm-split-array-595-442' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.split-array/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.split-array/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.split-array/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-sinks-brokers-jvm-jms-version-0-62-0-org-streampipes-sinks-brokers-jvm-jms-9-c-9-a06': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-sinks-brokers-jvm-jms-version-0-62-0-org-streampipes-sinks-brokers-jvm-jms-9-c-9-a06' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.jms/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.jms/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.jms/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-sinks-brokers-jvm-kafka-version-0-62-0-org-streampipes-sinks-brokers-jvm-kafkaa-5-a-e40': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-sinks-brokers-jvm-kafka-version-0-62-0-org-streampipes-sinks-brokers-jvm-kafkaa-5-a-e40' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-sinks-brokers-jvm-rabbitmq-version-0-62-0-org-streampipes-sinks-brokers-jvm-rabbitmqc-52-5b9': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-sinks-brokers-jvm-rabbitmq-version-0-62-0-org-streampipes-sinks-brokers-jvm-rabbitmqc-52-5b9' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-sinks-brokers-jvm-rest-version-0-62-0-org-streampipes-sinks-brokers-jvm-reste-47-dac': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-sinks-brokers-jvm-rest-version-0-62-0-org-streampipes-sinks-brokers-jvm-reste-47-dac' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.rest/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.rest/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.rest/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-sinks-databases-flink-elasticsearch-version-0-62-0-org-streampipes-sinks-databases-flink-elasticsearch-1-f-9-050': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-sinks-databases-flink-elasticsearch-version-0-62-0-org-streampipes-sinks-databases-flink-elasticsearch-1-f-9-050' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-sinks-databases-jvm-couchdb-version-0-62-0-org-streampipes-sinks-databases-jvm-couchdb-9-eb-849': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-sinks-databases-jvm-couchdb-version-0-62-0-org-streampipes-sinks-databases-jvm-couchdb-9-eb-849' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-sinks-databases-jvm-influxdb-version-0-62-0-org-streampipes-sinks-databases-jvm-influxdb-9-c-3-8a4': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-sinks-databases-jvm-influxdb-version-0-62-0-org-streampipes-sinks-databases-jvm-influxdb-9-c-3-8a4' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-sinks-databases-jvm-postgresql-version-0-62-0-org-streampipes-sinks-databases-jvm-postgresql-644-565': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-sinks-databases-jvm-postgresql-version-0-62-0-org-streampipes-sinks-databases-jvm-postgresql-644-565' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-sinks-internal-jvm-dashboard-version-0-62-0-org-streampipes-sinks-internal-jvm-dashboardbf-0-df9': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-sinks-internal-jvm-dashboard-version-0-62-0-org-streampipes-sinks-internal-jvm-dashboardbf-0-df9' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-sinks-internal-jvm-notification-version-0-62-0-org-streampipes-sinks-internal-jvm-notification-876-84f': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-sinks-internal-jvm-notification-version-0-62-0-org-streampipes-sinks-internal-jvm-notification-876-84f' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.internal.jvm.notification/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.internal.jvm.notification/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.internal.jvm.notification/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-sinks-notifications-jvm-email-version-0-62-0-org-streampipes-sinks-notifications-jvm-email-392-25d': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-sinks-notifications-jvm-email-version-0-62-0-org-streampipes-sinks-notifications-jvm-email-392-25d' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.email/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.email/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.email/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-sinks-notifications-jvm-onesignal-version-0-62-0-org-streampipes-sinks-notifications-jvm-onesignal-4-a-0-ff4': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-sinks-notifications-jvm-onesignal-version-0-62-0-org-streampipes-sinks-notifications-jvm-onesignal-4-a-0-ff4' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/documentation.md')],
-  'content---docs-0-61-0-pre-asf-org-streampipes-sinks-notifications-jvm-slack-version-0-62-0-org-streampipes-sinks-notifications-jvm-slack-6-cc-d47': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-org-streampipes-sinks-notifications-jvm-slack-version-0-62-0-org-streampipes-sinks-notifications-jvm-slack-6-cc-d47' */ '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.slack/documentation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.slack/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.slack/documentation.md')],
-  'content---docs-0-61-0-pre-asf-user-guide-first-steps-4-f-2-935': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-user-guide-first-steps-4-f-2-935' */ '@site/versioned_docs/version-0.61.0-pre-asf/user-guide-first-steps.md'), '@site/versioned_docs/version-0.61.0-pre-asf/user-guide-first-steps.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/user-guide-first-steps.md')],
-  'content---docs-0-61-0-pre-asf-user-guide-installation-26-c-4f1': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-user-guide-installation-26-c-4f1' */ '@site/versioned_docs/version-0.61.0-pre-asf/user-guide-installation.md'), '@site/versioned_docs/version-0.61.0-pre-asf/user-guide-installation.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/user-guide-installation.md')],
-  'content---docs-0-61-0-pre-asf-user-guide-processing-elements-61-f-ae2': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-user-guide-processing-elements-61-f-ae2' */ '@site/versioned_docs/version-0.61.0-pre-asf/user-guide-processing-elements.md'), '@site/versioned_docs/version-0.61.0-pre-asf/user-guide-processing-elements.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/user-guide-processing-elements.md')],
-  'content---docs-0-61-0-pre-asf-user-guide-software-components-4-ea-225': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-user-guide-software-components-4-ea-225' */ '@site/versioned_docs/version-0.61.0-pre-asf/user-guide-software-components.md'), '@site/versioned_docs/version-0.61.0-pre-asf/user-guide-software-components.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/user-guide-software-components.md')],
-  'content---docs-0-61-0-pre-asf-user-guide-tour-4-a-9-2fa': [() => import(/* webpackChunkName: 'content---docs-0-61-0-pre-asf-user-guide-tour-4-a-9-2fa' */ '@site/versioned_docs/version-0.61.0-pre-asf/user-guide-tour.md'), '@site/versioned_docs/version-0.61.0-pre-asf/user-guide-tour.md', require.resolveWeak('@site/versioned_docs/version-0.61.0-pre-asf/user-guide-tour.md')],
-  'content---docs-0-62-0-pre-asf-dev-guide-archetypef-4-d-ed9': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-dev-guide-archetypef-4-d-ed9' */ '@site/versioned_docs/version-0.62.0-pre-asf/dev-guide-archetype.md'), '@site/versioned_docs/version-0.62.0-pre-asf/dev-guide-archetype.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/dev-guide-archetype.md')],
-  'content---docs-0-62-0-pre-asf-dev-guide-configurationcec-40c': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-dev-guide-configurationcec-40c' */ '@site/versioned_docs/version-0.62.0-pre-asf/dev-guide-configuration.md'), '@site/versioned_docs/version-0.62.0-pre-asf/dev-guide-configuration.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/dev-guide-configuration.md')],
-  'content---docs-0-62-0-pre-asf-dev-guide-development-environment-447-466': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-dev-guide-development-environment-447-466' */ '@site/versioned_docs/version-0.62.0-pre-asf/dev-guide-environment.md'), '@site/versioned_docs/version-0.62.0-pre-asf/dev-guide-environment.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/dev-guide-environment.md')],
-  'content---docs-0-62-0-pre-asf-dev-guide-tutorial-processors-819-756': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-dev-guide-tutorial-processors-819-756' */ '@site/versioned_docs/version-0.62.0-pre-asf/dev-guide-tutorial-processors.md'), '@site/versioned_docs/version-0.62.0-pre-asf/dev-guide-tutorial-processors.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/dev-guide-tutorial-processors.md')],
-  'content---docs-0-62-0-pre-asf-dev-guide-tutorial-sinksa-68-ad2': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-dev-guide-tutorial-sinksa-68-ad2' */ '@site/versioned_docs/version-0.62.0-pre-asf/dev-guide-tutorial-sinks.md'), '@site/versioned_docs/version-0.62.0-pre-asf/dev-guide-tutorial-sinks.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/dev-guide-tutorial-sinks.md')],
-  'content---docs-0-62-0-pre-asf-dev-guide-tutorial-sources-5-ae-4dd': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-dev-guide-tutorial-sources-5-ae-4dd' */ '@site/versioned_docs/version-0.62.0-pre-asf/dev-guide-tutorial-sources.md'), '@site/versioned_docs/version-0.62.0-pre-asf/dev-guide-tutorial-sources.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/dev-guide-tutorial-sources.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processor-geo-flink-version-0-62-0-org-streampipes-processor-geo-flink-40-b-81c': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processor-geo-flink-version-0-62-0-org-streampipes-processor-geo-flink-40-b-81c' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processor.geo.flink/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processor.geo.flink/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processor.geo.flink/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processor-imageclassification-jvm-generic-image-classification-version-0-62-0-org-streampipes-processor-imageclassification-jvm-generic-image-classification-267-7d3': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processor-imageclassification-jvm-generic-image-classification-version-0-62-0-org-streampipes-processor-imageclassification-jvm-generic-image-classification-267-7d3' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processor-imageclassification-jvm-image-enricher-version-0-62-0-org-streampipes-processor-imageclassification-jvm-image-enricher-39-e-18b': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processor-imageclassification-jvm-image-enricher-version-0-62-0-org-streampipes-processor-imageclassification-jvm-image-enricher-39-e-18b' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processor-imageclassification-qrcode-version-0-62-0-org-streampipes-processor-imageclassification-qrcode-91-a-096': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processor-imageclassification-qrcode-version-0-62-0-org-streampipes-processor-imageclassification-qrcode-91-a-096' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processor.imageclassification.qrcode/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processor.imageclassification.qrcode/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processor.imageclassification.qrcode/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processors-aggregation-flink-aggregation-version-0-62-0-org-streampipes-processors-aggregation-flink-aggregationfb-8-402': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processors-aggregation-flink-aggregation-version-0-62-0-org-streampipes-processors-aggregation-flink-aggregationfb-8-402' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processors-aggregation-flink-rate-version-0-62-0-org-streampipes-processors-aggregation-flink-ratefa-1-ecb': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processors-aggregation-flink-rate-version-0-62-0-org-streampipes-processors-aggregation-flink-ratefa-1-ecb' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.aggregation.flink.rate/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.aggregation.flink.rate/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.aggregation.flink.rate/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processors-enricher-flink-processor-math-mathop-version-0-62-0-org-streampipes-processors-enricher-flink-processor-math-mathop-83-b-4c1': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processors-enricher-flink-processor-math-mathop-version-0-62-0-org-streampipes-processors-enricher-flink-processor-math-mathop-83-b-4c1' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processors-enricher-flink-processor-math-staticmathop-version-0-62-0-org-streampipes-processors-enricher-flink-processor-math-staticmathop-23-b-de6': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processors-enricher-flink-processor-math-staticmathop-version-0-62-0-org-streampipes-processors-enricher-flink-processor-math-staticmathop-23-b-de6' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processors-enricher-flink-processor-trigonometry-version-0-62-0-org-streampipes-processors-enricher-flink-processor-trigonometryd-95-8fa': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processors-enricher-flink-processor-trigonometry-version-0-62-0-org-streampipes-processors-enricher-flink-processor-trigonometryd-95-8fa' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processors-enricher-flink-processor-urldereferencing-version-0-62-0-org-streampipes-processors-enricher-flink-processor-urldereferencing-841-8c5': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processors-enricher-flink-processor-urldereferencing-version-0-62-0-org-streampipes-processors-enricher-flink-processor-urldereferencing-841-8c5' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processors-enricher-flink-timestamp-version-0-62-0-org-streampipes-processors-enricher-flink-timestamp-4-c-4-5a9': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processors-enricher-flink-timestamp-version-0-62-0-org-streampipes-processors-enricher-flink-timestamp-4-c-4-5a9' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.timestamp/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.timestamp/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.timestamp/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processors-filters-jvm-compose-version-0-62-0-org-streampipes-processors-filters-jvm-compose-8-d-8-092': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processors-filters-jvm-compose-version-0-62-0-org-streampipes-processors-filters-jvm-compose-8-d-8-092' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.filters.jvm.compose/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.filters.jvm.compose/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.filters.jvm.compose/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processors-filters-jvm-numericalfilter-version-0-62-0-org-streampipes-processors-filters-jvm-numericalfilter-7-be-da5': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processors-filters-jvm-numericalfilter-version-0-62-0-org-streampipes-processors-filters-jvm-numericalfilter-7-be-da5' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processors-filters-jvm-project-version-0-62-0-org-streampipes-processors-filters-jvm-projectfb-1-1e7': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processors-filters-jvm-project-version-0-62-0-org-streampipes-processors-filters-jvm-projectfb-1-1e7' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.filters.jvm.project/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.filters.jvm.project/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.filters.jvm.project/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processors-filters-jvm-textfilter-version-0-62-0-org-streampipes-processors-filters-jvm-textfilter-1-fc-b33': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processors-filters-jvm-textfilter-version-0-62-0-org-streampipes-processors-filters-jvm-textfilter-1-fc-b33' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.filters.jvm.textfilter/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.filters.jvm.textfilter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.filters.jvm.textfilter/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processors-pattern-detection-flink-peak-detection-version-0-62-0-org-streampipes-processors-pattern-detection-flink-peak-detection-747-d07': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processors-pattern-detection-flink-peak-detection-version-0-62-0-org-streampipes-processors-pattern-detection-flink-peak-detection-747-d07' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processors-siddhi-frequency-version-0-62-0-org-streampipes-processors-siddhi-frequencyd-54-1f0': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processors-siddhi-frequency-version-0-62-0-org-streampipes-processors-siddhi-frequencyd-54-1f0' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.frequency/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.frequency/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.frequency/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processors-siddhi-frequencychange-version-0-62-0-org-streampipes-processors-siddhi-frequencychange-18-f-680': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processors-siddhi-frequencychange-version-0-62-0-org-streampipes-processors-siddhi-frequencychange-18-f-680' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.frequencychange/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.frequencychange/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.frequencychange/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processors-siddhi-increase-version-0-62-0-org-streampipes-processors-siddhi-increase-8-aa-96a': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processors-siddhi-increase-version-0-62-0-org-streampipes-processors-siddhi-increase-8-aa-96a' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.increase/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.increase/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.increase/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processors-siddhi-numericalfilter-version-0-62-0-org-streampipes-processors-siddhi-numericalfilter-844-4fc': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processors-siddhi-numericalfilter-version-0-62-0-org-streampipes-processors-siddhi-numericalfilter-844-4fc' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.numericalfilter/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.numericalfilter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.numericalfilter/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processors-siddhi-sequence-version-0-62-0-org-streampipes-processors-siddhi-sequenceb-1-b-e02': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processors-siddhi-sequence-version-0-62-0-org-streampipes-processors-siddhi-sequenceb-1-b-e02' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.sequence/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.sequence/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.sequence/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processors-siddhi-stop-version-0-62-0-org-streampipes-processors-siddhi-stopb-09-4e4': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processors-siddhi-stop-version-0-62-0-org-streampipes-processors-siddhi-stopb-09-4e4' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.stop/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.stop/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.stop/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processors-textmining-flink-languagedetection-version-0-62-0-org-streampipes-processors-textmining-flink-languagedetection-77-c-fac': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processors-textmining-flink-languagedetection-version-0-62-0-org-streampipes-processors-textmining-flink-languagedetection-77-c-fac' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processors-textmining-flink-wordcount-version-0-62-0-org-streampipes-processors-textmining-flink-wordcount-501-9a3': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processors-textmining-flink-wordcount-version-0-62-0-org-streampipes-processors-textmining-flink-wordcount-501-9a3' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.textmining.flink.wordcount/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.textmining.flink.wordcount/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.textmining.flink.wordcount/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-flink-field-converter-version-0-62-0-org-streampipes-processors-transformation-flink-field-converter-7-ac-b19': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-flink-field-converter-version-0-62-0-org-streampipes-processors-transformation-flink-field-converter-7-ac-b19' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-converter/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-converter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-converter/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-flink-field-mapper-version-0-62-0-org-streampipes-processors-transformation-flink-field-mapperc-4-c-396': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-flink-field-mapper-version-0-62-0-org-streampipes-processors-transformation-flink-field-mapperc-4-c-396' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-flink-field-renamer-version-0-62-0-org-streampipes-processors-transformation-flink-field-renamer-0-a-5-a61': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-flink-field-renamer-version-0-62-0-org-streampipes-processors-transformation-flink-field-renamer-0-a-5-a61' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-flink-fieldhasher-version-0-62-0-org-streampipes-processors-transformation-flink-fieldhasher-672-e3d': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-flink-fieldhasher-version-0-62-0-org-streampipes-processors-transformation-flink-fieldhasher-672-e3d' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-flink-measurement-unit-converter-version-0-62-0-org-streampipes-processors-transformation-flink-measurement-unit-converter-655-4eb': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-flink-measurement-unit-converter-version-0-62-0-org-streampipes-processors-transformation-flink-measurement-unit-converter-655-4eb' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-flink-processor-boilerplate-version-0-62-0-org-streampipes-processors-transformation-flink-processor-boilerplatea-6-e-b10': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-flink-processor-boilerplate-version-0-62-0-org-streampipes-processors-transformation-flink-processor-boilerplatea-6-e-b10' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-jvm-changed-value-version-0-62-0-org-streampipes-processors-transformation-jvm-changed-value-927-dbc': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-jvm-changed-value-version-0-62-0-org-streampipes-processors-transformation-jvm-changed-value-927-dbc' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-jvm-count-array-version-0-62-0-org-streampipes-processors-transformation-jvm-count-arrayc-18-435': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-jvm-count-array-version-0-62-0-org-streampipes-processors-transformation-jvm-count-arrayc-18-435' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.count-array/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.count-array/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.count-array/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-jvm-duration-value-version-0-62-0-org-streampipes-processors-transformation-jvm-duration-value-8-a-8-3bd': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-jvm-duration-value-version-0-62-0-org-streampipes-processors-transformation-jvm-duration-value-8-a-8-3bd' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-jvm-processor-timestampextractor-version-0-62-0-org-streampipes-processors-transformation-jvm-processor-timestampextractorb-99-612': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-jvm-processor-timestampextractor-version-0-62-0-org-streampipes-processors-transformation-jvm-processor-timestampextractorb-99-612' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-jvm-split-array-version-0-62-0-org-streampipes-processors-transformation-jvm-split-array-939-50d': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-jvm-split-array-version-0-62-0-org-streampipes-processors-transformation-jvm-split-array-939-50d' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.split-array/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.split-array/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.split-array/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-sinks-brokers-jvm-jms-version-0-62-0-org-streampipes-sinks-brokers-jvm-jmse-6-d-83e': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-sinks-brokers-jvm-jms-version-0-62-0-org-streampipes-sinks-brokers-jvm-jmse-6-d-83e' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.jms/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.jms/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.jms/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-sinks-brokers-jvm-kafka-version-0-62-0-org-streampipes-sinks-brokers-jvm-kafkaaa-9-8a1': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-sinks-brokers-jvm-kafka-version-0-62-0-org-streampipes-sinks-brokers-jvm-kafkaaa-9-8a1' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-sinks-brokers-jvm-rabbitmq-version-0-62-0-org-streampipes-sinks-brokers-jvm-rabbitmq-06-c-b47': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-sinks-brokers-jvm-rabbitmq-version-0-62-0-org-streampipes-sinks-brokers-jvm-rabbitmq-06-c-b47' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-sinks-brokers-jvm-rest-version-0-62-0-org-streampipes-sinks-brokers-jvm-rest-958-6f7': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-sinks-brokers-jvm-rest-version-0-62-0-org-streampipes-sinks-brokers-jvm-rest-958-6f7' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.rest/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.rest/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.rest/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-sinks-databases-flink-elasticsearch-version-0-62-0-org-streampipes-sinks-databases-flink-elasticsearchc-4-b-1a0': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-sinks-databases-flink-elasticsearch-version-0-62-0-org-streampipes-sinks-databases-flink-elasticsearchc-4-b-1a0' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-sinks-databases-jvm-couchdb-version-0-62-0-org-streampipes-sinks-databases-jvm-couchdb-762-f2e': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-sinks-databases-jvm-couchdb-version-0-62-0-org-streampipes-sinks-databases-jvm-couchdb-762-f2e' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-sinks-databases-jvm-influxdb-version-0-62-0-org-streampipes-sinks-databases-jvm-influxdb-4-bf-15c': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-sinks-databases-jvm-influxdb-version-0-62-0-org-streampipes-sinks-databases-jvm-influxdb-4-bf-15c' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-sinks-databases-jvm-postgresql-version-0-62-0-org-streampipes-sinks-databases-jvm-postgresql-584-e39': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-sinks-databases-jvm-postgresql-version-0-62-0-org-streampipes-sinks-databases-jvm-postgresql-584-e39' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-sinks-internal-jvm-dashboard-version-0-62-0-org-streampipes-sinks-internal-jvm-dashboard-3-b-9-cb4': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-sinks-internal-jvm-dashboard-version-0-62-0-org-streampipes-sinks-internal-jvm-dashboard-3-b-9-cb4' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-sinks-internal-jvm-notification-version-0-62-0-org-streampipes-sinks-internal-jvm-notification-04-d-709': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-sinks-internal-jvm-notification-version-0-62-0-org-streampipes-sinks-internal-jvm-notification-04-d-709' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.internal.jvm.notification/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.internal.jvm.notification/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.internal.jvm.notification/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-sinks-notifications-jvm-email-version-0-62-0-org-streampipes-sinks-notifications-jvm-email-833-801': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-sinks-notifications-jvm-email-version-0-62-0-org-streampipes-sinks-notifications-jvm-email-833-801' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.email/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.email/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.email/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-sinks-notifications-jvm-onesignal-version-0-62-0-org-streampipes-sinks-notifications-jvm-onesignalec-5-854': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-sinks-notifications-jvm-onesignal-version-0-62-0-org-streampipes-sinks-notifications-jvm-onesignalec-5-854' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/documentation.md')],
-  'content---docs-0-62-0-pre-asf-org-streampipes-sinks-notifications-jvm-slack-version-0-62-0-org-streampipes-sinks-notifications-jvm-slack-96-e-9c6': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-org-streampipes-sinks-notifications-jvm-slack-version-0-62-0-org-streampipes-sinks-notifications-jvm-slack-96-e-9c6' */ '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.slack/documentation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.slack/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.slack/documentation.md')],
-  'content---docs-0-62-0-pre-asf-user-guide-first-stepsa-73-39e': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-user-guide-first-stepsa-73-39e' */ '@site/versioned_docs/version-0.62.0-pre-asf/user-guide-first-steps.md'), '@site/versioned_docs/version-0.62.0-pre-asf/user-guide-first-steps.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/user-guide-first-steps.md')],
-  'content---docs-0-62-0-pre-asf-user-guide-installation-111-5e3': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-user-guide-installation-111-5e3' */ '@site/versioned_docs/version-0.62.0-pre-asf/user-guide-installation.md'), '@site/versioned_docs/version-0.62.0-pre-asf/user-guide-installation.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/user-guide-installation.md')],
-  'content---docs-0-62-0-pre-asf-user-guide-tour-31-f-c80': [() => import(/* webpackChunkName: 'content---docs-0-62-0-pre-asf-user-guide-tour-31-f-c80' */ '@site/versioned_docs/version-0.62.0-pre-asf/user-guide-tour.md'), '@site/versioned_docs/version-0.62.0-pre-asf/user-guide-tour.md', require.resolveWeak('@site/versioned_docs/version-0.62.0-pre-asf/user-guide-tour.md')],
-  'content---docs-0-63-0-pre-asf-dev-guide-archetype-8-e-5-115': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-dev-guide-archetype-8-e-5-115' */ '@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-archetype.md'), '@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-archetype.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-archetype.md')],
-  'content---docs-0-63-0-pre-asf-dev-guide-configuration-8-c-7-b67': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-dev-guide-configuration-8-c-7-b67' */ '@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-configuration.md'), '@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-configuration.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-configuration.md')],
-  'content---docs-0-63-0-pre-asf-dev-guide-development-environment-2-f-9-349': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-dev-guide-development-environment-2-f-9-349' */ '@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-environment.md'), '@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-environment.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-environment.md')],
-  'content---docs-0-63-0-pre-asf-dev-guide-output-strategiese-16-90b': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-dev-guide-output-strategiese-16-90b' */ '@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-output-strategies.md'), '@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-output-strategies.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-output-strategies.md')],
-  'content---docs-0-63-0-pre-asf-dev-guide-static-properties-11-d-a77': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-dev-guide-static-properties-11-d-a77' */ '@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-static-properties.md'), '@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-static-properties.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-static-properties.md')],
-  'content---docs-0-63-0-pre-asf-dev-guide-stream-requirementsb-63-618': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-dev-guide-stream-requirementsb-63-618' */ '@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-stream-requirements.md'), '@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-stream-requirements.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-stream-requirements.md')],
-  'content---docs-0-63-0-pre-asf-dev-guide-tutorial-processorsc-4-c-3be': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-dev-guide-tutorial-processorsc-4-c-3be' */ '@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-tutorial-processors.md'), '@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-tutorial-processors.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-tutorial-processors.md')],
-  'content---docs-0-63-0-pre-asf-dev-guide-tutorial-sinksd-04-063': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-dev-guide-tutorial-sinksd-04-063' */ '@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-tutorial-sinks.md'), '@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-tutorial-sinks.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-tutorial-sinks.md')],
-  'content---docs-0-63-0-pre-asf-dev-guide-tutorial-sources-2-b-0-f6f': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-dev-guide-tutorial-sources-2-b-0-f6f' */ '@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-tutorial-sources.md'), '@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-tutorial-sources.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/dev-guide-tutorial-sources.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processor-geo-flink-org-apache-streampipes-processor-geo-flinke-61-902': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processor-geo-flink-org-apache-streampipes-processor-geo-flinke-61-902' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.geo.flink/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.geo.flink/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.geo.flink/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processor-geo-jvm-geocoding-org-apache-streampipes-processor-geo-jvm-geocoding-6-b-1-c6e': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processor-geo-jvm-geocoding-org-apache-streampipes-processor-geo-jvm-geocoding-6-b-1-c6e' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processor-geo-jvm-reversegeocoding-org-apache-streampipes-processor-geo-jvm-reversegeocoding-35-f-368': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processor-geo-jvm-reversegeocoding-org-apache-streampipes-processor-geo-jvm-reversegeocoding-35-f-368' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processor-geo-jvm-staticgeocoding-org-apache-streampipes-processor-geo-jvm-staticgeocoding-19-f-4b9': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processor-geo-jvm-staticgeocoding-org-apache-streampipes-processor-geo-jvm-staticgeocoding-19-f-4b9' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-632-84a': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-632-84a' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processor-imageclassification-jvm-image-enricher-org-apache-streampipes-processor-imageclassification-jvm-image-enricher-4-f-0-07b': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processor-imageclassification-jvm-image-enricher-org-apache-streampipes-processor-imageclassification-jvm-image-enricher-4-f-0-07b' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processor-imageclassification-qrcode-org-apache-streampipes-processor-imageclassification-qrcodeb-90-69b': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processor-imageclassification-qrcode-org-apache-streampipes-processor-imageclassification-qrcodeb-90-69b' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-aggregation-flink-aggregation-org-apache-streampipes-processors-aggregation-flink-aggregationc-84-638': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-aggregation-flink-aggregation-org-apache-streampipes-processors-aggregation-flink-aggregationc-84-638' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-aggregation-flink-eventcount-org-apache-streampipes-processors-aggregation-flink-eventcount-480-f97': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-aggregation-flink-eventcount-org-apache-streampipes-processors-aggregation-flink-eventcount-480-f97' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-aggregation-flink-rate-org-apache-streampipes-processors-aggregation-flink-ratebf-1-908': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-aggregation-flink-rate-org-apache-streampipes-processors-aggregation-flink-ratebf-1-908' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-org-apache-streampipes-processors-enricher-flink-processor-math-mathopfc-6-7d5': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-org-apache-streampipes-processors-enricher-flink-processor-math-mathopfc-6-7d5' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathop-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathope-36-8f1': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathop-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathope-36-8f1' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-trigonometry-org-apache-streampipes-processors-enricher-flink-processor-trigonometryb-27-f4f': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-trigonometry-org-apache-streampipes-processors-enricher-flink-processor-trigonometryb-27-f4f' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-urldereferencing-org-apache-streampipes-processors-enricher-flink-processor-urldereferencing-007-1ec': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-urldereferencing-org-apache-streampipes-processors-enricher-flink-processor-urldereferencing-007-1ec' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-enricher-flink-timestamp-org-apache-streampipes-processors-enricher-flink-timestamp-32-b-c2c': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-enricher-flink-timestamp-org-apache-streampipes-processors-enricher-flink-timestamp-32-b-c2c' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-enricher-jvm-sizemeasure-org-apache-streampipes-processors-enricher-jvm-sizemeasure-63-c-e6c': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-enricher-jvm-sizemeasure-org-apache-streampipes-processors-enricher-jvm-sizemeasure-63-c-e6c' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-filters-jvm-compose-org-apache-streampipes-processors-filters-jvm-compose-4-f-2-dfe': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-filters-jvm-compose-org-apache-streampipes-processors-filters-jvm-compose-4-f-2-dfe' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-filters-jvm-enrich-org-apache-streampipes-processors-filters-jvm-enrichb-53-608': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-filters-jvm-enrich-org-apache-streampipes-processors-filters-jvm-enrichb-53-608' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-filters-jvm-merge-org-apache-streampipes-processors-filters-jvm-merged-8-d-483': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-filters-jvm-merge-org-apache-streampipes-processors-filters-jvm-merged-8-d-483' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-filters-jvm-numericalfilter-org-apache-streampipes-processors-filters-jvm-numericalfilterfb-6-399': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-filters-jvm-numericalfilter-org-apache-streampipes-processors-filters-jvm-numericalfilterfb-6-399' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-filters-jvm-numericaltextfilter-org-apache-streampipes-processors-filters-jvm-numericaltextfilterf-4-c-616': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-filters-jvm-numericaltextfilter-org-apache-streampipes-processors-filters-jvm-numericaltextfilterf-4-c-616' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-filters-jvm-project-org-apache-streampipes-processors-filters-jvm-project-8-fb-a2d': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-filters-jvm-project-org-apache-streampipes-processors-filters-jvm-project-8-fb-a2d' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-filters-jvm-textfilter-org-apache-streampipes-processors-filters-jvm-textfilterc-2-c-a90': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-filters-jvm-textfilter-org-apache-streampipes-processors-filters-jvm-textfilterc-2-c-a90' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-filters-jvm-threshold-org-apache-streampipes-processors-filters-jvm-thresholdf-5-f-a5f': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-filters-jvm-threshold-org-apache-streampipes-processors-filters-jvm-thresholdf-5-f-a5f' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-349-982': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-349-982' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-org-apache-streampipes-processors-pattern-detection-flink-peak-detectionaf-2-5e2': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-org-apache-streampipes-processors-pattern-detection-flink-peak-detectionaf-2-5e2' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-siddhi-frequency-org-apache-streampipes-processors-siddhi-frequency-355-ee3': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-siddhi-frequency-org-apache-streampipes-processors-siddhi-frequency-355-ee3' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-siddhi-frequencychange-org-apache-streampipes-processors-siddhi-frequencychange-87-f-a22': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-siddhi-frequencychange-org-apache-streampipes-processors-siddhi-frequencychange-87-f-a22' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-siddhi-increase-org-apache-streampipes-processors-siddhi-increase-27-c-ea9': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-siddhi-increase-org-apache-streampipes-processors-siddhi-increase-27-c-ea9' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-siddhi-numericalfilter-org-apache-streampipes-processors-siddhi-numericalfilterc-4-f-799': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-siddhi-numericalfilter-org-apache-streampipes-processors-siddhi-numericalfilterc-4-f-799' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-siddhi-sequence-org-apache-streampipes-processors-siddhi-sequencea-41-337': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-siddhi-sequence-org-apache-streampipes-processors-siddhi-sequencea-41-337' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-siddhi-stop-org-apache-streampipes-processors-siddhi-stopadf-ab2': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-siddhi-stop-org-apache-streampipes-processors-siddhi-stopadf-ab2' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-textmining-flink-languagedetection-org-apache-streampipes-processors-textmining-flink-languagedetection-684-3e4': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-textmining-flink-languagedetection-org-apache-streampipes-processors-textmining-flink-languagedetection-684-3e4' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-textmining-flink-wordcount-org-apache-streampipes-processors-textmining-flink-wordcountcbe-1bd': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-textmining-flink-wordcount-org-apache-streampipes-processors-textmining-flink-wordcountcbe-1bd' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-chunker-org-apache-streampipes-processors-textmining-jvm-chunkerd-42-2e1': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-chunker-org-apache-streampipes-processors-textmining-jvm-chunkerd-42-2e1' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-languagedetection-org-apache-streampipes-processors-textmining-jvm-languagedetectioned-5-f68': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-languagedetection-org-apache-streampipes-processors-textmining-jvm-languagedetectioned-5-f68' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-namefinder-org-apache-streampipes-processors-textmining-jvm-namefinder-33-e-37f': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-namefinder-org-apache-streampipes-processors-textmining-jvm-namefinder-33-e-37f' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-partofspeech-org-apache-streampipes-processors-textmining-jvm-partofspeechb-4-b-112': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-partofspeech-org-apache-streampipes-processors-textmining-jvm-partofspeechb-4-b-112' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-sentencedetection-org-apache-streampipes-processors-textmining-jvm-sentencedetectioncd-2-4ff': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-sentencedetection-org-apache-streampipes-processors-textmining-jvm-sentencedetectioncd-2-4ff' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-tokenizer-org-apache-streampipes-processors-textmining-jvm-tokenizer-3-e-8-3ce': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-tokenizer-org-apache-streampipes-processors-textmining-jvm-tokenizer-3-e-8-3ce' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-flink-field-converter-org-apache-streampipes-processors-transformation-flink-field-converterade-4fb': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-flink-field-converter-org-apache-streampipes-processors-transformation-flink-field-converterade-4fb' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-flink-field-mapper-org-apache-streampipes-processors-transformation-flink-field-mapper-1-b-6-2b5': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-flink-field-mapper-org-apache-streampipes-processors-transformation-flink-field-mapper-1-b-6-2b5' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-flink-field-renamer-org-apache-streampipes-processors-transformation-flink-field-renamer-053-0c6': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-flink-field-renamer-org-apache-streampipes-processors-transformation-flink-field-renamer-053-0c6' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-flink-fieldhasher-org-apache-streampipes-processors-transformation-flink-fieldhasher-64-c-d7f': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-flink-fieldhasher-org-apache-streampipes-processors-transformation-flink-fieldhasher-64-c-d7f' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-org-apache-streampipes-processors-transformation-flink-measurement-unit-converterb-85-4df': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-org-apache-streampipes-processors-transformation-flink-measurement-unit-converterb-85-4df' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-flink-processor-boilerplate-org-apache-streampipes-processors-transformation-flink-processor-boilerplate-887-655': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-flink-processor-boilerplate-org-apache-streampipes-processors-transformation-flink-processor-boilerplate-887-655' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-97-e-3f8': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-97-e-3f8' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-inverter-org-apache-streampipes-processors-transformation-jvm-booloperator-inverter-04-d-8b9': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-inverter-org-apache-streampipes-processors-transformation-jvm-booloperator-inverter-04-d-8b9' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeeping-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeeping-7-df-017': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeeping-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeeping-7-df-017' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-timer-org-apache-streampipes-processors-transformation-jvm-booloperator-timerbeb-aa9': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-timer-org-apache-streampipes-processors-transformation-jvm-booloperator-timerbeb-aa9' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-changed-value-org-apache-streampipes-processors-transformation-jvm-changed-value-0-ae-9d7': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-changed-value-org-apache-streampipes-processors-transformation-jvm-changed-value-0-ae-9d7' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-count-array-org-apache-streampipes-processors-transformation-jvm-count-array-717-67e': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-count-array-org-apache-streampipes-processors-transformation-jvm-count-array-717-67e' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-csvmetadata-org-apache-streampipes-processors-transformation-jvm-csvmetadatadb-8-e1d': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-csvmetadata-org-apache-streampipes-processors-transformation-jvm-csvmetadatadb-8-e1d' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-duration-value-org-apache-streampipes-processors-transformation-jvm-duration-valuec-5-a-b29': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-duration-value-org-apache-streampipes-processors-transformation-jvm-duration-valuec-5-a-b29' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractor-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractord-4-d-aec': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractor-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractord-4-d-aec' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-split-array-org-apache-streampipes-processors-transformation-jvm-split-arraya-68-0a5': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-split-array-org-apache-streampipes-processors-transformation-jvm-split-arraya-68-0a5' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-taskduration-org-apache-streampipes-processors-transformation-jvm-taskduration-7-cf-20d': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-taskduration-org-apache-streampipes-processors-transformation-jvm-taskduration-7-cf-20d' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-transform-to-boolean-org-apache-streampipes-processors-transformation-jvm-transform-to-boolean-35-a-cd7': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-transform-to-boolean-org-apache-streampipes-processors-transformation-jvm-transform-to-boolean-35-a-cd7' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-bufferrest-org-apache-streampipes-sinks-brokers-jvm-bufferrest-1-b-3-230': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-bufferrest-org-apache-streampipes-sinks-brokers-jvm-bufferrest-1-b-3-230' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-jms-org-apache-streampipes-sinks-brokers-jvm-jms-49-b-a8c': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-jms-org-apache-streampipes-sinks-brokers-jvm-jms-49-b-a8c' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-kafka-org-apache-streampipes-sinks-brokers-jvm-kafka-637-fec': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-kafka-org-apache-streampipes-sinks-brokers-jvm-kafka-637-fec' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-pulsar-org-apache-streampipes-sinks-brokers-jvm-pulsar-12-e-d1d': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-pulsar-org-apache-streampipes-sinks-brokers-jvm-pulsar-12-e-d1d' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-org-apache-streampipes-sinks-brokers-jvm-rabbitmqfd-2-309': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-org-apache-streampipes-sinks-brokers-jvm-rabbitmqfd-2-309' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-rest-org-apache-streampipes-sinks-brokers-jvm-rest-5-e-2-d26': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-rest-org-apache-streampipes-sinks-brokers-jvm-rest-5-e-2-d26' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-databases-ditto-org-apache-streampipes-sinks-databases-dittod-4-d-7e4': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-databases-ditto-org-apache-streampipes-sinks-databases-dittod-4-d-7e4' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-databases-flink-elasticsearch-org-apache-streampipes-sinks-databases-flink-elasticsearch-061-ea6': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-databases-flink-elasticsearch-org-apache-streampipes-sinks-databases-flink-elasticsearch-061-ea6' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-couchdb-org-apache-streampipes-sinks-databases-jvm-couchdb-3-c-2-2a9': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-couchdb-org-apache-streampipes-sinks-databases-jvm-couchdb-3-c-2-2a9' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-influxdb-org-apache-streampipes-sinks-databases-jvm-influxdbb-39-2ec': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-influxdb-org-apache-streampipes-sinks-databases-jvm-influxdbb-39-2ec' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-iotdb-org-apache-streampipes-sinks-databases-jvm-iotdbbbb-620': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-iotdb-org-apache-streampipes-sinks-databases-jvm-iotdbbbb-620' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-opcua-org-apache-streampipes-sinks-databases-jvm-opcuad-41-77a': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-opcua-org-apache-streampipes-sinks-databases-jvm-opcuad-41-77a' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-postgresql-org-apache-streampipes-sinks-databases-jvm-postgresql-8-e-2-65b': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-postgresql-org-apache-streampipes-sinks-databases-jvm-postgresql-8-e-2-65b' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-internal-jvm-dashboard-org-apache-streampipes-sinks-internal-jvm-dashboard-3-be-e47': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-internal-jvm-dashboard-org-apache-streampipes-sinks-internal-jvm-dashboard-3-be-e47' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-internal-jvm-datalake-org-apache-streampipes-sinks-internal-jvm-datalakee-02-dc0': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-internal-jvm-datalake-org-apache-streampipes-sinks-internal-jvm-datalakee-02-dc0' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-internal-jvm-notification-org-apache-streampipes-sinks-internal-jvm-notification-607-57d': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-internal-jvm-notification-org-apache-streampipes-sinks-internal-jvm-notification-607-57d' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-notifications-jvm-email-org-apache-streampipes-sinks-notifications-jvm-emaila-3-b-c72': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-notifications-jvm-email-org-apache-streampipes-sinks-notifications-jvm-emaila-3-b-c72' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-notifications-jvm-onesignal-org-apache-streampipes-sinks-notifications-jvm-onesignala-41-837': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-notifications-jvm-onesignal-org-apache-streampipes-sinks-notifications-jvm-onesignala-41-837' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/documentation.md')],
-  'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-notifications-jvm-slack-org-apache-streampipes-sinks-notifications-jvm-slack-35-c-549': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-notifications-jvm-slack-org-apache-streampipes-sinks-notifications-jvm-slack-35-c-549' */ '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/documentation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/documentation.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-coindeskff-2-759': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-coindeskff-2-759' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-gdelt-28-b-e6e': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-gdelt-28-b-e6e' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-iex-news-72-f-524': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-iex-news-72-f-524' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-iex-stocksf-48-fdb': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-iex-stocksf-48-fdb' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-image-set-447-e0d': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-image-set-447-e0d' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-image-stream-5-cd-dc7': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-image-stream-5-cd-dc7' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-influxdb-sete-10-4f5': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-influxdb-sete-10-4f5' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-influxdb-stream-9-f-3-bd9': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-influxdb-stream-9-f-3-bd9' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-isscec-3a6': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-isscec-3a6' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-mysql-set-69-d-2fe': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-mysql-set-69-d-2fe' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-mysql-stream-9-e-4-e4a': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-mysql-stream-9-e-4-e4a' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-netio-mqtt-844-c0e': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-netio-mqtt-844-c0e' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-netio-rest-10-d-1eb': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-netio-rest-10-d-1eb' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-nswaustralia-trafficcamerae-08-906': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-nswaustralia-trafficcamerae-08-906' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-opcuaed-6-bc5': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-opcuaed-6-bc5' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-plc-4-x-s-7422-987': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-plc-4-x-s-7422-987' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-ros-7-e-1-13a': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-ros-7-e-1-13a' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-simulator-randomdataset-942-ba9': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-simulator-randomdataset-942-ba9' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-simulator-randomdatastream-9-f-4-4eb': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-simulator-randomdatastream-9-f-4-4eb' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-slack-984-f73': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-slack-984-f73' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-tia-70-2d0': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-tia-70-2d0' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-wikipedia-edit-93-f-efb': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-wikipedia-edit-93-f-efb' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-wikipedia-new-150-2d7': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-wikipedia-new-150-2d7' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-file-55-b-8e5': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-file-55-b-8e5' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-httpd-39-dad': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-httpd-39-dad' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-kafka-544-ea6': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-kafka-544-ea6' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-mqttd-45-ed6': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-mqttd-45-ed6' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-pulsare-89-868': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-pulsare-89-868' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processor-geo-flink-657-855': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processor-geo-flink-657-855' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processor-geo-jvm-geocoding-3-d-5-d7f': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processor-geo-jvm-geocoding-3-d-5-d7f' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processor-geo-jvm-reversegeocoding-350-7e3': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processor-geo-jvm-reversegeocoding-350-7e3' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processor-geo-jvm-staticgeocoding-519-5a5': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processor-geo-jvm-staticgeocoding-519-5a5' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-07-a-29f': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-07-a-29f' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-jvm-image-cropper-217-2ef': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-jvm-image-cropper-217-2ef' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-jvm-image-enrichera-0-f-e82': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-jvm-image-enrichera-0-f-e82' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-qrcode-8-c-2-64b': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-qrcode-8-c-2-64b' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-aggregation-7-a-3-363': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-aggregation-7-a-3-363' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-countdfb-3b3': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-countdfb-3b3' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-eventcount-8-fb-8f9': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-eventcount-8-fb-8f9' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-rate-390-8b0': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-rate-390-8b0' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-math-mathopdd-8-8cb': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-math-mathopdd-8-8cb' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathop-463-b80': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathop-463-b80' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-trigonometry-65-a-510': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-trigonometry-65-a-510' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-urldereferencingf-80-d46': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-urldereferencingf-80-d46' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-timestamp-024-40d': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-timestamp-024-40d' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-enricher-jvm-sizemeasurea-16-407': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-enricher-jvm-sizemeasurea-16-407' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-compose-519-441': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-compose-519-441' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-enrich-40-d-a2d': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-enrich-40-d-a2d' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-mergebf-7-1fa': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-mergebf-7-1fa' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-numericalfilter-7-bf-01f': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-numericalfilter-7-bf-01f' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-numericaltextfilterad-4-faf': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-numericaltextfilterad-4-faf' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-projectcc-4-564': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-projectcc-4-564' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-textfilter-222-aab': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-textfilter-222-aab' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-thresholdec-2-5b8': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-thresholdec-2-5b8' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-lat-lng-to-geo-5-e-6-e60': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-lat-lng-to-geo-5-e-6-e60' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-set-epsg-20-b-a0b': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-set-epsg-20-b-a0b' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-trajectory-0-bb-d2b': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-trajectory-0-bb-d2b' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-processor-distancecalculatorf-2-c-876': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-processor-distancecalculatorf-2-c-876' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-processor-speedc-48-861': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-processor-speedc-48-861' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-processor-staticdistancecalculator-46-e-506': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-processor-staticdistancecalculator-46-e-506' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-absence-8-b-7-1a2': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-absence-8-b-7-1a2' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-andde-8-b23': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-andde-8-b23' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-15-d-64d': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-15-d-64d' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-sequence-1-b-2-38c': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-sequence-1-b-2-38c' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-frequencychangee-96-eb4': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-frequencychangee-96-eb4' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-frequencyddd-98b': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-frequencyddd-98b' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-increase-296-903': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-increase-296-903' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-numericalfilter-0-f-0-506': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-numericalfilter-0-f-0-506' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-sequenceebd-5bf': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-sequenceebd-5bf' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-stop-7-e-3-330': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-stop-7-e-3-330' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-statistics-flink-statistics-summary-3-dd-c27': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-statistics-flink-statistics-summary-3-dd-c27' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-textmining-flink-languagedetection-2-c-6-54a': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-textmining-flink-languagedetection-2-c-6-54a' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-textmining-flink-wordcounta-7-f-712': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-textmining-flink-wordcounta-7-f-712' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-chunker-829-57a': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-chunker-829-57a' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-languagedetectionc-5-c-b9c': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-languagedetectionc-5-c-b9c' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-namefinderc-22-660': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-namefinderc-22-660' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-partofspeech-1-e-0-331': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-partofspeech-1-e-0-331' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-sentencedetectionb-6-c-4b9': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-sentencedetectionb-6-c-4b9' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-tokenizer-1-c-5-77c': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-tokenizer-1-c-5-77c' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-field-converter-526-d82': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-field-converter-526-d82' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-field-mapperd-15-3d7': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-field-mapperd-15-3d7' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-field-renamer-463-639': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-field-renamer-463-639' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-fieldhasher-1-a-7-59c': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-fieldhasher-1-a-7-59c' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-1-d-7-6b1': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-1-d-7-6b1' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-processor-boilerplate-7-f-6-789': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-processor-boilerplate-7-f-6-789' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-5-c-4-b9d': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-5-c-4-b9d' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-invertera-9-f-d49': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-invertera-9-f-d49' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeepingf-2-e-045': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeepingf-2-e-045' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timer-956-506': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timer-956-506' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-changed-value-1-e-7-ea7': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-changed-value-1-e-7-ea7' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-count-arrayeb-3-e3a': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-count-arrayeb-3-e3a' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-csvmetadata-8-ef-e47': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-csvmetadata-8-ef-e47' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-duration-value-587-3ab': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-duration-value-587-3ab' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractor-82-e-cce': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractor-82-e-cce' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-split-array-3-f-7-bb2': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-split-array-3-f-7-bb2' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-counter-1-d-2-813': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-counter-1-d-2-813' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-timer-876-0e2': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-timer-876-0e2' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-taskduration-77-a-09f': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-taskduration-77-a-09f' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-transform-to-boolean-570-7b0': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-transform-to-boolean-570-7b0' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-protocol-set-file-75-b-c25': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-protocol-set-file-75-b-c25' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.protocol.set.file.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.protocol.set.file.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.protocol.set.file.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-protocol-set-http-2-ae-e4d': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-protocol-set-http-2-ae-e4d' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.protocol.set.http.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.protocol.set.http.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.protocol.set.http.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-bufferrest-1-ff-fd6': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-bufferrest-1-ff-fd6' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-jms-442-969': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-jms-442-969' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-kafka-705-9b0': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-kafka-705-9b0' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-mqtt-116-caa': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-mqtt-116-caa' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-pulsarf-1-e-e5c': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-pulsarf-1-e-e5c' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-624-d46': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-624-d46' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-rest-8-cd-6df': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-rest-8-cd-6df' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-databases-ditto-95-f-333': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-databases-ditto-95-f-333' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-databases-flink-elasticsearch-873-1e6': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-databases-flink-elasticsearch-873-1e6' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-couchdba-06-a3e': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-couchdba-06-a3e' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-influxdb-8-eb-db1': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-influxdb-8-eb-db1' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-iotdb-200-fa3': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-iotdb-200-fa3' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-opcua-11-e-619': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-opcua-11-e-619' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-postgresqlc-7-f-1ac': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-postgresqlc-7-f-1ac' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-internal-jvm-dashboard-2-ea-a86': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-internal-jvm-dashboard-2-ea-a86' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-internal-jvm-datalakeede-e2d': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-internal-jvm-datalakeede-e2d' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-internal-jvm-notification-96-b-f37': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-internal-jvm-notification-96-b-f37' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-notifications-jvm-emaild-10-1d7': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-notifications-jvm-emaild-10-1d7' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-notifications-jvm-onesignal-60-d-204': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-notifications-jvm-onesignal-60-d-204' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md')],
-  'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-notifications-jvm-slack-6-cf-490': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-notifications-jvm-slack-6-cf-490' */ '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md'), '@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md')],
-  'content---docs-0-63-0-pre-asf-user-guide-first-steps-8-d-0-de5': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-user-guide-first-steps-8-d-0-de5' */ '@site/versioned_docs/version-0.63.0-pre-asf/user-guide-first-steps.md'), '@site/versioned_docs/version-0.63.0-pre-asf/user-guide-first-steps.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/user-guide-first-steps.md')],
-  'content---docs-0-63-0-pre-asf-user-guide-installationf-30-4b4': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-user-guide-installationf-30-4b4' */ '@site/versioned_docs/version-0.63.0-pre-asf/user-guide-installation.md'), '@site/versioned_docs/version-0.63.0-pre-asf/user-guide-installation.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/user-guide-installation.md')],
-  'content---docs-0-63-0-pre-asf-user-guide-tour-70-b-109': [() => import(/* webpackChunkName: 'content---docs-0-63-0-pre-asf-user-guide-tour-70-b-109' */ '@site/versioned_docs/version-0.63.0-pre-asf/user-guide-tour.md'), '@site/versioned_docs/version-0.63.0-pre-asf/user-guide-tour.md', require.resolveWeak('@site/versioned_docs/version-0.63.0-pre-asf/user-guide-tour.md')],
-  'content---docs-0-64-0-pre-asf-dev-guide-archetype-530-962': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-dev-guide-archetype-530-962' */ '@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-archetype.md'), '@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-archetype.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-archetype.md')],
-  'content---docs-0-64-0-pre-asf-dev-guide-configuration-9-b-5-913': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-dev-guide-configuration-9-b-5-913' */ '@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-configuration.md'), '@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-configuration.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-configuration.md')],
-  'content---docs-0-64-0-pre-asf-dev-guide-development-environmentaf-5-907': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-dev-guide-development-environmentaf-5-907' */ '@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-environment.md'), '@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-environment.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-environment.md')],
-  'content---docs-0-64-0-pre-asf-dev-guide-output-strategiesed-8-29c': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-dev-guide-output-strategiesed-8-29c' */ '@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-output-strategies.md'), '@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-output-strategies.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-output-strategies.md')],
-  'content---docs-0-64-0-pre-asf-dev-guide-static-properties-3-ab-958': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-dev-guide-static-properties-3-ab-958' */ '@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-static-properties.md'), '@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-static-properties.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-static-properties.md')],
-  'content---docs-0-64-0-pre-asf-dev-guide-stream-requirements-32-f-5f7': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-dev-guide-stream-requirements-32-f-5f7' */ '@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-stream-requirements.md'), '@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-stream-requirements.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-stream-requirements.md')],
-  'content---docs-0-64-0-pre-asf-dev-guide-tutorial-processorsb-32-5fe': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-dev-guide-tutorial-processorsb-32-5fe' */ '@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-tutorial-processors.md'), '@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-tutorial-processors.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-tutorial-processors.md')],
-  'content---docs-0-64-0-pre-asf-dev-guide-tutorial-sinks-648-842': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-dev-guide-tutorial-sinks-648-842' */ '@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-tutorial-sinks.md'), '@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-tutorial-sinks.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-tutorial-sinks.md')],
-  'content---docs-0-64-0-pre-asf-dev-guide-tutorial-sources-04-b-c77': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-dev-guide-tutorial-sources-04-b-c77' */ '@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-tutorial-sources.md'), '@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-tutorial-sources.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/dev-guide-tutorial-sources.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processor-geo-flink-org-apache-streampipes-processor-geo-flink-94-d-6fc': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processor-geo-flink-org-apache-streampipes-processor-geo-flink-94-d-6fc' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.geo.flink/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.geo.flink/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.geo.flink/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processor-geo-jvm-geocoding-org-apache-streampipes-processor-geo-jvm-geocoding-62-c-32b': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processor-geo-jvm-geocoding-org-apache-streampipes-processor-geo-jvm-geocoding-62-c-32b' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processor-geo-jvm-reversegeocoding-org-apache-streampipes-processor-geo-jvm-reversegeocoding-3-fd-2b3': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processor-geo-jvm-reversegeocoding-org-apache-streampipes-processor-geo-jvm-reversegeocoding-3-fd-2b3' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processor-geo-jvm-staticgeocoding-org-apache-streampipes-processor-geo-jvm-staticgeocoding-24-b-8e4': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processor-geo-jvm-staticgeocoding-org-apache-streampipes-processor-geo-jvm-staticgeocoding-24-b-8e4' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-7-e-2-e9e': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-7-e-2-e9e' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processor-imageclassification-jvm-image-enricher-org-apache-streampipes-processor-imageclassification-jvm-image-enrichera-82-a7c': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processor-imageclassification-jvm-image-enricher-org-apache-streampipes-processor-imageclassification-jvm-image-enrichera-82-a7c' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processor-imageclassification-qrcode-org-apache-streampipes-processor-imageclassification-qrcode-72-f-a2e': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processor-imageclassification-qrcode-org-apache-streampipes-processor-imageclassification-qrcode-72-f-a2e' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-aggregation-flink-aggregation-org-apache-streampipes-processors-aggregation-flink-aggregation-2-b-2-ed8': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-aggregation-flink-aggregation-org-apache-streampipes-processors-aggregation-flink-aggregation-2-b-2-ed8' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-aggregation-flink-eventcount-org-apache-streampipes-processors-aggregation-flink-eventcountbf-5-734': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-aggregation-flink-eventcount-org-apache-streampipes-processors-aggregation-flink-eventcountbf-5-734' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-aggregation-flink-rate-org-apache-streampipes-processors-aggregation-flink-rate-1-bc-17c': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-aggregation-flink-rate-org-apache-streampipes-processors-aggregation-flink-rate-1-bc-17c' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-1-ed-824': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-1-ed-824' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathop-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathopd-2-a-37d': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathop-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathopd-2-a-37d' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-trigonometry-org-apache-streampipes-processors-enricher-flink-processor-trigonometry-650-08f': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-trigonometry-org-apache-streampipes-processors-enricher-flink-processor-trigonometry-650-08f' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-urldereferencing-org-apache-streampipes-processors-enricher-flink-processor-urldereferencing-0-d-5-78e': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-urldereferencing-org-apache-streampipes-processors-enricher-flink-processor-urldereferencing-0-d-5-78e' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-enricher-flink-timestamp-org-apache-streampipes-processors-enricher-flink-timestamp-133-b0d': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-enricher-flink-timestamp-org-apache-streampipes-processors-enricher-flink-timestamp-133-b0d' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-enricher-jvm-sizemeasure-org-apache-streampipes-processors-enricher-jvm-sizemeasured-5-b-72e': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-enricher-jvm-sizemeasure-org-apache-streampipes-processors-enricher-jvm-sizemeasured-5-b-72e' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-filters-jvm-compose-org-apache-streampipes-processors-filters-jvm-compose-545-5a9': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-filters-jvm-compose-org-apache-streampipes-processors-filters-jvm-compose-545-5a9' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-filters-jvm-enrich-org-apache-streampipes-processors-filters-jvm-enrich-952-630': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-filters-jvm-enrich-org-apache-streampipes-processors-filters-jvm-enrich-952-630' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-filters-jvm-merge-org-apache-streampipes-processors-filters-jvm-merge-034-cc3': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-filters-jvm-merge-org-apache-streampipes-processors-filters-jvm-merge-034-cc3' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-filters-jvm-numericalfilter-org-apache-streampipes-processors-filters-jvm-numericalfilter-0-c-1-415': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-filters-jvm-numericalfilter-org-apache-streampipes-processors-filters-jvm-numericalfilter-0-c-1-415' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-filters-jvm-numericaltextfilter-org-apache-streampipes-processors-filters-jvm-numericaltextfilter-617-cd8': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-filters-jvm-numericaltextfilter-org-apache-streampipes-processors-filters-jvm-numericaltextfilter-617-cd8' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-filters-jvm-project-org-apache-streampipes-processors-filters-jvm-project-9-fb-ccf': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-filters-jvm-project-org-apache-streampipes-processors-filters-jvm-project-9-fb-ccf' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-filters-jvm-textfilter-org-apache-streampipes-processors-filters-jvm-textfiltera-11-2b8': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-filters-jvm-textfilter-org-apache-streampipes-processors-filters-jvm-textfiltera-11-2b8' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-filters-jvm-threshold-org-apache-streampipes-processors-filters-jvm-threshold-36-f-0c6': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-filters-jvm-threshold-org-apache-streampipes-processors-filters-jvm-threshold-36-f-0c6' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-4-d-7-147': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-4-d-7-147' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-190-7b7': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-190-7b7' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-siddhi-frequency-org-apache-streampipes-processors-siddhi-frequency-69-e-428': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-siddhi-frequency-org-apache-streampipes-processors-siddhi-frequency-69-e-428' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-siddhi-frequencychange-org-apache-streampipes-processors-siddhi-frequencychange-25-b-da5': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-siddhi-frequencychange-org-apache-streampipes-processors-siddhi-frequencychange-25-b-da5' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-siddhi-increase-org-apache-streampipes-processors-siddhi-increase-008-9c5': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-siddhi-increase-org-apache-streampipes-processors-siddhi-increase-008-9c5' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-siddhi-numericalfilter-org-apache-streampipes-processors-siddhi-numericalfilter-680-64e': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-siddhi-numericalfilter-org-apache-streampipes-processors-siddhi-numericalfilter-680-64e' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-siddhi-sequence-org-apache-streampipes-processors-siddhi-sequence-84-e-016': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-siddhi-sequence-org-apache-streampipes-processors-siddhi-sequence-84-e-016' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-siddhi-stop-org-apache-streampipes-processors-siddhi-stop-11-a-328': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-siddhi-stop-org-apache-streampipes-processors-siddhi-stop-11-a-328' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-textmining-flink-languagedetection-org-apache-streampipes-processors-textmining-flink-languagedetection-46-d-35e': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-textmining-flink-languagedetection-org-apache-streampipes-processors-textmining-flink-languagedetection-46-d-35e' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-textmining-flink-wordcount-org-apache-streampipes-processors-textmining-flink-wordcount-068-672': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-textmining-flink-wordcount-org-apache-streampipes-processors-textmining-flink-wordcount-068-672' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-chunker-org-apache-streampipes-processors-textmining-jvm-chunker-13-a-cf4': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-chunker-org-apache-streampipes-processors-textmining-jvm-chunker-13-a-cf4' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-languagedetection-org-apache-streampipes-processors-textmining-jvm-languagedetectiona-9-a-b1a': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-languagedetection-org-apache-streampipes-processors-textmining-jvm-languagedetectiona-9-a-b1a' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-namefinder-org-apache-streampipes-processors-textmining-jvm-namefinder-1-d-1-de4': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-namefinder-org-apache-streampipes-processors-textmining-jvm-namefinder-1-d-1-de4' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-partofspeech-org-apache-streampipes-processors-textmining-jvm-partofspeech-98-b-761': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-partofspeech-org-apache-streampipes-processors-textmining-jvm-partofspeech-98-b-761' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-sentencedetection-org-apache-streampipes-processors-textmining-jvm-sentencedetectione-1-c-1fb': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-sentencedetection-org-apache-streampipes-processors-textmining-jvm-sentencedetectione-1-c-1fb' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-tokenizer-org-apache-streampipes-processors-textmining-jvm-tokenizer-27-b-5ea': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-tokenizer-org-apache-streampipes-processors-textmining-jvm-tokenizer-27-b-5ea' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-flink-field-converter-org-apache-streampipes-processors-transformation-flink-field-converter-39-c-05c': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-flink-field-converter-org-apache-streampipes-processors-transformation-flink-field-converter-39-c-05c' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-flink-field-mapper-org-apache-streampipes-processors-transformation-flink-field-mapper-349-8b1': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-flink-field-mapper-org-apache-streampipes-processors-transformation-flink-field-mapper-349-8b1' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-flink-field-renamer-org-apache-streampipes-processors-transformation-flink-field-renamer-1-f-0-ae4': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-flink-field-renamer-org-apache-streampipes-processors-transformation-flink-field-renamer-1-f-0-ae4' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-flink-fieldhasher-org-apache-streampipes-processors-transformation-flink-fieldhasherd-5-e-025': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-flink-fieldhasher-org-apache-streampipes-processors-transformation-flink-fieldhasherd-5-e-025' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-org-apache-streampipes-processors-transformation-flink-measurement-unit-converterbf-3-3e2': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-org-apache-streampipes-processors-transformation-flink-measurement-unit-converterbf-3-3e2' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-flink-processor-boilerplate-org-apache-streampipes-processors-transformation-flink-processor-boilerplatead-3-4b9': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-flink-processor-boilerplate-org-apache-streampipes-processors-transformation-flink-processor-boilerplatead-3-4b9' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-011-97e': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-011-97e' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-inverter-org-apache-streampipes-processors-transformation-jvm-booloperator-inverterce-7-0ab': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-inverter-org-apache-streampipes-processors-transformation-jvm-booloperator-inverterce-7-0ab' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeeping-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeepinge-27-934': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeeping-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeepinge-27-934' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-timer-org-apache-streampipes-processors-transformation-jvm-booloperator-timer-598-122': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-timer-org-apache-streampipes-processors-transformation-jvm-booloperator-timer-598-122' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-changed-value-org-apache-streampipes-processors-transformation-jvm-changed-value-34-c-5cb': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-changed-value-org-apache-streampipes-processors-transformation-jvm-changed-value-34-c-5cb' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-count-array-org-apache-streampipes-processors-transformation-jvm-count-arrayfc-7-82a': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-count-array-org-apache-streampipes-processors-transformation-jvm-count-arrayfc-7-82a' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-csvmetadata-org-apache-streampipes-processors-transformation-jvm-csvmetadata-89-f-420': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-csvmetadata-org-apache-streampipes-processors-transformation-jvm-csvmetadata-89-f-420' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-duration-value-org-apache-streampipes-processors-transformation-jvm-duration-valuef-57-78f': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-duration-value-org-apache-streampipes-processors-transformation-jvm-duration-valuef-57-78f' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractor-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractor-8-b-4-c53': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractor-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractor-8-b-4-c53' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-split-array-org-apache-streampipes-processors-transformation-jvm-split-array-359-361': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-split-array-org-apache-streampipes-processors-transformation-jvm-split-array-359-361' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-taskduration-org-apache-streampipes-processors-transformation-jvm-taskduration-682-d70': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-taskduration-org-apache-streampipes-processors-transformation-jvm-taskduration-682-d70' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-transform-to-boolean-org-apache-streampipes-processors-transformation-jvm-transform-to-booleana-04-8b8': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-transform-to-boolean-org-apache-streampipes-processors-transformation-jvm-transform-to-booleana-04-8b8' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-bufferrest-org-apache-streampipes-sinks-brokers-jvm-bufferrest-41-c-0fb': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-bufferrest-org-apache-streampipes-sinks-brokers-jvm-bufferrest-41-c-0fb' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-jms-org-apache-streampipes-sinks-brokers-jvm-jms-44-e-80c': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-jms-org-apache-streampipes-sinks-brokers-jvm-jms-44-e-80c' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-kafka-org-apache-streampipes-sinks-brokers-jvm-kafkaf-97-029': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-kafka-org-apache-streampipes-sinks-brokers-jvm-kafkaf-97-029' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-pulsar-org-apache-streampipes-sinks-brokers-jvm-pulsar-753-bef': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-pulsar-org-apache-streampipes-sinks-brokers-jvm-pulsar-753-bef' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-4-b-7-9e3': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-4-b-7-9e3' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-rest-org-apache-streampipes-sinks-brokers-jvm-restbfd-4ea': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-rest-org-apache-streampipes-sinks-brokers-jvm-restbfd-4ea' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-databases-ditto-org-apache-streampipes-sinks-databases-ditto-30-b-065': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-databases-ditto-org-apache-streampipes-sinks-databases-ditto-30-b-065' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-databases-flink-elasticsearch-org-apache-streampipes-sinks-databases-flink-elasticsearch-8-ec-1e2': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-databases-flink-elasticsearch-org-apache-streampipes-sinks-databases-flink-elasticsearch-8-ec-1e2' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-couchdb-org-apache-streampipes-sinks-databases-jvm-couchdb-6-ee-27a': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-couchdb-org-apache-streampipes-sinks-databases-jvm-couchdb-6-ee-27a' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-influxdb-org-apache-streampipes-sinks-databases-jvm-influxdbf-04-9af': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-influxdb-org-apache-streampipes-sinks-databases-jvm-influxdbf-04-9af' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-iotdb-org-apache-streampipes-sinks-databases-jvm-iotdba-41-63e': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-iotdb-org-apache-streampipes-sinks-databases-jvm-iotdba-41-63e' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-opcua-org-apache-streampipes-sinks-databases-jvm-opcuaf-44-b93': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-opcua-org-apache-streampipes-sinks-databases-jvm-opcuaf-44-b93' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-postgresql-org-apache-streampipes-sinks-databases-jvm-postgresql-747-99f': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-postgresql-org-apache-streampipes-sinks-databases-jvm-postgresql-747-99f' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-internal-jvm-dashboard-org-apache-streampipes-sinks-internal-jvm-dashboard-8-b-5-dbf': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-internal-jvm-dashboard-org-apache-streampipes-sinks-internal-jvm-dashboard-8-b-5-dbf' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-internal-jvm-datalake-org-apache-streampipes-sinks-internal-jvm-datalakedc-4-392': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-internal-jvm-datalake-org-apache-streampipes-sinks-internal-jvm-datalakedc-4-392' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-internal-jvm-notification-org-apache-streampipes-sinks-internal-jvm-notification-576-e21': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-internal-jvm-notification-org-apache-streampipes-sinks-internal-jvm-notification-576-e21' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-notifications-jvm-email-org-apache-streampipes-sinks-notifications-jvm-email-8-cb-a52': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-notifications-jvm-email-org-apache-streampipes-sinks-notifications-jvm-email-8-cb-a52' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-notifications-jvm-onesignal-org-apache-streampipes-sinks-notifications-jvm-onesignale-1-d-a09': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-notifications-jvm-onesignal-org-apache-streampipes-sinks-notifications-jvm-onesignale-1-d-a09' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/documentation.md')],
-  'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-notifications-jvm-slack-org-apache-streampipes-sinks-notifications-jvm-slacke-96-219': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-notifications-jvm-slack-org-apache-streampipes-sinks-notifications-jvm-slacke-96-219' */ '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/documentation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/documentation.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-coindesk-3-ed-926': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-coindesk-3-ed-926' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-gdelt-934-063': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-gdelt-934-063' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-iex-news-1-ce-d3f': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-iex-news-1-ce-d3f' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-iex-stocks-42-f-34c': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-iex-stocks-42-f-34c' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-image-set-0-cd-631': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-image-set-0-cd-631' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-image-stream-31-d-a50': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-image-stream-31-d-a50' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-influxdb-setf-71-380': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-influxdb-setf-71-380' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-influxdb-streamfb-0-a7a': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-influxdb-streamfb-0-a7a' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-iss-1-ea-279': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-iss-1-ea-279' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-mysql-set-78-c-6c1': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-mysql-set-78-c-6c1' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-mysql-stream-1-fc-9b8': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-mysql-stream-1-fc-9b8' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-netio-mqtt-07-b-bd9': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-netio-mqtt-07-b-bd9' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-netio-rest-1-f-6-b33': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-netio-rest-1-f-6-b33' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-nswaustralia-trafficcamera-58-c-b6d': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-nswaustralia-trafficcamera-58-c-b6d' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-opcuadad-612': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-opcuadad-612' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-plc-4-x-s-7-d-87-f40': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-plc-4-x-s-7-d-87-f40' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-ros-975-09f': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-ros-975-09f' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-simulator-randomdataset-807-1f9': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-simulator-randomdataset-807-1f9' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-simulator-randomdatastream-35-e-8fa': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-simulator-randomdatastream-35-e-8fa' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-slack-721-f5c': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-slack-721-f5c' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-tia-9-f-3cd': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-tia-9-f-3cd' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-wikipedia-editc-08-6f0': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-wikipedia-editc-08-6f0' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-wikipedia-newc-00-ea6': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-wikipedia-newc-00-ea6' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-filefe-3-e56': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-filefe-3-e56' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-http-094-784': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-http-094-784' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-kafkabb-6-bbd': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-kafkabb-6-bbd' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-mqttc-2-e-418': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-mqttc-2-e-418' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-pulsara-72-cba': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-pulsara-72-cba' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processor-geo-flinkcd-2-974': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processor-geo-flinkcd-2-974' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processor-geo-jvm-geocodingb-0-c-296': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processor-geo-jvm-geocodingb-0-c-296' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processor-geo-jvm-reversegeocoding-37-c-863': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processor-geo-jvm-reversegeocoding-37-c-863' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processor-geo-jvm-staticgeocoding-049-a8b': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processor-geo-jvm-staticgeocoding-049-a8b' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-5-f-1-81d': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-5-f-1-81d' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-jvm-image-cropper-0-f-1-254': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-jvm-image-cropper-0-f-1-254' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-jvm-image-enricher-2-fb-971': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-jvm-image-enricher-2-fb-971' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-qrcoded-03-ec5': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-qrcoded-03-ec5' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-aggregation-631-4ff': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-aggregation-631-4ff' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-count-79-d-cab': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-count-79-d-cab' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-eventcount-603-144': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-eventcount-603-144' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-rate-7-bf-2ed': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-rate-7-bf-2ed' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-95-f-1f5': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-95-f-1f5' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathopd-9-a-c0b': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathopd-9-a-c0b' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-trigonometrydb-0-a94': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-trigonometrydb-0-a94' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-urldereferencinga-0-f-497': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-urldereferencinga-0-f-497' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-timestamp-960-4e1': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-timestamp-960-4e1' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-enricher-jvm-sizemeasure-803-75d': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-enricher-jvm-sizemeasure-803-75d' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-compose-1-e-5-ee6': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-compose-1-e-5-ee6' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-enrichd-0-d-73d': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-enrichd-0-d-73d' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-mergefb-3-504': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-mergefb-3-504' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-numericalfilterb-9-d-84a': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-numericalfilterb-9-d-84a' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-numericaltextfilterecf-d96': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-numericaltextfilterecf-d96' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-project-640-657': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-project-640-657' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-textfilterc-3-e-1d4': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-textfilterc-3-e-1d4' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-thresholde-27-cd5': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-thresholde-27-cd5' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-lat-lng-to-geo-546-d33': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-lat-lng-to-geo-546-d33' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-set-epsg-64-f-58d': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-set-epsg-64-f-58d' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-trajectory-77-e-3a8': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-trajectory-77-e-3a8' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-processor-distancecalculatorbc-7-b4d': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-processor-distancecalculatorbc-7-b4d' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-processor-speedc-73-710': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-processor-speedc-73-710' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-processor-staticdistancecalculator-38-b-885': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-processor-staticdistancecalculator-38-b-885' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-absence-431-a97': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-absence-431-a97' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-and-75-c-f01': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-and-75-c-f01' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-11-d-e56': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-11-d-e56' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-sequencedd-9-960': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-sequencedd-9-960' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-frequencyc-89-e81': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-frequencyc-89-e81' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-frequencychangeadf-3a4': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-frequencychangeadf-3a4' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-increasec-63-ba0': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-increasec-63-ba0' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-numericalfilter-22-d-3a1': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-numericalfilter-22-d-3a1' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-sequence-706-afe': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-sequence-706-afe' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-stopcef-c8a': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-stopcef-c8a' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-statistics-flink-statistics-summary-8-cb-76e': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-statistics-flink-statistics-summary-8-cb-76e' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-textmining-flink-languagedetection-7-b-5-156': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-textmining-flink-languagedetection-7-b-5-156' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-textmining-flink-wordcountefd-7b7': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-textmining-flink-wordcountefd-7b7' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-chunker-204-61a': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-chunker-204-61a' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-languagedetection-4-ae-42a': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-languagedetection-4-ae-42a' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-namefinder-22-b-d20': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-namefinder-22-b-d20' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-partofspeechddb-d05': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-partofspeechddb-d05' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-sentencedetection-43-e-f89': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-sentencedetection-43-e-f89' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-tokenizer-7-ed-a5a': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-tokenizer-7-ed-a5a' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-field-converter-3-a-8-ef6': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-field-converter-3-a-8-ef6' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-field-mapper-568-caa': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-field-mapper-568-caa' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-field-renamerd-71-496': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-field-renamerd-71-496' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-fieldhasher-7-ce-fba': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-fieldhasher-7-ce-fba' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-62-c-79c': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-62-c-79c' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-processor-boilerplateb-09-de3': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-processor-boilerplateb-09-de3' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-9-d-4-406': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-9-d-4-406' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-inverterfeb-686': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-inverterfeb-686' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeeping-9-ad-bef': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeeping-9-ad-bef' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timerd-0-d-b80': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timerd-0-d-b80' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-changed-valuef-27-609': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-changed-valuef-27-609' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-count-array-1-ed-686': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-count-array-1-ed-686' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-csvmetadata-909-00a': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-csvmetadata-909-00a' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-duration-valueab-0-b7a': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-duration-valueab-0-b7a' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractord-0-e-efb': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractord-0-e-efb' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-split-arraydd-5-27a': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-split-arraydd-5-27a' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-counterc-87-297': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-counterc-87-297' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-timerb-83-502': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-timerb-83-502' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-taskduration-8-ed-e75': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-taskduration-8-ed-e75' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-transform-to-boolean-7-a-2-430': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-transform-to-boolean-7-a-2-430' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-protocol-set-fileba-1-6cd': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-protocol-set-fileba-1-6cd' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.protocol.set.file.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.protocol.set.file.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.protocol.set.file.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-protocol-set-http-352-052': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-protocol-set-http-352-052' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.protocol.set.http.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.protocol.set.http.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.protocol.set.http.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-bufferrestc-6-f-689': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-bufferrestc-6-f-689' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-jmsdb-0-ce7': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-jmsdb-0-ce7' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-kafkabeb-a30': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-kafkabeb-a30' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-mqtt-4-e-9-275': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-mqtt-4-e-9-275' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-pulsar-344-9c9': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-pulsar-344-9c9' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmqef-9-868': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmqef-9-868' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-rest-403-74b': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-rest-403-74b' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-databases-ditto-062-d47': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-databases-ditto-062-d47' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-databases-flink-elasticsearch-727-6f4': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-databases-flink-elasticsearch-727-6f4' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-couchdbea-8-b4b': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-couchdbea-8-b4b' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-influxdb-3-a-6-34c': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-influxdb-3-a-6-34c' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-iotdb-4-de-d89': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-iotdb-4-de-d89' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-opcua-933-2b3': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-opcua-933-2b3' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-postgresqlb-71-a81': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-postgresqlb-71-a81' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-internal-jvm-dashboarde-86-b9c': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-internal-jvm-dashboarde-86-b9c' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-internal-jvm-datalake-710-59d': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-internal-jvm-datalake-710-59d' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-internal-jvm-notificationcde-8f2': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-internal-jvm-notificationcde-8f2' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-notifications-jvm-email-832-978': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-notifications-jvm-email-832-978' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-notifications-jvm-onesignal-68-b-77a': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-notifications-jvm-onesignal-68-b-77a' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md')],
-  'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-notifications-jvm-slack-873-ebf': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-notifications-jvm-slack-873-ebf' */ '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md'), '@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md')],
-  'content---docs-0-64-0-pre-asf-user-guide-first-steps-5-db-a72': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-user-guide-first-steps-5-db-a72' */ '@site/versioned_docs/version-0.64.0-pre-asf/user-guide-first-steps.md'), '@site/versioned_docs/version-0.64.0-pre-asf/user-guide-first-steps.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/user-guide-first-steps.md')],
-  'content---docs-0-64-0-pre-asf-user-guide-installation-45-a-4b2': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-user-guide-installation-45-a-4b2' */ '@site/versioned_docs/version-0.64.0-pre-asf/user-guide-installation.md'), '@site/versioned_docs/version-0.64.0-pre-asf/user-guide-installation.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/user-guide-installation.md')],
-  'content---docs-0-64-0-pre-asf-user-guide-tour-4-ee-b62': [() => import(/* webpackChunkName: 'content---docs-0-64-0-pre-asf-user-guide-tour-4-ee-b62' */ '@site/versioned_docs/version-0.64.0-pre-asf/user-guide-tour.md'), '@site/versioned_docs/version-0.64.0-pre-asf/user-guide-tour.md', require.resolveWeak('@site/versioned_docs/version-0.64.0-pre-asf/user-guide-tour.md')],
-  'content---docs-0-65-0-pre-asf-community-get-helpdb-4-04b': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-community-get-helpdb-4-04b' */ '@site/versioned_docs/version-0.65.0-pre-asf/09_get-help.md'), '@site/versioned_docs/version-0.65.0-pre-asf/09_get-help.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/09_get-help.md')],
-  'content---docs-0-65-0-pre-asf-dev-guide-archetypef-98-988': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-dev-guide-archetypef-98-988' */ '@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-archetype.md'), '@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-archetype.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-archetype.md')],
-  'content---docs-0-65-0-pre-asf-dev-guide-configurationf-8-f-06b': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-dev-guide-configurationf-8-f-06b' */ '@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-configuration.md'), '@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-configuration.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-configuration.md')],
-  'content---docs-0-65-0-pre-asf-dev-guide-development-environmente-22-668': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-dev-guide-development-environmente-22-668' */ '@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-environment.md'), '@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-environment.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-environment.md')],
-  'content---docs-0-65-0-pre-asf-dev-guide-output-strategies-86-c-4aa': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-dev-guide-output-strategies-86-c-4aa' */ '@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-output-strategies.md'), '@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-output-strategies.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-output-strategies.md')],
-  'content---docs-0-65-0-pre-asf-dev-guide-static-propertiesa-83-b8e': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-dev-guide-static-propertiesa-83-b8e' */ '@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-static-properties.md'), '@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-static-properties.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-static-properties.md')],
-  'content---docs-0-65-0-pre-asf-dev-guide-stream-requirements-379-a6c': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-dev-guide-stream-requirements-379-a6c' */ '@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-stream-requirements.md'), '@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-stream-requirements.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-stream-requirements.md')],
-  'content---docs-0-65-0-pre-asf-dev-guide-tutorial-processors-53-f-125': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-dev-guide-tutorial-processors-53-f-125' */ '@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-tutorial-processors.md'), '@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-tutorial-processors.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-tutorial-processors.md')],
-  'content---docs-0-65-0-pre-asf-dev-guide-tutorial-sinks-4-bf-1ee': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-dev-guide-tutorial-sinks-4-bf-1ee' */ '@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-tutorial-sinks.md'), '@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-tutorial-sinks.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-tutorial-sinks.md')],
-  'content---docs-0-65-0-pre-asf-dev-guide-tutorial-sourcese-8-e-9ca': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-dev-guide-tutorial-sourcese-8-e-9ca' */ '@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-tutorial-sources.md'), '@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-tutorial-sources.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/dev-guide-tutorial-sources.md')],
-  'content---docs-0-65-0-pre-asf-extend-sdk-event-modelabc-802': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-extend-sdk-event-modelabc-802' */ '@site/versioned_docs/version-0.65.0-pre-asf/06_extend-sdk-event-model.md'), '@site/versioned_docs/version-0.65.0-pre-asf/06_extend-sdk-event-model.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/06_extend-sdk-event-model.md')],
-  'content---docs-0-65-0-pre-asf-extend-sdk-stream-requirementsf-2-f-014': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-extend-sdk-stream-requirementsf-2-f-014' */ '@site/versioned_docs/version-0.65.0-pre-asf/06_extend-sdk-stream-requirements.md'), '@site/versioned_docs/version-0.65.0-pre-asf/06_extend-sdk-stream-requirements.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/06_extend-sdk-stream-requirements.md')],
-  'content---docs-0-65-0-pre-asf-extend-setup-964-ebd': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-extend-setup-964-ebd' */ '@site/versioned_docs/version-0.65.0-pre-asf/06_extend-setup.md'), '@site/versioned_docs/version-0.65.0-pre-asf/06_extend-setup.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/06_extend-setup.md')],
-  'content---docs-0-65-0-pre-asf-extend-tutorial-data-processors-1-d-6-522': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-extend-tutorial-data-processors-1-d-6-522' */ '@site/versioned_docs/version-0.65.0-pre-asf/06_extend-tutorial-data-processors.md'), '@site/versioned_docs/version-0.65.0-pre-asf/06_extend-tutorial-data-processors.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/06_extend-tutorial-data-processors.md')],
-  'content---docs-0-65-0-pre-asf-extend-tutorial-data-sinks-7-f-2-416': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-extend-tutorial-data-sinks-7-f-2-416' */ '@site/versioned_docs/version-0.65.0-pre-asf/06_extend-tutorial-data-sinks.md'), '@site/versioned_docs/version-0.65.0-pre-asf/06_extend-tutorial-data-sinks.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/06_extend-tutorial-data-sinks.md')],
-  'content---docs-0-65-0-pre-asf-extend-tutorial-data-sources-212-394': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-extend-tutorial-data-sources-212-394' */ '@site/versioned_docs/version-0.65.0-pre-asf/06_extend-tutorial-data-sources.md'), '@site/versioned_docs/version-0.65.0-pre-asf/06_extend-tutorial-data-sources.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/06_extend-tutorial-data-sources.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processor-geo-flink-org-apache-streampipes-processor-geo-flinkd-46-29d': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processor-geo-flink-org-apache-streampipes-processor-geo-flinkd-46-29d' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.geo.flink/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.geo.flink/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.geo.flink/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processor-geo-jvm-geocoding-org-apache-streampipes-processor-geo-jvm-geocoding-92-e-343': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processor-geo-jvm-geocoding-org-apache-streampipes-processor-geo-jvm-geocoding-92-e-343' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processor-geo-jvm-reversegeocoding-org-apache-streampipes-processor-geo-jvm-reversegeocoding-3-bb-874': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processor-geo-jvm-reversegeocoding-org-apache-streampipes-processor-geo-jvm-reversegeocoding-3-bb-874' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processor-geo-jvm-staticgeocoding-org-apache-streampipes-processor-geo-jvm-staticgeocoding-00-c-c55': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processor-geo-jvm-staticgeocoding-org-apache-streampipes-processor-geo-jvm-staticgeocoding-00-c-c55' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-352-b38': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-352-b38' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processor-imageclassification-jvm-image-enricher-org-apache-streampipes-processor-imageclassification-jvm-image-enricherb-9-c-50b': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processor-imageclassification-jvm-image-enricher-org-apache-streampipes-processor-imageclassification-jvm-image-enricherb-9-c-50b' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processor-imageclassification-qrcode-org-apache-streampipes-processor-imageclassification-qrcode-32-e-3c2': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processor-imageclassification-qrcode-org-apache-streampipes-processor-imageclassification-qrcode-32-e-3c2' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-aggregation-flink-aggregation-org-apache-streampipes-processors-aggregation-flink-aggregationc-1-f-cd5': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-aggregation-flink-aggregation-org-apache-streampipes-processors-aggregation-flink-aggregationc-1-f-cd5' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-aggregation-flink-eventcount-org-apache-streampipes-processors-aggregation-flink-eventcount-8-ee-21b': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-aggregation-flink-eventcount-org-apache-streampipes-processors-aggregation-flink-eventcount-8-ee-21b' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-aggregation-flink-rate-org-apache-streampipes-processors-aggregation-flink-rate-2-e-0-acd': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-aggregation-flink-rate-org-apache-streampipes-processors-aggregation-flink-rate-2-e-0-acd' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-3-f-4-b1e': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-3-f-4-b1e' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathop-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathop-450-866': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathop-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathop-450-866' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-trigonometry-org-apache-streampipes-processors-enricher-flink-processor-trigonometry-636-ee5': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-trigonometry-org-apache-streampipes-processors-enricher-flink-processor-trigonometry-636-ee5' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-urldereferencing-org-apache-streampipes-processors-enricher-flink-processor-urldereferencing-71-f-f3c': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-urldereferencing-org-apache-streampipes-processors-enricher-flink-processor-urldereferencing-71-f-f3c' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-enricher-flink-timestamp-org-apache-streampipes-processors-enricher-flink-timestamp-64-e-969': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-enricher-flink-timestamp-org-apache-streampipes-processors-enricher-flink-timestamp-64-e-969' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-enricher-jvm-sizemeasure-org-apache-streampipes-processors-enricher-jvm-sizemeasurebfd-185': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-enricher-jvm-sizemeasure-org-apache-streampipes-processors-enricher-jvm-sizemeasurebfd-185' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-filters-jvm-compose-org-apache-streampipes-processors-filters-jvm-compose-3-d-8-e91': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-filters-jvm-compose-org-apache-streampipes-processors-filters-jvm-compose-3-d-8-e91' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-filters-jvm-enrich-org-apache-streampipes-processors-filters-jvm-enrichc-2-f-ee4': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-filters-jvm-enrich-org-apache-streampipes-processors-filters-jvm-enrichc-2-f-ee4' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-filters-jvm-merge-org-apache-streampipes-processors-filters-jvm-mergeb-51-7d5': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-filters-jvm-merge-org-apache-streampipes-processors-filters-jvm-mergeb-51-7d5' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-filters-jvm-numericalfilter-org-apache-streampipes-processors-filters-jvm-numericalfilterebd-d1b': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-filters-jvm-numericalfilter-org-apache-streampipes-processors-filters-jvm-numericalfilterebd-d1b' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-filters-jvm-numericaltextfilter-org-apache-streampipes-processors-filters-jvm-numericaltextfilterca-3-0ce': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-filters-jvm-numericaltextfilter-org-apache-streampipes-processors-filters-jvm-numericaltextfilterca-3-0ce' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-filters-jvm-project-org-apache-streampipes-processors-filters-jvm-project-377-982': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-filters-jvm-project-org-apache-streampipes-processors-filters-jvm-project-377-982' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-filters-jvm-textfilter-org-apache-streampipes-processors-filters-jvm-textfilter-492-155': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-filters-jvm-textfilter-org-apache-streampipes-processors-filters-jvm-textfilter-492-155' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-filters-jvm-threshold-org-apache-streampipes-processors-filters-jvm-threshold-5-ac-e95': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-filters-jvm-threshold-org-apache-streampipes-processors-filters-jvm-threshold-5-ac-e95' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-033-929': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-033-929' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-org-apache-streampipes-processors-pattern-detection-flink-peak-detectionae-8-449': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-org-apache-streampipes-processors-pattern-detection-flink-peak-detectionae-8-449' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-siddhi-frequency-org-apache-streampipes-processors-siddhi-frequency-967-6c0': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-siddhi-frequency-org-apache-streampipes-processors-siddhi-frequency-967-6c0' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-siddhi-frequencychange-org-apache-streampipes-processors-siddhi-frequencychange-650-4e1': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-siddhi-frequencychange-org-apache-streampipes-processors-siddhi-frequencychange-650-4e1' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-siddhi-increase-org-apache-streampipes-processors-siddhi-increase-963-f23': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-siddhi-increase-org-apache-streampipes-processors-siddhi-increase-963-f23' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-siddhi-numericalfilter-org-apache-streampipes-processors-siddhi-numericalfilter-681-d44': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-siddhi-numericalfilter-org-apache-streampipes-processors-siddhi-numericalfilter-681-d44' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-siddhi-sequence-org-apache-streampipes-processors-siddhi-sequencef-7-e-7c8': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-siddhi-sequence-org-apache-streampipes-processors-siddhi-sequencef-7-e-7c8' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-siddhi-stop-org-apache-streampipes-processors-siddhi-stop-54-a-b12': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-siddhi-stop-org-apache-streampipes-processors-siddhi-stop-54-a-b12' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-textmining-flink-languagedetection-org-apache-streampipes-processors-textmining-flink-languagedetection-64-f-8ae': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-textmining-flink-languagedetection-org-apache-streampipes-processors-textmining-flink-languagedetection-64-f-8ae' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-textmining-flink-wordcount-org-apache-streampipes-processors-textmining-flink-wordcount-120-ce8': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-textmining-flink-wordcount-org-apache-streampipes-processors-textmining-flink-wordcount-120-ce8' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-chunker-org-apache-streampipes-processors-textmining-jvm-chunkercbf-1a9': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-chunker-org-apache-streampipes-processors-textmining-jvm-chunkercbf-1a9' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-languagedetection-org-apache-streampipes-processors-textmining-jvm-languagedetection-954-0be': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-languagedetection-org-apache-streampipes-processors-textmining-jvm-languagedetection-954-0be' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-namefinder-org-apache-streampipes-processors-textmining-jvm-namefindere-06-df0': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-namefinder-org-apache-streampipes-processors-textmining-jvm-namefindere-06-df0' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-partofspeech-org-apache-streampipes-processors-textmining-jvm-partofspeechd-5-f-806': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-partofspeech-org-apache-streampipes-processors-textmining-jvm-partofspeechd-5-f-806' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-sentencedetection-org-apache-streampipes-processors-textmining-jvm-sentencedetection-410-a78': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-sentencedetection-org-apache-streampipes-processors-textmining-jvm-sentencedetection-410-a78' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-tokenizer-org-apache-streampipes-processors-textmining-jvm-tokenizer-7-ed-dd5': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-tokenizer-org-apache-streampipes-processors-textmining-jvm-tokenizer-7-ed-dd5' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-flink-field-converter-org-apache-streampipes-processors-transformation-flink-field-converterc-95-f15': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-flink-field-converter-org-apache-streampipes-processors-transformation-flink-field-converterc-95-f15' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-flink-field-mapper-org-apache-streampipes-processors-transformation-flink-field-mapperfc-2-ac0': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-flink-field-mapper-org-apache-streampipes-processors-transformation-flink-field-mapperfc-2-ac0' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-flink-field-renamer-org-apache-streampipes-processors-transformation-flink-field-renamer-789-49c': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-flink-field-renamer-org-apache-streampipes-processors-transformation-flink-field-renamer-789-49c' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-flink-fieldhasher-org-apache-streampipes-processors-transformation-flink-fieldhasher-11-b-802': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-flink-fieldhasher-org-apache-streampipes-processors-transformation-flink-fieldhasher-11-b-802' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-388-156': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-388-156' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-flink-processor-boilerplate-org-apache-streampipes-processors-transformation-flink-processor-boilerplate-15-e-1cf': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-flink-processor-boilerplate-org-apache-streampipes-processors-transformation-flink-processor-boilerplate-15-e-1cf' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-org-apache-streampipes-processors-transformation-jvm-booloperator-counterf-1-b-53e': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-org-apache-streampipes-processors-transformation-jvm-booloperator-counterf-1-b-53e' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-inverter-org-apache-streampipes-processors-transformation-jvm-booloperator-inverter-380-757': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-inverter-org-apache-streampipes-processors-transformation-jvm-booloperator-inverter-380-757' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeeping-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeepinge-55-311': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeeping-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeepinge-55-311' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-timer-org-apache-streampipes-processors-transformation-jvm-booloperator-timera-3-e-c26': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-timer-org-apache-streampipes-processors-transformation-jvm-booloperator-timera-3-e-c26' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-changed-value-org-apache-streampipes-processors-transformation-jvm-changed-value-76-c-bb5': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-changed-value-org-apache-streampipes-processors-transformation-jvm-changed-value-76-c-bb5' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-count-array-org-apache-streampipes-processors-transformation-jvm-count-arraya-4-c-a78': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-count-array-org-apache-streampipes-processors-transformation-jvm-count-arraya-4-c-a78' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-csvmetadata-org-apache-streampipes-processors-transformation-jvm-csvmetadata-70-d-e45': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-csvmetadata-org-apache-streampipes-processors-transformation-jvm-csvmetadata-70-d-e45' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-duration-value-org-apache-streampipes-processors-transformation-jvm-duration-value-233-05b': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-duration-value-org-apache-streampipes-processors-transformation-jvm-duration-value-233-05b' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractor-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractor-308-9ba': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractor-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractor-308-9ba' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-split-array-org-apache-streampipes-processors-transformation-jvm-split-array-1-dd-4e3': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-split-array-org-apache-streampipes-processors-transformation-jvm-split-array-1-dd-4e3' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-taskduration-org-apache-streampipes-processors-transformation-jvm-taskduration-2-f-5-738': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-taskduration-org-apache-streampipes-processors-transformation-jvm-taskduration-2-f-5-738' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-transform-to-boolean-org-apache-streampipes-processors-transformation-jvm-transform-to-boolean-07-d-5e6': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-transform-to-boolean-org-apache-streampipes-processors-transformation-jvm-transform-to-boolean-07-d-5e6' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-bufferrest-org-apache-streampipes-sinks-brokers-jvm-bufferrestb-9-c-db0': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-bufferrest-org-apache-streampipes-sinks-brokers-jvm-bufferrestb-9-c-db0' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-jms-org-apache-streampipes-sinks-brokers-jvm-jms-97-e-902': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-jms-org-apache-streampipes-sinks-brokers-jvm-jms-97-e-902' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-kafka-org-apache-streampipes-sinks-brokers-jvm-kafka-086-a54': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-kafka-org-apache-streampipes-sinks-brokers-jvm-kafka-086-a54' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-pulsar-org-apache-streampipes-sinks-brokers-jvm-pulsar-214-c49': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-pulsar-org-apache-streampipes-sinks-brokers-jvm-pulsar-214-c49' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-77-b-26d': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-77-b-26d' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-rest-org-apache-streampipes-sinks-brokers-jvm-restc-85-7ba': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-rest-org-apache-streampipes-sinks-brokers-jvm-restc-85-7ba' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-databases-ditto-org-apache-streampipes-sinks-databases-dittoc-2-a-5d8': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-databases-ditto-org-apache-streampipes-sinks-databases-dittoc-2-a-5d8' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-databases-flink-elasticsearch-org-apache-streampipes-sinks-databases-flink-elasticsearch-7-fa-e54': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-databases-flink-elasticsearch-org-apache-streampipes-sinks-databases-flink-elasticsearch-7-fa-e54' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-couchdb-org-apache-streampipes-sinks-databases-jvm-couchdb-5-ae-64f': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-couchdb-org-apache-streampipes-sinks-databases-jvm-couchdb-5-ae-64f' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-influxdb-org-apache-streampipes-sinks-databases-jvm-influxdb-5-c-2-a43': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-influxdb-org-apache-streampipes-sinks-databases-jvm-influxdb-5-c-2-a43' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-iotdb-org-apache-streampipes-sinks-databases-jvm-iotdb-002-3b5': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-iotdb-org-apache-streampipes-sinks-databases-jvm-iotdb-002-3b5' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-opcua-org-apache-streampipes-sinks-databases-jvm-opcua-387-a4d': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-opcua-org-apache-streampipes-sinks-databases-jvm-opcua-387-a4d' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-postgresql-org-apache-streampipes-sinks-databases-jvm-postgresql-0-c-0-002': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-postgresql-org-apache-streampipes-sinks-databases-jvm-postgresql-0-c-0-002' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-internal-jvm-dashboard-org-apache-streampipes-sinks-internal-jvm-dashboard-81-d-c9a': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-internal-jvm-dashboard-org-apache-streampipes-sinks-internal-jvm-dashboard-81-d-c9a' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-internal-jvm-datalake-org-apache-streampipes-sinks-internal-jvm-datalakee-62-0d7': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-internal-jvm-datalake-org-apache-streampipes-sinks-internal-jvm-datalakee-62-0d7' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-internal-jvm-notification-org-apache-streampipes-sinks-internal-jvm-notificationef-0-351': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-internal-jvm-notification-org-apache-streampipes-sinks-internal-jvm-notificationef-0-351' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-notifications-jvm-email-org-apache-streampipes-sinks-notifications-jvm-email-3-f-4-7b8': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-notifications-jvm-email-org-apache-streampipes-sinks-notifications-jvm-email-3-f-4-7b8' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-notifications-jvm-onesignal-org-apache-streampipes-sinks-notifications-jvm-onesignal-321-58f': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-notifications-jvm-onesignal-org-apache-streampipes-sinks-notifications-jvm-onesignal-321-58f' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/documentation.md')],
-  'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-notifications-jvm-slack-org-apache-streampipes-sinks-notifications-jvm-slack-66-d-f85': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-notifications-jvm-slack-org-apache-streampipes-sinks-notifications-jvm-slack-66-d-f85' */ '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/documentation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/documentation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/documentation.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-coindeskd-22-10e': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-coindeskd-22-10e' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-gdelt-540-b19': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-gdelt-540-b19' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-iex-news-47-c-5cd': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-iex-news-47-c-5cd' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-iex-stocksc-16-e41': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-iex-stocksc-16-e41' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-image-setc-02-c72': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-image-setc-02-c72' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-image-stream-352-489': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-image-stream-352-489' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-influxdb-set-993-a74': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-influxdb-set-993-a74' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-influxdb-stream-789-2a8': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-influxdb-stream-789-2a8' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-iss-36-f-3d6': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-iss-36-f-3d6' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-mysql-setbd-3-183': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-mysql-setbd-3-183' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-mysql-streama-49-d7c': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-mysql-streama-49-d7c' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-netio-mqttd-81-ab0': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-netio-mqttd-81-ab0' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-netio-rest-89-d-8ce': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-netio-rest-89-d-8ce' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-nswaustralia-trafficcamera-693-794': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-nswaustralia-trafficcamera-693-794' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-opcua-4-af-da5': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-opcua-4-af-da5' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-plc-4-x-s-7698-b22': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-plc-4-x-s-7698-b22' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-ros-0-b-9-f29': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-ros-0-b-9-f29' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-simulator-randomdatasetbd-8-2dd': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-simulator-randomdatasetbd-8-2dd' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-simulator-randomdatastream-3-a-1-3b2': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-simulator-randomdatastream-3-a-1-3b2' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-slack-783-4fa': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-slack-783-4fa' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-ti-000-fe5': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-ti-000-fe5' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-wikipedia-edit-153-828': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-wikipedia-edit-153-828' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-wikipedia-new-446-79e': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-wikipedia-new-446-79e' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-filebc-1-13d': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-filebc-1-13d' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-http-552-aad': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-http-552-aad' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-kafka-814-ce9': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-kafka-814-ce9' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-mqtt-3-dd-d43': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-mqtt-3-dd-d43' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-pulsar-309-9ae': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-pulsar-309-9ae' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processor-geo-flink-08-e-14f': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processor-geo-flink-08-e-14f' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processor-geo-jvm-geocoding-69-f-2b4': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processor-geo-jvm-geocoding-69-f-2b4' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processor-geo-jvm-reversegeocodinge-88-147': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processor-geo-jvm-reversegeocodinge-88-147' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processor-geo-jvm-staticgeocoding-811-84d': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processor-geo-jvm-staticgeocoding-811-84d' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classificationcd-2-059': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classificationcd-2-059' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-jvm-image-cropper-7-a-3-30e': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-jvm-image-cropper-7-a-3-30e' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-jvm-image-enrichere-19-347': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-jvm-image-enrichere-19-347' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-qrcode-045-411': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-qrcode-045-411' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-aggregation-77-c-971': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-aggregation-77-c-971' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-count-3-fc-1f6': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-count-3-fc-1f6' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-eventcount-8-ca-1a6': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-eventcount-8-ca-1a6' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-rate-0-f-4-d73': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-rate-0-f-4-d73' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-math-mathopbb-5-961': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-math-mathopbb-5-961' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathopfc-5-45a': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathopfc-5-45a' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-trigonometryb-44-60e': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-trigonometryb-44-60e' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-urldereferencingac-7-9ec': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-urldereferencingac-7-9ec' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-timestamp-41-d-ae2': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-timestamp-41-d-ae2' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-enricher-jvm-sizemeasureb-53-498': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-enricher-jvm-sizemeasureb-53-498' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-composedfd-7b6': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-composedfd-7b6' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-enriche-0-b-856': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-enriche-0-b-856' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-mergeafa-523': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-mergeafa-523' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-numericalfilterfe-3-d5a': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-numericalfilterfe-3-d5a' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-numericaltextfilter-0-b-4-423': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-numericaltextfilter-0-b-4-423' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-project-2-c-8-239': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-project-2-c-8-239' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-textfiltere-56-fc3': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-textfiltere-56-fc3' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-thresholde-81-33e': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-thresholde-81-33e' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-lat-lng-to-geo-04-b-5fc': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-lat-lng-to-geo-04-b-5fc' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-set-epsg-242-a5e': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-set-epsg-242-a5e' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-trajectory-0-f-9-43d': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-trajectory-0-f-9-43d' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-327-842': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-327-842' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-processor-speed-45-b-a4e': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-processor-speed-45-b-a4e' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-processor-staticdistancecalculator-458-be7': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-processor-staticdistancecalculator-458-be7' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-absence-643-ef5': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-absence-643-ef5' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-andf-66-e2b': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-andf-66-e2b' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-23-a-b7c': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-23-a-b7c' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-sequence-9-ea-e6d': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-sequence-9-ea-e6d' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-frequency-544-302': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-frequency-544-302' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-frequencychangea-4-e-298': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-frequencychangea-4-e-298' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-increase-2-fd-bcd': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-increase-2-fd-bcd' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-numericalfilter-0-f-0-636': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-numericalfilter-0-f-0-636' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-sequenced-8-c-b0b': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-sequenced-8-c-b0b' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-stop-7-b-3-db4': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-stop-7-b-3-db4' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-statistics-flink-statistics-summary-4-e-0-be9': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-statistics-flink-statistics-summary-4-e-0-be9' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-textmining-flink-languagedetectionc-01-5ee': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-textmining-flink-languagedetectionc-01-5ee' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-textmining-flink-wordcount-4-a-8-07f': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-textmining-flink-wordcount-4-a-8-07f' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-chunkerbb-1-688': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-chunkerbb-1-688' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-languagedetection-36-b-0d2': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-languagedetection-36-b-0d2' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-namefinder-465-ebc': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-namefinder-465-ebc' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-partofspeechac-1-878': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-partofspeechac-1-878' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-sentencedetection-5-da-048': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-sentencedetection-5-da-048' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-tokenizer-834-625': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-tokenizer-834-625' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-field-converter-6-d-7-2e1': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-field-converter-6-d-7-2e1' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-field-mapperf-70-652': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-field-mapperf-70-652' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-field-renamer-666-999': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-field-renamer-666-999' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-fieldhasherc-06-117': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-fieldhasherc-06-117' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-7-be-358': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-7-be-358' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-processor-boilerplate-0-f-2-cfe': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-processor-boilerplate-0-f-2-cfe' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-counterf-7-d-552': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-counterf-7-d-552' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-inverterc-18-326': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-inverterc-18-326' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeepingb-38-4b1': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeepingb-38-4b1' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timerfdd-f45': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timerfdd-f45' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-changed-valuedff-0b0': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-changed-valuedff-0b0' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-count-array-50-d-c9b': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-count-array-50-d-c9b' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-csvmetadatacf-6-154': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-csvmetadatacf-6-154' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-duration-valuee-48-d7b': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-duration-valuee-48-d7b' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractor-86-f-dd2': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractor-86-f-dd2' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-split-array-3-ff-eb8': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-split-array-3-ff-eb8' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-counterf-33-810': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-counterf-33-810' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-timerfd-7-c25': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-timerfd-7-c25' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-taskdurationd-66-150': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-taskdurationd-66-150' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-transform-to-booleane-1-e-83b': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-transform-to-booleane-1-e-83b' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-protocol-set-file-390-ef6': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-protocol-set-file-390-ef6' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.protocol.set.file.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.protocol.set.file.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.protocol.set.file.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-protocol-set-http-8-de-753': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-protocol-set-http-8-de-753' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.protocol.set.http.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.protocol.set.http.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.protocol.set.http.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-bufferrest-02-e-752': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-bufferrest-02-e-752' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-jmsb-81-6b5': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-jmsb-81-6b5' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-kafka-652-a78': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-kafka-652-a78' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-mqtt-820-dcb': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-mqtt-820-dcb' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-pulsar-7-df-3ad': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-pulsar-7-df-3ad' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-755-475': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-755-475' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-rest-575-33d': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-rest-575-33d' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-databases-ditto-440-ae6': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-databases-ditto-440-ae6' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-databases-flink-elasticsearch-6-cb-7a4': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-databases-flink-elasticsearch-6-cb-7a4' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-couchdb-383-646': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-couchdb-383-646' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-influxdbed-5-c7b': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-influxdbed-5-c7b' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-iotdbdc-5-bcf': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-iotdbdc-5-bcf' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-opcua-3-d-4-d6c': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-opcua-3-d-4-d6c' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-postgresqld-9-b-e8b': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-postgresqld-9-b-e8b' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-internal-jvm-dashboardd-1-b-526': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-internal-jvm-dashboardd-1-b-526' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-internal-jvm-datalake-4-ec-043': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-internal-jvm-datalake-4-ec-043' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-internal-jvm-notification-119-405': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-internal-jvm-notification-119-405' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-notifications-jvm-email-871-f19': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-notifications-jvm-email-871-f19' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-notifications-jvm-onesignal-44-a-775': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-notifications-jvm-onesignal-44-a-775' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md')],
-  'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-notifications-jvm-slack-12-c-2df': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-notifications-jvm-slack-12-c-2df' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md')],
-  'content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-connect-adapters-flic-mqtt-126-31c': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-connect-adapters-flic-mqtt-126-31c' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md')],
-  'content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-connect-adapters-plc-4-x-modbus-90-e-a36': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-connect-adapters-plc-4-x-modbus-90-e-a36' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md')],
-  'content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-connect-adapters-simulator-machine-65-b-b2b': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-connect-adapters-simulator-machine-65-b-b2b' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.machine.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.machine.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.machine.md')],
-  'content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-connect-protocol-stream-httpserver-990-519': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-connect-protocol-stream-httpserver-990-519' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md')],
-  'content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-processors-changedetection-jvm-cusum-9-a-5-5cb': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-processors-changedetection-jvm-cusum-9-a-5-5cb' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md')],
-  'content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-processors-filters-jvm-limita-3-f-e4e': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-processors-filters-jvm-limita-3-f-e4e' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.limit.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.limit.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.limit.md')],
-  'content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-edge-2-f-8-ca9': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-edge-2-f-8-ca9' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md')],
-  'content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-state-690-34b': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-state-690-34b' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md')],
-  'content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-state-buffer-7-e-3-1d9': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-state-buffer-7-e-3-1d9' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md')],
-  'content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-buffera-7-c-af6': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-buffera-7-c-af6' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md')],
-  'content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-number-922-4ad': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-number-922-4ad' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md')],
-  'content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-stringoperator-stateece-222': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-stringoperator-stateece-222' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md')],
-  'content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-sinks-brokers-jvm-natsad-3-add': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-sinks-brokers-jvm-natsad-3-add' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md')],
-  'content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-sinks-databases-jvm-mysql-94-d-a10': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-sinks-databases-jvm-mysql-94-d-a10' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md')],
-  'content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-sinks-notifications-jvm-telegram-6-fd-a85': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-sinks-notifications-jvm-telegram-6-fd-a85' */ '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md'), '@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md')],
-  'content---docs-0-65-0-pre-asf-user-guide-first-steps-042-ab7': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-user-guide-first-steps-042-ab7' */ '@site/versioned_docs/version-0.65.0-pre-asf/user-guide-first-steps.md'), '@site/versioned_docs/version-0.65.0-pre-asf/user-guide-first-steps.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/user-guide-first-steps.md')],
-  'content---docs-0-65-0-pre-asf-user-guide-installation-3-b-8-145': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-user-guide-installation-3-b-8-145' */ '@site/versioned_docs/version-0.65.0-pre-asf/user-guide-installation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/user-guide-installation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/user-guide-installation.md')],
-  'content---docs-0-65-0-pre-asf-user-guide-tourbb-5-37c': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-user-guide-tourbb-5-37c' */ '@site/versioned_docs/version-0.65.0-pre-asf/user-guide-tour.md'), '@site/versioned_docs/version-0.65.0-pre-asf/user-guide-tour.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/user-guide-tour.md')],
-  'content---docs-0-65-0-pre-asf-version-0-67-0-community-contribute-2-ab-5fb': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-version-0-67-0-community-contribute-2-ab-5fb' */ '@site/versioned_docs/version-0.65.0-pre-asf/09_contribute.md'), '@site/versioned_docs/version-0.65.0-pre-asf/09_contribute.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/09_contribute.md')],
-  'content---docs-0-65-0-pre-asf-version-0-67-0-concepts-adapterd-07-57b': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-version-0-67-0-concepts-adapterd-07-57b' */ '@site/versioned_docs/version-0.65.0-pre-asf/02_concepts-adapter.md'), '@site/versioned_docs/version-0.65.0-pre-asf/02_concepts-adapter.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/02_concepts-adapter.md')],
-  'content---docs-0-65-0-pre-asf-version-0-67-0-concepts-data-streams-945-4de': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-version-0-67-0-concepts-data-streams-945-4de' */ '@site/versioned_docs/version-0.65.0-pre-asf/02_concepts-data-streams.md'), '@site/versioned_docs/version-0.65.0-pre-asf/02_concepts-data-streams.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/02_concepts-data-streams.md')],
-  'content---docs-0-65-0-pre-asf-version-0-67-0-concepts-glossarye-7-e-2fc': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-version-0-67-0-concepts-glossarye-7-e-2fc' */ '@site/versioned_docs/version-0.65.0-pre-asf/02_concepts-glossary.md'), '@site/versioned_docs/version-0.65.0-pre-asf/02_concepts-glossary.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/02_concepts-glossary.md')],
-  'content---docs-0-65-0-pre-asf-version-0-67-0-concepts-overview-4-c-3-435': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-version-0-67-0-concepts-overview-4-c-3-435' */ '@site/versioned_docs/version-0.65.0-pre-asf/02_concepts-overview.md'), '@site/versioned_docs/version-0.65.0-pre-asf/02_concepts-overview.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/02_concepts-overview.md')],
-  'content---docs-0-65-0-pre-asf-version-0-67-0-concepts-pipelines-5-d-9-71a': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-version-0-67-0-concepts-pipelines-5-d-9-71a' */ '@site/versioned_docs/version-0.65.0-pre-asf/02_concepts-pipeline.md'), '@site/versioned_docs/version-0.65.0-pre-asf/02_concepts-pipeline.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/02_concepts-pipeline.md')],
-  'content---docs-0-65-0-pre-asf-version-0-67-0-debugging-debugging-6-a-1-3cc': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-version-0-67-0-debugging-debugging-6-a-1-3cc' */ '@site/versioned_docs/version-0.65.0-pre-asf/08_debugging.md'), '@site/versioned_docs/version-0.65.0-pre-asf/08_debugging.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/08_debugging.md')],
-  'content---docs-0-65-0-pre-asf-version-0-67-0-debugging-monitoring-611-924': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-version-0-67-0-debugging-monitoring-611-924' */ '@site/versioned_docs/version-0.65.0-pre-asf/08_monitoring.md'), '@site/versioned_docs/version-0.65.0-pre-asf/08_monitoring.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/08_monitoring.md')],
-  'content---docs-0-65-0-pre-asf-version-0-67-0-deploy-docker-49-c-536': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-version-0-67-0-deploy-docker-49-c-536' */ '@site/versioned_docs/version-0.65.0-pre-asf/05_deploy-docker.md'), '@site/versioned_docs/version-0.65.0-pre-asf/05_deploy-docker.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/05_deploy-docker.md')],
-  'content---docs-0-65-0-pre-asf-version-0-67-0-deploy-kubernetesa-2-f-1de': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-version-0-67-0-deploy-kubernetesa-2-f-1de' */ '@site/versioned_docs/version-0.65.0-pre-asf/05_deploy-kubernetes.md'), '@site/versioned_docs/version-0.65.0-pre-asf/05_deploy-kubernetes.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/05_deploy-kubernetes.md')],
-  'content---docs-0-65-0-pre-asf-version-0-67-0-deploy-use-ssl-7-f-7-1fc': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-version-0-67-0-deploy-use-ssl-7-f-7-1fc' */ '@site/versioned_docs/version-0.65.0-pre-asf/05_deploy-use-ssl.md'), '@site/versioned_docs/version-0.65.0-pre-asf/05_deploy-use-ssl.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/05_deploy-use-ssl.md')],
-  'content---docs-0-65-0-pre-asf-version-0-67-0-extend-archetypesd-2-c-d3c': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-version-0-67-0-extend-archetypesd-2-c-d3c' */ '@site/versioned_docs/version-0.65.0-pre-asf/06_extend-archetypes.md'), '@site/versioned_docs/version-0.65.0-pre-asf/06_extend-archetypes.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/06_extend-archetypes.md')],
-  'content---docs-0-65-0-pre-asf-version-0-67-0-extend-clia-01-1fe': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-version-0-67-0-extend-clia-01-1fe' */ '@site/versioned_docs/version-0.65.0-pre-asf/06_extend-cli.md'), '@site/versioned_docs/version-0.65.0-pre-asf/06_extend-cli.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/06_extend-cli.md')],
-  'content---docs-0-65-0-pre-asf-version-0-67-0-extend-sdk-output-strategies-724-225': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-version-0-67-0-extend-sdk-output-strategies-724-225' */ '@site/versioned_docs/version-0.65.0-pre-asf/06_extend-sdk-output-strategies.md'), '@site/versioned_docs/version-0.65.0-pre-asf/06_extend-sdk-output-strategies.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/06_extend-sdk-output-strategies.md')],
-  'content---docs-0-65-0-pre-asf-version-0-67-0-extend-sdk-static-properties-218-e50': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-version-0-67-0-extend-sdk-static-properties-218-e50' */ '@site/versioned_docs/version-0.65.0-pre-asf/06_extend-sdk-static-properties.md'), '@site/versioned_docs/version-0.65.0-pre-asf/06_extend-sdk-static-properties.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/06_extend-sdk-static-properties.md')],
-  'content---docs-0-65-0-pre-asf-version-0-67-0-technicals-architecture-6-dd-961': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-version-0-67-0-technicals-architecture-6-dd-961' */ '@site/versioned_docs/version-0.65.0-pre-asf/07_technicals-architecture.md'), '@site/versioned_docs/version-0.65.0-pre-asf/07_technicals-architecture.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/07_technicals-architecture.md')],
-  'content---docs-0-65-0-pre-asf-version-0-67-0-technicals-configurationb-5-b-746': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-version-0-67-0-technicals-configurationb-5-b-746' */ '@site/versioned_docs/version-0.65.0-pre-asf/07_technicals-configuration.md'), '@site/versioned_docs/version-0.65.0-pre-asf/07_technicals-configuration.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/07_technicals-configuration.md')],
-  'content---docs-0-65-0-pre-asf-version-0-67-0-technicals-messaging-824-673': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-version-0-67-0-technicals-messaging-824-673' */ '@site/versioned_docs/version-0.65.0-pre-asf/07_technicals-messaging.md'), '@site/versioned_docs/version-0.65.0-pre-asf/07_technicals-messaging.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/07_technicals-messaging.md')],
-  'content---docs-0-65-0-pre-asf-version-0-67-0-technicals-runtime-wrappers-9-f-9-d3b': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-version-0-67-0-technicals-runtime-wrappers-9-f-9-d3b' */ '@site/versioned_docs/version-0.65.0-pre-asf/07_technicals-runtime-wrappers.md'), '@site/versioned_docs/version-0.65.0-pre-asf/07_technicals-runtime-wrappers.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/07_technicals-runtime-wrappers.md')],
-  'content---docs-0-65-0-pre-asf-version-0-67-0-technicals-user-guidance-6-dd-1e7': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-version-0-67-0-technicals-user-guidance-6-dd-1e7' */ '@site/versioned_docs/version-0.65.0-pre-asf/07_technicals-user-guidance.md'), '@site/versioned_docs/version-0.65.0-pre-asf/07_technicals-user-guidance.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/07_technicals-user-guidance.md')],
-  'content---docs-0-65-0-pre-asf-version-0-67-0-try-installationc-36-e1e': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-version-0-67-0-try-installationc-36-e1e' */ '@site/versioned_docs/version-0.65.0-pre-asf/01_try-installation.md'), '@site/versioned_docs/version-0.65.0-pre-asf/01_try-installation.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/01_try-installation.md')],
-  'content---docs-0-65-0-pre-asf-version-0-67-0-try-tutorialadd-7c3': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-version-0-67-0-try-tutorialadd-7c3' */ '@site/versioned_docs/version-0.65.0-pre-asf/01_try-tutorial.md'), '@site/versioned_docs/version-0.65.0-pre-asf/01_try-tutorial.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/01_try-tutorial.md')],
-  'content---docs-0-65-0-pre-asf-version-0-67-0-use-configurations-770-3bc': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-version-0-67-0-use-configurations-770-3bc' */ '@site/versioned_docs/version-0.65.0-pre-asf/03_use-configurations.md'), '@site/versioned_docs/version-0.65.0-pre-asf/03_use-configurations.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/03_use-configurations.md')],
-  'content---docs-0-65-0-pre-asf-version-0-67-0-use-connect-042-06f': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-version-0-67-0-use-connect-042-06f' */ '@site/versioned_docs/version-0.65.0-pre-asf/03_use-connect.md'), '@site/versioned_docs/version-0.65.0-pre-asf/03_use-connect.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/03_use-connect.md')],
-  'content---docs-0-65-0-pre-asf-version-0-67-0-use-dashboard-966-d33': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-version-0-67-0-use-dashboard-966-d33' */ '@site/versioned_docs/version-0.65.0-pre-asf/03_use-dashboard.md'), '@site/versioned_docs/version-0.65.0-pre-asf/03_use-dashboard.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/03_use-dashboard.md')],
-  'content---docs-0-65-0-pre-asf-version-0-67-0-use-data-explorerc-2-d-f9c': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-version-0-67-0-use-data-explorerc-2-d-f9c' */ '@site/versioned_docs/version-0.65.0-pre-asf/03_use-data-explorer.md'), '@site/versioned_docs/version-0.65.0-pre-asf/03_use-data-explorer.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/03_use-data-explorer.md')],
-  'content---docs-0-65-0-pre-asf-version-0-67-0-use-install-pipeline-elements-790-7d1': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-version-0-67-0-use-install-pipeline-elements-790-7d1' */ '@site/versioned_docs/version-0.65.0-pre-asf/03_use-install-pipeline-elements.md'), '@site/versioned_docs/version-0.65.0-pre-asf/03_use-install-pipeline-elements.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/03_use-install-pipeline-elements.md')],
-  'content---docs-0-65-0-pre-asf-version-0-67-0-use-managing-pipelines-56-a-c2c': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-version-0-67-0-use-managing-pipelines-56-a-c2c' */ '@site/versioned_docs/version-0.65.0-pre-asf/03_use-managing-pipelines.md'), '@site/versioned_docs/version-0.65.0-pre-asf/03_use-managing-pipelines.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/03_use-managing-pipelines.md')],
-  'content---docs-0-65-0-pre-asf-version-0-67-0-use-notifications-07-b-ea6': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-version-0-67-0-use-notifications-07-b-ea6' */ '@site/versioned_docs/version-0.65.0-pre-asf/03_use-notifications.md'), '@site/versioned_docs/version-0.65.0-pre-asf/03_use-notifications.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/03_use-notifications.md')],
-  'content---docs-0-65-0-pre-asf-version-0-67-0-use-pipeline-editorf-13-141': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-version-0-67-0-use-pipeline-editorf-13-141' */ '@site/versioned_docs/version-0.65.0-pre-asf/03_use-pipeline-editor.md'), '@site/versioned_docs/version-0.65.0-pre-asf/03_use-pipeline-editor.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/03_use-pipeline-editor.md')],
-  'content---docs-0-65-0-pre-asf-version-0-67-0-user-guide-introduction-64-b-05a': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-version-0-67-0-user-guide-introduction-64-b-05a' */ '@site/versioned_docs/version-0.65.0-pre-asf/01_try-overview.md'), '@site/versioned_docs/version-0.65.0-pre-asf/01_try-overview.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/01_try-overview.md')],
-  'content---docs-0-65-0-pre-asf-version-0-67-0-user-guide-introduction-old-56-a-0b2': [() => import(/* webpackChunkName: 'content---docs-0-65-0-pre-asf-version-0-67-0-user-guide-introduction-old-56-a-0b2' */ '@site/versioned_docs/version-0.65.0-pre-asf/user-guide-introduction.md'), '@site/versioned_docs/version-0.65.0-pre-asf/user-guide-introduction.md', require.resolveWeak('@site/versioned_docs/version-0.65.0-pre-asf/user-guide-introduction.md')],
-  'content---docs-0-66-0-community-contributed-9-b-e65': [() => import(/* webpackChunkName: 'content---docs-0-66-0-community-contributed-9-b-e65' */ '@site/versioned_docs/version-0.66.0/09_contribute.md'), '@site/versioned_docs/version-0.66.0/09_contribute.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/09_contribute.md')],
-  'content---docs-0-66-0-community-get-help-279-f7f': [() => import(/* webpackChunkName: 'content---docs-0-66-0-community-get-help-279-f7f' */ '@site/versioned_docs/version-0.66.0/09_get-help.md'), '@site/versioned_docs/version-0.66.0/09_get-help.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/09_get-help.md')],
-  'content---docs-0-66-0-concepts-adapter-35-a-6c1': [() => import(/* webpackChunkName: 'content---docs-0-66-0-concepts-adapter-35-a-6c1' */ '@site/versioned_docs/version-0.66.0/02_concepts-adapter.md'), '@site/versioned_docs/version-0.66.0/02_concepts-adapter.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/02_concepts-adapter.md')],
-  'content---docs-0-66-0-concepts-data-streamsb-20-438': [() => import(/* webpackChunkName: 'content---docs-0-66-0-concepts-data-streamsb-20-438' */ '@site/versioned_docs/version-0.66.0/02_concepts-data-streams.md'), '@site/versioned_docs/version-0.66.0/02_concepts-data-streams.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/02_concepts-data-streams.md')],
-  'content---docs-0-66-0-concepts-glossarya-8-f-512': [() => import(/* webpackChunkName: 'content---docs-0-66-0-concepts-glossarya-8-f-512' */ '@site/versioned_docs/version-0.66.0/02_concepts-glossary.md'), '@site/versioned_docs/version-0.66.0/02_concepts-glossary.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/02_concepts-glossary.md')],
-  'content---docs-0-66-0-concepts-overviewe-24-c93': [() => import(/* webpackChunkName: 'content---docs-0-66-0-concepts-overviewe-24-c93' */ '@site/versioned_docs/version-0.66.0/02_concepts-overview.md'), '@site/versioned_docs/version-0.66.0/02_concepts-overview.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/02_concepts-overview.md')],
-  'content---docs-0-66-0-concepts-pipelines-53-d-5f0': [() => import(/* webpackChunkName: 'content---docs-0-66-0-concepts-pipelines-53-d-5f0' */ '@site/versioned_docs/version-0.66.0/02_concepts-pipeline.md'), '@site/versioned_docs/version-0.66.0/02_concepts-pipeline.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/02_concepts-pipeline.md')],
-  'content---docs-0-66-0-debugging-debugging-2-a-3-725': [() => import(/* webpackChunkName: 'content---docs-0-66-0-debugging-debugging-2-a-3-725' */ '@site/versioned_docs/version-0.66.0/08_debugging.md'), '@site/versioned_docs/version-0.66.0/08_debugging.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/08_debugging.md')],
-  'content---docs-0-66-0-debugging-monitoringf-16-10c': [() => import(/* webpackChunkName: 'content---docs-0-66-0-debugging-monitoringf-16-10c' */ '@site/versioned_docs/version-0.66.0/08_monitoring.md'), '@site/versioned_docs/version-0.66.0/08_monitoring.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/08_monitoring.md')],
-  'content---docs-0-66-0-deploy-dockerfb-2-ff7': [() => import(/* webpackChunkName: 'content---docs-0-66-0-deploy-dockerfb-2-ff7' */ '@site/versioned_docs/version-0.66.0/05_deploy-docker.md'), '@site/versioned_docs/version-0.66.0/05_deploy-docker.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/05_deploy-docker.md')],
-  'content---docs-0-66-0-deploy-kubernetes-43-d-c93': [() => import(/* webpackChunkName: 'content---docs-0-66-0-deploy-kubernetes-43-d-c93' */ '@site/versioned_docs/version-0.66.0/05_deploy-kubernetes.md'), '@site/versioned_docs/version-0.66.0/05_deploy-kubernetes.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/05_deploy-kubernetes.md')],
-  'content---docs-0-66-0-deploy-security-414-cb6': [() => import(/* webpackChunkName: 'content---docs-0-66-0-deploy-security-414-cb6' */ '@site/versioned_docs/version-0.66.0/05_deploy-security.md'), '@site/versioned_docs/version-0.66.0/05_deploy-security.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/05_deploy-security.md')],
-  'content---docs-0-66-0-deploy-use-sslb-02-427': [() => import(/* webpackChunkName: 'content---docs-0-66-0-deploy-use-sslb-02-427' */ '@site/versioned_docs/version-0.66.0/05_deploy-use-ssl.md'), '@site/versioned_docs/version-0.66.0/05_deploy-use-ssl.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/05_deploy-use-ssl.md')],
-  'content---docs-0-66-0-dev-guide-archetype-170-ad2': [() => import(/* webpackChunkName: 'content---docs-0-66-0-dev-guide-archetype-170-ad2' */ '@site/versioned_docs/version-0.66.0/dev-guide-archetype.md'), '@site/versioned_docs/version-0.66.0/dev-guide-archetype.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/dev-guide-archetype.md')],
-  'content---docs-0-66-0-dev-guide-configurationfc-9-98c': [() => import(/* webpackChunkName: 'content---docs-0-66-0-dev-guide-configurationfc-9-98c' */ '@site/versioned_docs/version-0.66.0/dev-guide-configuration.md'), '@site/versioned_docs/version-0.66.0/dev-guide-configuration.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/dev-guide-configuration.md')],
-  'content---docs-0-66-0-dev-guide-development-environment-978-0a5': [() => import(/* webpackChunkName: 'content---docs-0-66-0-dev-guide-development-environment-978-0a5' */ '@site/versioned_docs/version-0.66.0/dev-guide-environment.md'), '@site/versioned_docs/version-0.66.0/dev-guide-environment.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/dev-guide-environment.md')],
-  'content---docs-0-66-0-dev-guide-output-strategiesf-37-f52': [() => import(/* webpackChunkName: 'content---docs-0-66-0-dev-guide-output-strategiesf-37-f52' */ '@site/versioned_docs/version-0.66.0/dev-guide-output-strategies.md'), '@site/versioned_docs/version-0.66.0/dev-guide-output-strategies.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/dev-guide-output-strategies.md')],
-  'content---docs-0-66-0-dev-guide-static-properties-3-e-5-5fa': [() => import(/* webpackChunkName: 'content---docs-0-66-0-dev-guide-static-properties-3-e-5-5fa' */ '@site/versioned_docs/version-0.66.0/dev-guide-static-properties.md'), '@site/versioned_docs/version-0.66.0/dev-guide-static-properties.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/dev-guide-static-properties.md')],
-  'content---docs-0-66-0-dev-guide-stream-requirements-475-0c7': [() => import(/* webpackChunkName: 'content---docs-0-66-0-dev-guide-stream-requirements-475-0c7' */ '@site/versioned_docs/version-0.66.0/dev-guide-stream-requirements.md'), '@site/versioned_docs/version-0.66.0/dev-guide-stream-requirements.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/dev-guide-stream-requirements.md')],
-  'content---docs-0-66-0-dev-guide-tutorial-sources-1-e-3-3fc': [() => import(/* webpackChunkName: 'content---docs-0-66-0-dev-guide-tutorial-sources-1-e-3-3fc' */ '@site/versioned_docs/version-0.66.0/dev-guide-tutorial-sources.md'), '@site/versioned_docs/version-0.66.0/dev-guide-tutorial-sources.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/dev-guide-tutorial-sources.md')],
-  'content---docs-0-66-0-extend-archetypes-758-292': [() => import(/* webpackChunkName: 'content---docs-0-66-0-extend-archetypes-758-292' */ '@site/versioned_docs/version-0.66.0/06_extend-archetypes.md'), '@site/versioned_docs/version-0.66.0/06_extend-archetypes.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/06_extend-archetypes.md')],
-  'content---docs-0-66-0-extend-cli-156-33a': [() => import(/* webpackChunkName: 'content---docs-0-66-0-extend-cli-156-33a' */ '@site/versioned_docs/version-0.66.0/06_extend-cli.md'), '@site/versioned_docs/version-0.66.0/06_extend-cli.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/06_extend-cli.md')],
-  'content---docs-0-66-0-extend-first-processorc-3-c-722': [() => import(/* webpackChunkName: 'content---docs-0-66-0-extend-first-processorc-3-c-722' */ '@site/versioned_docs/version-0.66.0/06_extend-first-processor.md'), '@site/versioned_docs/version-0.66.0/06_extend-first-processor.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/06_extend-first-processor.md')],
-  'content---docs-0-66-0-extend-sdk-event-model-2-e-6-5ad': [() => import(/* webpackChunkName: 'content---docs-0-66-0-extend-sdk-event-model-2-e-6-5ad' */ '@site/versioned_docs/version-0.66.0/06_extend-sdk-event-model.md'), '@site/versioned_docs/version-0.66.0/06_extend-sdk-event-model.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/06_extend-sdk-event-model.md')],
-  'content---docs-0-66-0-extend-sdk-migration-service-discoveryddd-8b9': [() => import(/* webpackChunkName: 'content---docs-0-66-0-extend-sdk-migration-service-discoveryddd-8b9' */ '@site/versioned_docs/version-0.66.0/06_extend-sdk-migration-sd.md'), '@site/versioned_docs/version-0.66.0/06_extend-sdk-migration-sd.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/06_extend-sdk-migration-sd.md')],
-  'content---docs-0-66-0-extend-sdk-output-strategies-777-d0b': [() => import(/* webpackChunkName: 'content---docs-0-66-0-extend-sdk-output-strategies-777-d0b' */ '@site/versioned_docs/version-0.66.0/06_extend-sdk-output-strategies.md'), '@site/versioned_docs/version-0.66.0/06_extend-sdk-output-strategies.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/06_extend-sdk-output-strategies.md')],
-  'content---docs-0-66-0-extend-sdk-static-propertiesf-8-d-b64': [() => import(/* webpackChunkName: 'content---docs-0-66-0-extend-sdk-static-propertiesf-8-d-b64' */ '@site/versioned_docs/version-0.66.0/06_extend-sdk-static-properties.md'), '@site/versioned_docs/version-0.66.0/06_extend-sdk-static-properties.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/06_extend-sdk-static-properties.md')],
-  'content---docs-0-66-0-extend-sdk-stream-requirements-51-a-bb7': [() => import(/* webpackChunkName: 'content---docs-0-66-0-extend-sdk-stream-requirements-51-a-bb7' */ '@site/versioned_docs/version-0.66.0/06_extend-sdk-stream-requirements.md'), '@site/versioned_docs/version-0.66.0/06_extend-sdk-stream-requirements.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/06_extend-sdk-stream-requirements.md')],
-  'content---docs-0-66-0-extend-setupb-7-b-f7e': [() => import(/* webpackChunkName: 'content---docs-0-66-0-extend-setupb-7-b-f7e' */ '@site/versioned_docs/version-0.66.0/06_extend-setup.md'), '@site/versioned_docs/version-0.66.0/06_extend-setup.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/06_extend-setup.md')],
-  'content---docs-0-66-0-extend-tutorial-data-processorsca-0-9ab': [() => import(/* webpackChunkName: 'content---docs-0-66-0-extend-tutorial-data-processorsca-0-9ab' */ '@site/versioned_docs/version-0.66.0/06_extend-tutorial-data-processors.md'), '@site/versioned_docs/version-0.66.0/06_extend-tutorial-data-processors.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/06_extend-tutorial-data-processors.md')],
-  'content---docs-0-66-0-extend-tutorial-data-sinksc-2-d-28b': [() => import(/* webpackChunkName: 'content---docs-0-66-0-extend-tutorial-data-sinksc-2-d-28b' */ '@site/versioned_docs/version-0.66.0/06_extend-tutorial-data-sinks.md'), '@site/versioned_docs/version-0.66.0/06_extend-tutorial-data-sinks.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/06_extend-tutorial-data-sinks.md')],
-  'content---docs-0-66-0-extend-tutorial-data-sources-7-f-1-f0c': [() => import(/* webpackChunkName: 'content---docs-0-66-0-extend-tutorial-data-sources-7-f-1-f0c' */ '@site/versioned_docs/version-0.66.0/06_extend-tutorial-data-sources.md'), '@site/versioned_docs/version-0.66.0/06_extend-tutorial-data-sources.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/06_extend-tutorial-data-sources.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-coindesk-5-f-4-8f2': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-coindesk-5-f-4-8f2' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.coindesk.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.coindesk.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.coindesk.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-gdeltee-7-9a7': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-gdeltee-7-9a7' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.gdelt.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.gdelt.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.gdelt.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-iex-news-340-e3a': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-iex-news-340-e3a' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.iex.news.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.iex.news.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.iex.news.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-iex-stocks-4-df-a4c': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-iex-stocks-4-df-a4c' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.iex.stocks.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.iex.stocks.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.iex.stocks.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-image-set-490-66a': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-image-set-490-66a' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.image.set.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.image.set.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.image.set.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-image-stream-2-cc-9f8': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-image-stream-2-cc-9f8' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.image.stream.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.image.stream.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.image.stream.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-influxdb-set-86-f-6c3': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-influxdb-set-86-f-6c3' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.influxdb.set.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.influxdb.set.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.influxdb.set.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-influxdb-streamc-85-703': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-influxdb-streamc-85-703' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-iss-3-fe-b96': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-iss-3-fe-b96' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.iss.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.iss.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.iss.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-mysql-set-74-a-c85': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-mysql-set-74-a-c85' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.mysql.set.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.mysql.set.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.mysql.set.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-mysql-stream-37-d-a22': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-mysql-stream-37-d-a22' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.mysql.stream.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.mysql.stream.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.mysql.stream.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-netio-mqtt-4-e-9-356': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-netio-mqtt-4-e-9-356' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-netio-rest-619-86f': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-netio-rest-619-86f' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.netio.rest.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.netio.rest.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.netio.rest.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-nswaustralia-trafficcamera-8-f-1-096': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-nswaustralia-trafficcamera-8-f-1-096' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-opcua-36-e-47a': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-opcua-36-e-47a' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.opcua.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.opcua.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.opcua.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-s-7611-062': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-s-7611-062' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-rosa-4-c-a39': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-rosa-4-c-a39' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.ros.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.ros.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.ros.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-simulator-randomdatasetb-6-f-be7': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-simulator-randomdatasetb-6-f-be7' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-simulator-randomdatastream-374-b6d': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-simulator-randomdatastream-374-b6d' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-slack-2-f-4-852': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-slack-2-f-4-852' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.slack.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.slack.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.slack.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-ti-009-81c': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-ti-009-81c' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.ti.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.ti.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.ti.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-wikipedia-editbab-2cb': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-wikipedia-editbab-2cb' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-wikipedia-new-293-2ea': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-wikipedia-new-293-2ea' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-connect-protocol-stream-filed-25-88d': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-connect-protocol-stream-filed-25-88d' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.file.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.file.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.file.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-connect-protocol-stream-httpb-80-fbc': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-connect-protocol-stream-httpb-80-fbc' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.http.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.http.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.http.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-connect-protocol-stream-kafka-1-b-1-ea2': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-connect-protocol-stream-kafka-1-b-1-ea2' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.kafka.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.kafka.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.kafka.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-connect-protocol-stream-mqttde-2-84a': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-connect-protocol-stream-mqttde-2-84a' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-connect-protocol-stream-pulsar-559-a10': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-connect-protocol-stream-pulsar-559-a10' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processor-geo-flinkb-7-e-b98': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processor-geo-flinkb-7-e-b98' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.geo.flink.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.geo.flink.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.geo.flink.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processor-geo-jvm-geocodingcfb-948': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processor-geo-jvm-geocodingcfb-948' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processor-geo-jvm-reversegeocodinged-9-cc7': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processor-geo-jvm-reversegeocodinged-9-cc7' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processor-geo-jvm-staticgeocoding-669-600': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processor-geo-jvm-staticgeocoding-669-600' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classificatione-1-b-d0d': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classificatione-1-b-d0d' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-cropperfce-932': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-cropperfce-932' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-enricheraa-0-c3c': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-enricheraa-0-c3c' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processor-imageclassification-qrcode-3-d-5-8b9': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processor-imageclassification-qrcode-3-d-5-8b9' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.qrcode.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.qrcode.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.qrcode.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-aggregation-flink-aggregation-398-887': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-aggregation-flink-aggregation-398-887' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-aggregation-flink-count-063-8e0': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-aggregation-flink-count-063-8e0' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.count.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.count.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.count.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-aggregation-flink-eventcount-096-87f': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-aggregation-flink-eventcount-096-87f' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-aggregation-flink-ratee-57-ba5': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-aggregation-flink-ratee-57-ba5' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.rate.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.rate.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.rate.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-997-18c': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-997-18c' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathop-7-a-4-b65': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathop-7-a-4-b65' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-enricher-flink-processor-trigonometry-006-777': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-enricher-flink-processor-trigonometry-006-777' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-enricher-flink-processor-urldereferencingdc-3-36c': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-enricher-flink-processor-urldereferencingdc-3-36c' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-enricher-flink-timestamp-10-f-eed': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-enricher-flink-timestamp-10-f-eed' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-enricher-jvm-sizemeasure-9-f-1-626': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-enricher-jvm-sizemeasure-9-f-1-626' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-filters-jvm-compose-298-446': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-filters-jvm-compose-298-446' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.compose.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.compose.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.compose.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-filters-jvm-enrichbc-9-203': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-filters-jvm-enrichbc-9-203' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.enrich.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.enrich.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.enrich.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-filters-jvm-merge-1-a-8-7fe': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-filters-jvm-merge-1-a-8-7fe' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.merge.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.merge.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.merge.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-filters-jvm-numericalfilter-584-5a2': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-filters-jvm-numericalfilter-584-5a2' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-filters-jvm-numericaltextfilter-0-e-3-ecd': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-filters-jvm-numericaltextfilter-0-e-3-ecd' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-filters-jvm-projectd-76-27e': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-filters-jvm-projectd-76-27e' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.project.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.project.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.project.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-filters-jvm-textfilter-7-c-4-629': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-filters-jvm-textfilter-7-c-4-629' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-filters-jvm-threshold-90-b-af7': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-filters-jvm-threshold-90-b-af7' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.threshold.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.threshold.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.threshold.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-lat-lng-to-geo-9-e-0-800': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-lat-lng-to-geo-9-e-0-800' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-set-epsg-7-e-3-2b9': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-set-epsg-7-e-3-2b9' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-trajectoryef-3-fe4': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-trajectoryef-3-fe4' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-geo-jvm-processor-distancecalculatorb-86-cf9': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-geo-jvm-processor-distancecalculatorb-86-cf9' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-geo-jvm-processor-speed-2-ce-ad2': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-geo-jvm-processor-speed-2-ce-ad2' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-geo-jvm-processor-staticdistancecalculatorc-04-c47': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-geo-jvm-processor-staticdistancecalculatorc-04-c47' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-pattern-detection-flink-absenceece-458': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-pattern-detection-flink-absenceece-458' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-pattern-detection-flink-and-766-4fc': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-pattern-detection-flink-and-766-4fc' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-030-fdb': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-030-fdb' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-pattern-detection-flink-sequence-3-e-3-1b4': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-pattern-detection-flink-sequence-3-e-3-1b4' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-siddhi-frequency-857-853': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-siddhi-frequency-857-853' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.frequency.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.frequency.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.frequency.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-siddhi-frequencychangede-6-6db': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-siddhi-frequencychangede-6-6db' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.frequencychange.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.frequencychange.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.frequencychange.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-siddhi-increasee-49-8e7': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-siddhi-increasee-49-8e7' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.increase.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.increase.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.increase.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-siddhi-numericalfilter-664-562': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-siddhi-numericalfilter-664-562' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-siddhi-sequenceb-8-c-656': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-siddhi-sequenceb-8-c-656' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.sequence.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.sequence.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.sequence.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-siddhi-stopf-10-c75': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-siddhi-stopf-10-c75' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.stop.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.stop.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.stop.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-statistics-flink-statistics-summaryb-9-b-475': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-statistics-flink-statistics-summaryb-9-b-475' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-textmining-flink-languagedetectionf-54-bf1': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-textmining-flink-languagedetectionf-54-bf1' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-textmining-flink-wordcountc-1-b-545': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-textmining-flink-wordcountc-1-b-545' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-textmining-jvm-chunker-5-a-1-370': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-textmining-jvm-chunker-5-a-1-370' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-textmining-jvm-languagedetection-908-e1c': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-textmining-jvm-languagedetection-908-e1c' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-textmining-jvm-namefinder-92-d-a7a': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-textmining-jvm-namefinder-92-d-a7a' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-textmining-jvm-partofspeechda-5-1fb': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-textmining-jvm-partofspeechda-5-1fb' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-textmining-jvm-sentencedetection-16-a-2e2': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-textmining-jvm-sentencedetection-16-a-2e2' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-textmining-jvm-tokenizer-34-d-bbf': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-textmining-jvm-tokenizer-34-d-bbf' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-flink-field-converter-014-36a': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-flink-field-converter-014-36a' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-flink-field-mapperf-0-f-441': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-flink-field-mapperf-0-f-441' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-flink-field-renamer-137-8a8': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-flink-field-renamer-137-8a8' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-flink-fieldhasher-1-b-2-453': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-flink-fieldhasher-1-b-2-453' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-03-a-f6e': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-03-a-f6e' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-flink-processor-boilerplatef-56-62c': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-flink-processor-boilerplatef-56-62c' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-77-d-4d0': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-77-d-4d0' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-inverter-2-fd-6f8': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-inverter-2-fd-6f8' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeeping-635-fd9': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeeping-635-fd9' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timerc-5-b-f15': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timerc-5-b-f15' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-changed-value-1-bc-e30': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-changed-value-1-bc-e30' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-count-array-3-cf-d1a': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-count-array-3-cf-d1a' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-csvmetadataaa-5-8ac': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-csvmetadataaa-5-8ac' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-duration-value-771-d9f': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-duration-value-771-d9f' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractorffe-ce2': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractorffe-ce2' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-split-arrayc-28-647': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-split-arrayc-28-647' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-counter-618-4fc': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-counter-618-4fc' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-timer-25-b-63b': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-timer-25-b-63b' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-taskduration-92-d-732': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-taskduration-92-d-732' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-transform-to-booleana-8-a-232': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-transform-to-booleana-8-a-232' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-protocol-set-filef-97-f5d': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-protocol-set-filef-97-f5d' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.protocol.set.file.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.protocol.set.file.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.protocol.set.file.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-protocol-set-http-0-e-6-c8a': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-protocol-set-http-0-e-6-c8a' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.protocol.set.http.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.protocol.set.http.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.protocol.set.http.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-sinks-brokers-jvm-bufferrestac-3-139': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-sinks-brokers-jvm-bufferrestac-3-139' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-sinks-brokers-jvm-jms-40-d-92b': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-sinks-brokers-jvm-jms-40-d-92b' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-sinks-brokers-jvm-kafka-919-75b': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-sinks-brokers-jvm-kafka-919-75b' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-sinks-brokers-jvm-mqtt-1-e-7-042': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-sinks-brokers-jvm-mqtt-1-e-7-042' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-sinks-brokers-jvm-pulsarcd-3-a0b': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-sinks-brokers-jvm-pulsarcd-3-a0b' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-783-d61': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-783-d61' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-sinks-brokers-jvm-rest-5-df-b8f': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-sinks-brokers-jvm-rest-5-df-b8f' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-sinks-databases-dittodd-5-0e2': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-sinks-databases-dittodd-5-0e2' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.ditto.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.ditto.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.ditto.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-sinks-databases-flink-elasticsearch-512-76b': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-sinks-databases-flink-elasticsearch-512-76b' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-sinks-databases-jvm-couchdb-2-ab-937': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-sinks-databases-jvm-couchdb-2-ab-937' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-sinks-databases-jvm-influxdbd-15-a6f': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-sinks-databases-jvm-influxdbd-15-a6f' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-sinks-databases-jvm-iotdb-65-e-404': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-sinks-databases-jvm-iotdb-65-e-404' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-sinks-databases-jvm-opcuafa-8-ecf': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-sinks-databases-jvm-opcuafa-8-ecf' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-sinks-databases-jvm-postgresqle-73-82b': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-sinks-databases-jvm-postgresqle-73-82b' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-sinks-internal-jvm-dashboard-9-b-0-8c9': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-sinks-internal-jvm-dashboard-9-b-0-8c9' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-sinks-internal-jvm-datalake-447-739': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-sinks-internal-jvm-datalake-447-739' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-sinks-internal-jvm-notification-225-c0a': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-sinks-internal-jvm-notification-225-c0a' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.notification.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.notification.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.notification.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-sinks-notifications-jvm-emaila-29-44d': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-sinks-notifications-jvm-emaila-29-44d' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.email.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.email.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.email.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-sinks-notifications-jvm-onesignal-8-f-0-79c': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-sinks-notifications-jvm-onesignal-8-f-0-79c' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md')],
-  'content---docs-0-66-0-pe-org-apache-streampipes-sinks-notifications-jvm-slack-2-cf-3f6': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-org-apache-streampipes-sinks-notifications-jvm-slack-2-cf-3f6' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md')],
-  'content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-connect-adapters-flic-mqtt-365-145': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-connect-adapters-flic-mqtt-365-145' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md')],
-  'content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-connect-adapters-plc-4-x-modbusf-23-a8a': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-connect-adapters-plc-4-x-modbusf-23-a8a' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md')],
-  'content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-connect-adapters-simulator-machine-37-e-b3b': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-connect-adapters-simulator-machine-37-e-b3b' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.machine.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.machine.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.machine.md')],
-  'content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-connect-protocol-stream-httpserver-0-e-8-412': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-connect-protocol-stream-httpserver-0-e-8-412' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md')],
-  'content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-processors-changedetection-jvm-cusum-4-ba-906': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-processors-changedetection-jvm-cusum-4-ba-906' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md')],
-  'content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-processors-filters-jvm-limitd-00-cee': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-processors-filters-jvm-limitd-00-cee' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.limit.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.limit.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.limit.md')],
-  'content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-edge-30-e-ebe': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-edge-30-e-ebe' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md')],
-  'content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-state-357-730': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-state-357-730' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md')],
-  'content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-state-buffer-196-30c': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-state-buffer-196-30c' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md')],
-  'content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-buffer-0-bc-bb2': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-buffer-0-bc-bb2' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md')],
-  'content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-numberfe-7-da9': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-numberfe-7-da9' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md')],
-  'content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-stringoperator-state-3-f-6-581': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-stringoperator-state-3-f-6-581' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md')],
-  'content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-sinks-brokers-jvm-natsaea-7d9': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-sinks-brokers-jvm-natsaea-7d9' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md')],
-  'content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-sinks-databases-jvm-mysql-4-d-1-226': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-sinks-databases-jvm-mysql-4-d-1-226' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md')],
-  'content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-sinks-notifications-jvm-telegram-97-d-03a': [() => import(/* webpackChunkName: 'content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-sinks-notifications-jvm-telegram-97-d-03a' */ '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md'), '@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md')],
-  'content---docs-0-66-0-technicals-architecturebb-9-71f': [() => import(/* webpackChunkName: 'content---docs-0-66-0-technicals-architecturebb-9-71f' */ '@site/versioned_docs/version-0.66.0/07_technicals-architecture.md'), '@site/versioned_docs/version-0.66.0/07_technicals-architecture.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/07_technicals-architecture.md')],
-  'content---docs-0-66-0-technicals-configurationd-68-111': [() => import(/* webpackChunkName: 'content---docs-0-66-0-technicals-configurationd-68-111' */ '@site/versioned_docs/version-0.66.0/07_technicals-configuration.md'), '@site/versioned_docs/version-0.66.0/07_technicals-configuration.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/07_technicals-configuration.md')],
-  'content---docs-0-66-0-technicals-messaginge-3-b-489': [() => import(/* webpackChunkName: 'content---docs-0-66-0-technicals-messaginge-3-b-489' */ '@site/versioned_docs/version-0.66.0/07_technicals-messaging.md'), '@site/versioned_docs/version-0.66.0/07_technicals-messaging.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/07_technicals-messaging.md')],
-  'content---docs-0-66-0-technicals-runtime-wrappersed-2-b15': [() => import(/* webpackChunkName: 'content---docs-0-66-0-technicals-runtime-wrappersed-2-b15' */ '@site/versioned_docs/version-0.66.0/07_technicals-runtime-wrappers.md'), '@site/versioned_docs/version-0.66.0/07_technicals-runtime-wrappers.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/07_technicals-runtime-wrappers.md')],
-  'content---docs-0-66-0-technicals-user-guidance-830-7c8': [() => import(/* webpackChunkName: 'content---docs-0-66-0-technicals-user-guidance-830-7c8' */ '@site/versioned_docs/version-0.66.0/07_technicals-user-guidance.md'), '@site/versioned_docs/version-0.66.0/07_technicals-user-guidance.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/07_technicals-user-guidance.md')],
-  'content---docs-0-66-0-try-installation-1-d-0-82b': [() => import(/* webpackChunkName: 'content---docs-0-66-0-try-installation-1-d-0-82b' */ '@site/versioned_docs/version-0.66.0/01_try-installation.md'), '@site/versioned_docs/version-0.66.0/01_try-installation.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/01_try-installation.md')],
-  'content---docs-0-66-0-try-tutorialbe-5-3fc': [() => import(/* webpackChunkName: 'content---docs-0-66-0-try-tutorialbe-5-3fc' */ '@site/versioned_docs/version-0.66.0/01_try-tutorial.md'), '@site/versioned_docs/version-0.66.0/01_try-tutorial.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/01_try-tutorial.md')],
-  'content---docs-0-66-0-use-configurations-191-b05': [() => import(/* webpackChunkName: 'content---docs-0-66-0-use-configurations-191-b05' */ '@site/versioned_docs/version-0.66.0/03_use-configurations.md'), '@site/versioned_docs/version-0.66.0/03_use-configurations.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/03_use-configurations.md')],
-  'content---docs-0-66-0-use-connect-5-d-5-f32': [() => import(/* webpackChunkName: 'content---docs-0-66-0-use-connect-5-d-5-f32' */ '@site/versioned_docs/version-0.66.0/03_use-connect.md'), '@site/versioned_docs/version-0.66.0/03_use-connect.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/03_use-connect.md')],
-  'content---docs-0-66-0-use-dashboard-125-9a0': [() => import(/* webpackChunkName: 'content---docs-0-66-0-use-dashboard-125-9a0' */ '@site/versioned_docs/version-0.66.0/03_use-dashboard.md'), '@site/versioned_docs/version-0.66.0/03_use-dashboard.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/03_use-dashboard.md')],
-  'content---docs-0-66-0-use-data-explorerf-85-55f': [() => import(/* webpackChunkName: 'content---docs-0-66-0-use-data-explorerf-85-55f' */ '@site/versioned_docs/version-0.66.0/03_use-data-explorer.md'), '@site/versioned_docs/version-0.66.0/03_use-data-explorer.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/03_use-data-explorer.md')],
-  'content---docs-0-66-0-use-install-pipeline-elements-863-60d': [() => import(/* webpackChunkName: 'content---docs-0-66-0-use-install-pipeline-elements-863-60d' */ '@site/versioned_docs/version-0.66.0/03_use-install-pipeline-elements.md'), '@site/versioned_docs/version-0.66.0/03_use-install-pipeline-elements.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/03_use-install-pipeline-elements.md')],
-  'content---docs-0-66-0-use-managing-pipelines-8-f-6-8b1': [() => import(/* webpackChunkName: 'content---docs-0-66-0-use-managing-pipelines-8-f-6-8b1' */ '@site/versioned_docs/version-0.66.0/03_use-managing-pipelines.md'), '@site/versioned_docs/version-0.66.0/03_use-managing-pipelines.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/03_use-managing-pipelines.md')],
-  'content---docs-0-66-0-use-notificationsfbe-330': [() => import(/* webpackChunkName: 'content---docs-0-66-0-use-notificationsfbe-330' */ '@site/versioned_docs/version-0.66.0/03_use-notifications.md'), '@site/versioned_docs/version-0.66.0/03_use-notifications.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/03_use-notifications.md')],
-  'content---docs-0-66-0-use-pipeline-editor-2-fb-e48': [() => import(/* webpackChunkName: 'content---docs-0-66-0-use-pipeline-editor-2-fb-e48' */ '@site/versioned_docs/version-0.66.0/03_use-pipeline-editor.md'), '@site/versioned_docs/version-0.66.0/03_use-pipeline-editor.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/03_use-pipeline-editor.md')],
-  'content---docs-0-66-0-user-guide-first-steps-766-dbb': [() => import(/* webpackChunkName: 'content---docs-0-66-0-user-guide-first-steps-766-dbb' */ '@site/versioned_docs/version-0.66.0/user-guide-first-steps.md'), '@site/versioned_docs/version-0.66.0/user-guide-first-steps.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/user-guide-first-steps.md')],
-  'content---docs-0-66-0-user-guide-installation-8-b-6-539': [() => import(/* webpackChunkName: 'content---docs-0-66-0-user-guide-installation-8-b-6-539' */ '@site/versioned_docs/version-0.66.0/user-guide-installation.md'), '@site/versioned_docs/version-0.66.0/user-guide-installation.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/user-guide-installation.md')],
-  'content---docs-0-66-0-user-guide-introduction-0-da-d3f': [() => import(/* webpackChunkName: 'content---docs-0-66-0-user-guide-introduction-0-da-d3f' */ '@site/versioned_docs/version-0.66.0/01_try-overview.md'), '@site/versioned_docs/version-0.66.0/01_try-overview.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/01_try-overview.md')],
-  'content---docs-0-66-0-user-guide-introduction-oldd-52-928': [() => import(/* webpackChunkName: 'content---docs-0-66-0-user-guide-introduction-oldd-52-928' */ '@site/versioned_docs/version-0.66.0/user-guide-introduction.md'), '@site/versioned_docs/version-0.66.0/user-guide-introduction.md', require.resolveWeak('@site/versioned_docs/version-0.66.0/user-guide-introduction.md')],
-  'content---docs-0-67-0-community-contribute-344-b70': [() => import(/* webpackChunkName: 'content---docs-0-67-0-community-contribute-344-b70' */ '@site/versioned_docs/version-0.67.0/09_contribute.md'), '@site/versioned_docs/version-0.67.0/09_contribute.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/09_contribute.md')],
-  'content---docs-0-67-0-community-get-helpa-59-b90': [() => import(/* webpackChunkName: 'content---docs-0-67-0-community-get-helpa-59-b90' */ '@site/versioned_docs/version-0.67.0/09_get-help.md'), '@site/versioned_docs/version-0.67.0/09_get-help.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/09_get-help.md')],
-  'content---docs-0-67-0-concepts-adapter-5-c-4-364': [() => import(/* webpackChunkName: 'content---docs-0-67-0-concepts-adapter-5-c-4-364' */ '@site/versioned_docs/version-0.67.0/02_concepts-adapter.md'), '@site/versioned_docs/version-0.67.0/02_concepts-adapter.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/02_concepts-adapter.md')],
-  'content---docs-0-67-0-concepts-data-streams-2-aa-a2f': [() => import(/* webpackChunkName: 'content---docs-0-67-0-concepts-data-streams-2-aa-a2f' */ '@site/versioned_docs/version-0.67.0/02_concepts-data-streams.md'), '@site/versioned_docs/version-0.67.0/02_concepts-data-streams.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/02_concepts-data-streams.md')],
-  'content---docs-0-67-0-concepts-glossaryc-5-c-3c9': [() => import(/* webpackChunkName: 'content---docs-0-67-0-concepts-glossaryc-5-c-3c9' */ '@site/versioned_docs/version-0.67.0/02_concepts-glossary.md'), '@site/versioned_docs/version-0.67.0/02_concepts-glossary.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/02_concepts-glossary.md')],
-  'content---docs-0-67-0-concepts-overview-33-a-8cd': [() => import(/* webpackChunkName: 'content---docs-0-67-0-concepts-overview-33-a-8cd' */ '@site/versioned_docs/version-0.67.0/02_concepts-overview.md'), '@site/versioned_docs/version-0.67.0/02_concepts-overview.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/02_concepts-overview.md')],
-  'content---docs-0-67-0-concepts-pipelines-14-f-745': [() => import(/* webpackChunkName: 'content---docs-0-67-0-concepts-pipelines-14-f-745' */ '@site/versioned_docs/version-0.67.0/02_concepts-pipeline.md'), '@site/versioned_docs/version-0.67.0/02_concepts-pipeline.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/02_concepts-pipeline.md')],
-  'content---docs-0-67-0-debugging-debuggingc-54-77b': [() => import(/* webpackChunkName: 'content---docs-0-67-0-debugging-debuggingc-54-77b' */ '@site/versioned_docs/version-0.67.0/08_debugging.md'), '@site/versioned_docs/version-0.67.0/08_debugging.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/08_debugging.md')],
-  'content---docs-0-67-0-debugging-monitoring-461-f70': [() => import(/* webpackChunkName: 'content---docs-0-67-0-debugging-monitoring-461-f70' */ '@site/versioned_docs/version-0.67.0/08_monitoring.md'), '@site/versioned_docs/version-0.67.0/08_monitoring.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/08_monitoring.md')],
-  'content---docs-0-67-0-deploy-docker-0-a-0-244': [() => import(/* webpackChunkName: 'content---docs-0-67-0-deploy-docker-0-a-0-244' */ '@site/versioned_docs/version-0.67.0/05_deploy-docker.md'), '@site/versioned_docs/version-0.67.0/05_deploy-docker.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/05_deploy-docker.md')],
-  'content---docs-0-67-0-deploy-kubernetes-4-c-5-52c': [() => import(/* webpackChunkName: 'content---docs-0-67-0-deploy-kubernetes-4-c-5-52c' */ '@site/versioned_docs/version-0.67.0/05_deploy-kubernetes.md'), '@site/versioned_docs/version-0.67.0/05_deploy-kubernetes.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/05_deploy-kubernetes.md')],
-  'content---docs-0-67-0-deploy-security-918-5ea': [() => import(/* webpackChunkName: 'content---docs-0-67-0-deploy-security-918-5ea' */ '@site/versioned_docs/version-0.67.0/05_deploy-security.md'), '@site/versioned_docs/version-0.67.0/05_deploy-security.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/05_deploy-security.md')],
-  'content---docs-0-67-0-deploy-use-ssl-2-b-3-540': [() => import(/* webpackChunkName: 'content---docs-0-67-0-deploy-use-ssl-2-b-3-540' */ '@site/versioned_docs/version-0.67.0/05_deploy-use-ssl.md'), '@site/versioned_docs/version-0.67.0/05_deploy-use-ssl.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/05_deploy-use-ssl.md')],
-  'content---docs-0-67-0-dev-guide-archetypea-4-a-8ae': [() => import(/* webpackChunkName: 'content---docs-0-67-0-dev-guide-archetypea-4-a-8ae' */ '@site/versioned_docs/version-0.67.0/dev-guide-archetype.md'), '@site/versioned_docs/version-0.67.0/dev-guide-archetype.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/dev-guide-archetype.md')],
-  'content---docs-0-67-0-dev-guide-sdk-guide-processorsf-1-e-9d2': [() => import(/* webpackChunkName: 'content---docs-0-67-0-dev-guide-sdk-guide-processorsf-1-e-9d2' */ '@site/versioned_docs/version-0.67.0/dev-guide-processor-sdk.md'), '@site/versioned_docs/version-0.67.0/dev-guide-processor-sdk.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/dev-guide-processor-sdk.md')],
-  'content---docs-0-67-0-dev-guide-sdk-guide-sinksa-7-d-118': [() => import(/* webpackChunkName: 'content---docs-0-67-0-dev-guide-sdk-guide-sinksa-7-d-118' */ '@site/versioned_docs/version-0.67.0/dev-guide-sink-sdk.md'), '@site/versioned_docs/version-0.67.0/dev-guide-sink-sdk.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/dev-guide-sink-sdk.md')],
-  'content---docs-0-67-0-extend-archetypes-024-ea4': [() => import(/* webpackChunkName: 'content---docs-0-67-0-extend-archetypes-024-ea4' */ '@site/versioned_docs/version-0.67.0/06_extend-archetypes.md'), '@site/versioned_docs/version-0.67.0/06_extend-archetypes.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/06_extend-archetypes.md')],
-  'content---docs-0-67-0-extend-clidc-3-931': [() => import(/* webpackChunkName: 'content---docs-0-67-0-extend-clidc-3-931' */ '@site/versioned_docs/version-0.67.0/06_extend-cli.md'), '@site/versioned_docs/version-0.67.0/06_extend-cli.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/06_extend-cli.md')],
-  'content---docs-0-67-0-extend-first-processor-247-9b3': [() => import(/* webpackChunkName: 'content---docs-0-67-0-extend-first-processor-247-9b3' */ '@site/versioned_docs/version-0.67.0/06_extend-first-processor.md'), '@site/versioned_docs/version-0.67.0/06_extend-first-processor.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/06_extend-first-processor.md')],
-  'content---docs-0-67-0-extend-sdk-event-model-88-b-f80': [() => import(/* webpackChunkName: 'content---docs-0-67-0-extend-sdk-event-model-88-b-f80' */ '@site/versioned_docs/version-0.67.0/06_extend-sdk-event-model.md'), '@site/versioned_docs/version-0.67.0/06_extend-sdk-event-model.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/06_extend-sdk-event-model.md')],
-  'content---docs-0-67-0-extend-sdk-functions-079-8ee': [() => import(/* webpackChunkName: 'content---docs-0-67-0-extend-sdk-functions-079-8ee' */ '@site/versioned_docs/version-0.67.0/06_extend-sdk-functions.md'), '@site/versioned_docs/version-0.67.0/06_extend-sdk-functions.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/06_extend-sdk-functions.md')],
-  'content---docs-0-67-0-extend-sdk-migration-service-discoveryfd-3-d0d': [() => import(/* webpackChunkName: 'content---docs-0-67-0-extend-sdk-migration-service-discoveryfd-3-d0d' */ '@site/versioned_docs/version-0.67.0/06_extend-sdk-migration-sd.md'), '@site/versioned_docs/version-0.67.0/06_extend-sdk-migration-sd.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/06_extend-sdk-migration-sd.md')],
-  'content---docs-0-67-0-extend-sdk-output-strategiesb-93-24a': [() => import(/* webpackChunkName: 'content---docs-0-67-0-extend-sdk-output-strategiesb-93-24a' */ '@site/versioned_docs/version-0.67.0/06_extend-sdk-output-strategies.md'), '@site/versioned_docs/version-0.67.0/06_extend-sdk-output-strategies.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/06_extend-sdk-output-strategies.md')],
-  'content---docs-0-67-0-extend-sdk-static-propertiesce-0-2f8': [() => import(/* webpackChunkName: 'content---docs-0-67-0-extend-sdk-static-propertiesce-0-2f8' */ '@site/versioned_docs/version-0.67.0/06_extend-sdk-static-properties.md'), '@site/versioned_docs/version-0.67.0/06_extend-sdk-static-properties.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/06_extend-sdk-static-properties.md')],
-  'content---docs-0-67-0-extend-sdk-stream-requirementsd-67-abd': [() => import(/* webpackChunkName: 'content---docs-0-67-0-extend-sdk-stream-requirementsd-67-abd' */ '@site/versioned_docs/version-0.67.0/06_extend-sdk-stream-requirements.md'), '@site/versioned_docs/version-0.67.0/06_extend-sdk-stream-requirements.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/06_extend-sdk-stream-requirements.md')],
-  'content---docs-0-67-0-extend-setupe-12-286': [() => import(/* webpackChunkName: 'content---docs-0-67-0-extend-setupe-12-286' */ '@site/versioned_docs/version-0.67.0/06_extend-setup.md'), '@site/versioned_docs/version-0.67.0/06_extend-setup.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/06_extend-setup.md')],
-  'content---docs-0-67-0-extend-tutorial-data-processorse-32-297': [() => import(/* webpackChunkName: 'content---docs-0-67-0-extend-tutorial-data-processorse-32-297' */ '@site/versioned_docs/version-0.67.0/06_extend-tutorial-data-processors.md'), '@site/versioned_docs/version-0.67.0/06_extend-tutorial-data-processors.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/06_extend-tutorial-data-processors.md')],
-  'content---docs-0-67-0-extend-tutorial-data-sinks-2-dd-f92': [() => import(/* webpackChunkName: 'content---docs-0-67-0-extend-tutorial-data-sinks-2-dd-f92' */ '@site/versioned_docs/version-0.67.0/06_extend-tutorial-data-sinks.md'), '@site/versioned_docs/version-0.67.0/06_extend-tutorial-data-sinks.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/06_extend-tutorial-data-sinks.md')],
-  'content---docs-0-67-0-extend-tutorial-data-sources-7-c-8-fff': [() => import(/* webpackChunkName: 'content---docs-0-67-0-extend-tutorial-data-sources-7-c-8-fff' */ '@site/versioned_docs/version-0.67.0/06_extend-tutorial-data-sources.md'), '@site/versioned_docs/version-0.67.0/06_extend-tutorial-data-sources.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/06_extend-tutorial-data-sources.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-connect-adapters-flic-mqtt-13-a-3f0': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-connect-adapters-flic-mqtt-13-a-3f0' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-connect-adapters-opcuaddf-436': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-connect-adapters-opcuaddf-436' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.adapters.opcua.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.adapters.opcua.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.adapters.opcua.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-modbuscb-2-495': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-modbuscb-2-495' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-connect-adapters-simulator-machinecae-a58': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-connect-adapters-simulator-machinecae-a58' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.adapters.simulator.machine.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.adapters.simulator.machine.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.adapters.simulator.machine.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-connect-protocol-stream-httpserver-357-d93': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-connect-protocol-stream-httpserver-357-d93' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processor-geo-jvm-geocoding-46-a-0b0': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processor-geo-jvm-geocoding-46-a-0b0' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processor-geo-jvm-reversegeocoding-816-18e': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processor-geo-jvm-reversegeocoding-816-18e' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processor-geo-jvm-staticgeocoding-35-a-d94': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processor-geo-jvm-staticgeocoding-35-a-d94' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-132-054': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-132-054' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-enricherea-5-d47': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-enricherea-5-d47' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processor-imageclassification-qrcodef-69-d5a': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processor-imageclassification-qrcodef-69-d5a' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.imageclassification.qrcode.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.imageclassification.qrcode.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.imageclassification.qrcode.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-aggregation-flink-aggregation-771-70f': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-aggregation-flink-aggregation-771-70f' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-aggregation-flink-countc-31-b8f': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-aggregation-flink-countc-31-b8f' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.count.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.count.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.count.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-aggregation-flink-eventcount-81-f-220': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-aggregation-flink-eventcount-81-f-220' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-aggregation-flink-rate-4-f-2-0c6': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-aggregation-flink-rate-4-f-2-0c6' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.rate.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.rate.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.rate.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-changedetection-jvm-cusumdb-7-413': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-changedetection-jvm-cusumdb-7-413' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-filters-jvm-limit-2-ca-a08': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-filters-jvm-limit-2-ca-a08' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.filters.jvm.limit.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.filters.jvm.limit.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.filters.jvm.limit.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-filters-jvm-merge-2-d-8-0ae': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-filters-jvm-merge-2-d-8-0ae' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.filters.jvm.merge.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.filters.jvm.merge.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.filters.jvm.merge.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-42-f-f14': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-42-f-f14' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-geo-jvm-processor-staticdistancecalculatorc-65-f9b': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-geo-jvm-processor-staticdistancecalculatorc-65-f9b' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-pattern-detection-flink-absenced-84-eec': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-pattern-detection-flink-absenced-84-eec' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-pattern-detection-flink-and-0-c-5-434': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-pattern-detection-flink-and-0-c-5-434' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-97-b-e1f': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-97-b-e1f' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-pattern-detection-flink-sequence-606-9f4': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-pattern-detection-flink-sequence-606-9f4' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-siddhi-frequency-568-dd9': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-siddhi-frequency-568-dd9' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.frequency.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.frequency.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.frequency.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-siddhi-frequencychange-6-d-3-ba7': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-siddhi-frequencychange-6-d-3-ba7' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.frequencychange.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.frequencychange.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.frequencychange.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-siddhi-increase-626-230': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-siddhi-increase-626-230' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.increase.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.increase.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.increase.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-siddhi-numericalfilter-241-8f6': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-siddhi-numericalfilter-241-8f6' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-siddhi-stopd-9-e-365': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-siddhi-stopd-9-e-365' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.stop.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.stop.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.stop.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-textmining-flink-languagedetection-237-27e': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-textmining-flink-languagedetection-237-27e' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-textmining-flink-wordcounte-86-c13': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-textmining-flink-wordcounte-86-c13' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-flink-field-converterbc-3-c51': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-flink-field-converterbc-3-c51' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-flink-field-renamer-82-f-5ea': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-flink-field-renamer-82-f-5ea' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-flink-fieldhasher-0-ef-669': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-flink-fieldhasher-0-ef-669' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-209-313': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-209-313' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-counterfbc-a0d': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-counterfbc-a0d' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-edgea-65-49b': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-edgea-65-49b' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-stateea-5-3c3': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-stateea-5-3c3' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-bufferfc-0-d53': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-bufferfc-0-d53' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-buffer-1-d-5-7b5': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-buffer-1-d-5-7b5' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-number-7-ea-bf1': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-number-7-ea-bf1' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-stringoperator-state-304-add': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-stringoperator-state-304-add' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-jvm-split-array-327-b9a': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-jvm-split-array-327-b9a' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-timer-2-cc-ee2': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-timer-2-cc-ee2' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-sinks-brokers-jvm-nats-17-c-9c0': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-sinks-brokers-jvm-nats-17-c-9c0' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmqe-22-c2a': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmqe-22-c2a' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-sinks-databases-dittof-9-b-15d': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-sinks-databases-dittof-9-b-15d' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.databases.ditto.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.databases.ditto.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.databases.ditto.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-sinks-databases-jvm-mysql-5-f-5-19b': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-sinks-databases-jvm-mysql-5-f-5-19b' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-sinks-internal-jvm-notification-559-7f2': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-sinks-internal-jvm-notification-559-7f2' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.internal.jvm.notification.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.internal.jvm.notification.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.internal.jvm.notification.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-sinks-notifications-jvm-slack-040-14c': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-sinks-notifications-jvm-slack-040-14c' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md')],
-  'content---docs-0-67-0-pe-org-apache-streampipes-sinks-notifications-jvm-telegramca-1-f29': [() => import(/* webpackChunkName: 'content---docs-0-67-0-pe-org-apache-streampipes-sinks-notifications-jvm-telegramca-1-f29' */ '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md'), '@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md')],
-  'content---docs-0-67-0-technicals-architecturee-6-e-8a0': [() => import(/* webpackChunkName: 'content---docs-0-67-0-technicals-architecturee-6-e-8a0' */ '@site/versioned_docs/version-0.67.0/07_technicals-architecture.md'), '@site/versioned_docs/version-0.67.0/07_technicals-architecture.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/07_technicals-architecture.md')],
-  'content---docs-0-67-0-technicals-configuration-592-3f4': [() => import(/* webpackChunkName: 'content---docs-0-67-0-technicals-configuration-592-3f4' */ '@site/versioned_docs/version-0.67.0/07_technicals-configuration.md'), '@site/versioned_docs/version-0.67.0/07_technicals-configuration.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/07_technicals-configuration.md')],
-  'content---docs-0-67-0-technicals-messagingfa-8-f14': [() => import(/* webpackChunkName: 'content---docs-0-67-0-technicals-messagingfa-8-f14' */ '@site/versioned_docs/version-0.67.0/07_technicals-messaging.md'), '@site/versioned_docs/version-0.67.0/07_technicals-messaging.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/07_technicals-messaging.md')],
-  'content---docs-0-67-0-technicals-runtime-wrappers-56-c-6fb': [() => import(/* webpackChunkName: 'content---docs-0-67-0-technicals-runtime-wrappers-56-c-6fb' */ '@site/versioned_docs/version-0.67.0/07_technicals-runtime-wrappers.md'), '@site/versioned_docs/version-0.67.0/07_technicals-runtime-wrappers.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/07_technicals-runtime-wrappers.md')],
-  'content---docs-0-67-0-technicals-user-guidance-979-4a2': [() => import(/* webpackChunkName: 'content---docs-0-67-0-technicals-user-guidance-979-4a2' */ '@site/versioned_docs/version-0.67.0/07_technicals-user-guidance.md'), '@site/versioned_docs/version-0.67.0/07_technicals-user-guidance.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/07_technicals-user-guidance.md')],
-  'content---docs-0-67-0-try-installationb-48-197': [() => import(/* webpackChunkName: 'content---docs-0-67-0-try-installationb-48-197' */ '@site/versioned_docs/version-0.67.0/01_try-installation.md'), '@site/versioned_docs/version-0.67.0/01_try-installation.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/01_try-installation.md')],
-  'content---docs-0-67-0-try-tutorialf-2-b-64b': [() => import(/* webpackChunkName: 'content---docs-0-67-0-try-tutorialf-2-b-64b' */ '@site/versioned_docs/version-0.67.0/01_try-tutorial.md'), '@site/versioned_docs/version-0.67.0/01_try-tutorial.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/01_try-tutorial.md')],
-  'content---docs-0-67-0-use-configurations-46-a-21b': [() => import(/* webpackChunkName: 'content---docs-0-67-0-use-configurations-46-a-21b' */ '@site/versioned_docs/version-0.67.0/03_use-configurations.md'), '@site/versioned_docs/version-0.67.0/03_use-configurations.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/03_use-configurations.md')],
-  'content---docs-0-67-0-use-connectbf-0-91e': [() => import(/* webpackChunkName: 'content---docs-0-67-0-use-connectbf-0-91e' */ '@site/versioned_docs/version-0.67.0/03_use-connect.md'), '@site/versioned_docs/version-0.67.0/03_use-connect.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/03_use-connect.md')],
-  'content---docs-0-67-0-use-dashboard-0-ea-035': [() => import(/* webpackChunkName: 'content---docs-0-67-0-use-dashboard-0-ea-035' */ '@site/versioned_docs/version-0.67.0/03_use-dashboard.md'), '@site/versioned_docs/version-0.67.0/03_use-dashboard.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/03_use-dashboard.md')],
-  'content---docs-0-67-0-use-data-explorerdc-4-cd4': [() => import(/* webpackChunkName: 'content---docs-0-67-0-use-data-explorerdc-4-cd4' */ '@site/versioned_docs/version-0.67.0/03_use-data-explorer.md'), '@site/versioned_docs/version-0.67.0/03_use-data-explorer.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/03_use-data-explorer.md')],
-  'content---docs-0-67-0-use-install-pipeline-elementsea-3-036': [() => import(/* webpackChunkName: 'content---docs-0-67-0-use-install-pipeline-elementsea-3-036' */ '@site/versioned_docs/version-0.67.0/03_use-install-pipeline-elements.md'), '@site/versioned_docs/version-0.67.0/03_use-install-pipeline-elements.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/03_use-install-pipeline-elements.md')],
-  'content---docs-0-67-0-use-managing-pipelines-75-f-3de': [() => import(/* webpackChunkName: 'content---docs-0-67-0-use-managing-pipelines-75-f-3de' */ '@site/versioned_docs/version-0.67.0/03_use-managing-pipelines.md'), '@site/versioned_docs/version-0.67.0/03_use-managing-pipelines.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/03_use-managing-pipelines.md')],
-  'content---docs-0-67-0-use-notifications-62-d-46b': [() => import(/* webpackChunkName: 'content---docs-0-67-0-use-notifications-62-d-46b' */ '@site/versioned_docs/version-0.67.0/03_use-notifications.md'), '@site/versioned_docs/version-0.67.0/03_use-notifications.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/03_use-notifications.md')],
-  'content---docs-0-67-0-use-pipeline-editor-618-f65': [() => import(/* webpackChunkName: 'content---docs-0-67-0-use-pipeline-editor-618-f65' */ '@site/versioned_docs/version-0.67.0/03_use-pipeline-editor.md'), '@site/versioned_docs/version-0.67.0/03_use-pipeline-editor.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/03_use-pipeline-editor.md')],
-  'content---docs-0-67-0-user-guide-installation-5-b-5-f45': [() => import(/* webpackChunkName: 'content---docs-0-67-0-user-guide-installation-5-b-5-f45' */ '@site/versioned_docs/version-0.67.0/user-guide-installation.md'), '@site/versioned_docs/version-0.67.0/user-guide-installation.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/user-guide-installation.md')],
-  'content---docs-0-67-0-user-guide-introduction-34-b-f73': [() => import(/* webpackChunkName: 'content---docs-0-67-0-user-guide-introduction-34-b-f73' */ '@site/versioned_docs/version-0.67.0/01_try-overview.md'), '@site/versioned_docs/version-0.67.0/01_try-overview.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/01_try-overview.md')],
-  'content---docs-0-67-0-user-guide-introduction-old-254-ee2': [() => import(/* webpackChunkName: 'content---docs-0-67-0-user-guide-introduction-old-254-ee2' */ '@site/versioned_docs/version-0.67.0/user-guide-introduction.md'), '@site/versioned_docs/version-0.67.0/user-guide-introduction.md', require.resolveWeak('@site/versioned_docs/version-0.67.0/user-guide-introduction.md')],
-  'content---docs-0-68-0-community-contributea-1-c-dc3': [() => import(/* webpackChunkName: 'content---docs-0-68-0-community-contributea-1-c-dc3' */ '@site/versioned_docs/version-0.68.0/09_contribute.md'), '@site/versioned_docs/version-0.68.0/09_contribute.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/09_contribute.md')],
-  'content---docs-0-68-0-community-get-helpe-83-b24': [() => import(/* webpackChunkName: 'content---docs-0-68-0-community-get-helpe-83-b24' */ '@site/versioned_docs/version-0.68.0/09_get-help.md'), '@site/versioned_docs/version-0.68.0/09_get-help.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/09_get-help.md')],
-  'content---docs-0-68-0-deploy-dockera-7-b-b06': [() => import(/* webpackChunkName: 'content---docs-0-68-0-deploy-dockera-7-b-b06' */ '@site/versioned_docs/version-0.68.0/05_deploy-docker.md'), '@site/versioned_docs/version-0.68.0/05_deploy-docker.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/05_deploy-docker.md')],
-  'content---docs-0-68-0-deploy-securityb-9-d-dd0': [() => import(/* webpackChunkName: 'content---docs-0-68-0-deploy-securityb-9-d-dd0' */ '@site/versioned_docs/version-0.68.0/05_deploy-security.md'), '@site/versioned_docs/version-0.68.0/05_deploy-security.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/05_deploy-security.md')],
-  'content---docs-0-68-0-dev-guide-sdk-guide-processors-938-e7c': [() => import(/* webpackChunkName: 'content---docs-0-68-0-dev-guide-sdk-guide-processors-938-e7c' */ '@site/versioned_docs/version-0.68.0/dev-guide-processor-sdk.md'), '@site/versioned_docs/version-0.68.0/dev-guide-processor-sdk.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/dev-guide-processor-sdk.md')],
-  'content---docs-0-68-0-dev-guide-sdk-guide-sinks-0-b-8-14b': [() => import(/* webpackChunkName: 'content---docs-0-68-0-dev-guide-sdk-guide-sinks-0-b-8-14b' */ '@site/versioned_docs/version-0.68.0/dev-guide-sink-sdk.md'), '@site/versioned_docs/version-0.68.0/dev-guide-sink-sdk.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/dev-guide-sink-sdk.md')],
-  'content---docs-0-68-0-extend-archetypes-1-c-1-0e0': [() => import(/* webpackChunkName: 'content---docs-0-68-0-extend-archetypes-1-c-1-0e0' */ '@site/versioned_docs/version-0.68.0/06_extend-archetypes.md'), '@site/versioned_docs/version-0.68.0/06_extend-archetypes.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/06_extend-archetypes.md')],
-  'content---docs-0-68-0-extend-clicf-1-686': [() => import(/* webpackChunkName: 'content---docs-0-68-0-extend-clicf-1-686' */ '@site/versioned_docs/version-0.68.0/06_extend-cli.md'), '@site/versioned_docs/version-0.68.0/06_extend-cli.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/06_extend-cli.md')],
-  'content---docs-0-68-0-extend-first-processore-81-333': [() => import(/* webpackChunkName: 'content---docs-0-68-0-extend-first-processore-81-333' */ '@site/versioned_docs/version-0.68.0/06_extend-first-processor.md'), '@site/versioned_docs/version-0.68.0/06_extend-first-processor.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/06_extend-first-processor.md')],
-  'content---docs-0-68-0-extend-sdk-event-modelf-56-9f1': [() => import(/* webpackChunkName: 'content---docs-0-68-0-extend-sdk-event-modelf-56-9f1' */ '@site/versioned_docs/version-0.68.0/06_extend-sdk-event-model.md'), '@site/versioned_docs/version-0.68.0/06_extend-sdk-event-model.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/06_extend-sdk-event-model.md')],
-  'content---docs-0-68-0-extend-sdk-functions-33-a-a08': [() => import(/* webpackChunkName: 'content---docs-0-68-0-extend-sdk-functions-33-a-a08' */ '@site/versioned_docs/version-0.68.0/06_extend-sdk-functions.md'), '@site/versioned_docs/version-0.68.0/06_extend-sdk-functions.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/06_extend-sdk-functions.md')],
-  'content---docs-0-68-0-extend-sdk-migration-service-discovery-1-d-0-0ff': [() => import(/* webpackChunkName: 'content---docs-0-68-0-extend-sdk-migration-service-discovery-1-d-0-0ff' */ '@site/versioned_docs/version-0.68.0/06_extend-sdk-migration-sd.md'), '@site/versioned_docs/version-0.68.0/06_extend-sdk-migration-sd.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/06_extend-sdk-migration-sd.md')],
-  'content---docs-0-68-0-extend-sdk-output-strategies-08-d-efd': [() => import(/* webpackChunkName: 'content---docs-0-68-0-extend-sdk-output-strategies-08-d-efd' */ '@site/versioned_docs/version-0.68.0/06_extend-sdk-output-strategies.md'), '@site/versioned_docs/version-0.68.0/06_extend-sdk-output-strategies.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/06_extend-sdk-output-strategies.md')],
-  'content---docs-0-68-0-extend-sdk-static-propertiesd-6-c-c27': [() => import(/* webpackChunkName: 'content---docs-0-68-0-extend-sdk-static-propertiesd-6-c-c27' */ '@site/versioned_docs/version-0.68.0/06_extend-sdk-static-properties.md'), '@site/versioned_docs/version-0.68.0/06_extend-sdk-static-properties.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/06_extend-sdk-static-properties.md')],
-  'content---docs-0-68-0-extend-sdk-stream-requirements-181-e37': [() => import(/* webpackChunkName: 'content---docs-0-68-0-extend-sdk-stream-requirements-181-e37' */ '@site/versioned_docs/version-0.68.0/06_extend-sdk-stream-requirements.md'), '@site/versioned_docs/version-0.68.0/06_extend-sdk-stream-requirements.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/06_extend-sdk-stream-requirements.md')],
-  'content---docs-0-68-0-extend-setupd-45-32c': [() => import(/* webpackChunkName: 'content---docs-0-68-0-extend-setupd-45-32c' */ '@site/versioned_docs/version-0.68.0/06_extend-setup.md'), '@site/versioned_docs/version-0.68.0/06_extend-setup.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/06_extend-setup.md')],
-  'content---docs-0-68-0-extend-tutorial-data-processors-979-44f': [() => import(/* webpackChunkName: 'content---docs-0-68-0-extend-tutorial-data-processors-979-44f' */ '@site/versioned_docs/version-0.68.0/06_extend-tutorial-data-processors.md'), '@site/versioned_docs/version-0.68.0/06_extend-tutorial-data-processors.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/06_extend-tutorial-data-processors.md')],
-  'content---docs-0-68-0-extend-tutorial-data-sinks-19-d-c1e': [() => import(/* webpackChunkName: 'content---docs-0-68-0-extend-tutorial-data-sinks-19-d-c1e' */ '@site/versioned_docs/version-0.68.0/06_extend-tutorial-data-sinks.md'), '@site/versioned_docs/version-0.68.0/06_extend-tutorial-data-sinks.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/06_extend-tutorial-data-sinks.md')],
-  'content---docs-0-68-0-extend-tutorial-data-sources-664-b3b': [() => import(/* webpackChunkName: 'content---docs-0-68-0-extend-tutorial-data-sources-664-b3b' */ '@site/versioned_docs/version-0.68.0/06_extend-tutorial-data-sources.md'), '@site/versioned_docs/version-0.68.0/06_extend-tutorial-data-sources.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/06_extend-tutorial-data-sources.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-connect-adapters-flic-mqttfee-c67': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-connect-adapters-flic-mqttfee-c67' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-connect-adapters-opcua-743-183': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-connect-adapters-opcua-743-183' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.adapters.opcua.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.adapters.opcua.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.adapters.opcua.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-modbus-397-01e': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-modbus-397-01e' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-connect-adapters-simulator-machine-453-a20': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-connect-adapters-simulator-machine-453-a20' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.adapters.simulator.machine.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.adapters.simulator.machine.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.adapters.simulator.machine.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-connect-protocol-stream-httpserver-453-6f1': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-connect-protocol-stream-httpserver-453-6f1' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processor-geo-jvm-geocodingedc-a26': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processor-geo-jvm-geocodingedc-a26' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processor-geo-jvm-reversegeocoding-42-c-794': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processor-geo-jvm-reversegeocoding-42-c-794' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processor-geo-jvm-staticgeocoding-102-ea6': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processor-geo-jvm-staticgeocoding-102-ea6' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classificationc-8-b-e4d': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classificationc-8-b-e4d' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-enricher-995-c87': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-enricher-995-c87' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processor-imageclassification-qrcodee-66-f28': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processor-imageclassification-qrcodee-66-f28' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.imageclassification.qrcode.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.imageclassification.qrcode.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.imageclassification.qrcode.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-aggregation-flink-aggregationebc-fef': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-aggregation-flink-aggregationebc-fef' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-aggregation-flink-count-000-b14': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-aggregation-flink-count-000-b14' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.count.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.count.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.count.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-aggregation-flink-eventcounte-2-f-2b9': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-aggregation-flink-eventcounte-2-f-2b9' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-aggregation-flink-rate-942-e43': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-aggregation-flink-rate-942-e43' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.rate.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.rate.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.rate.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-changedetection-jvm-cusumc-6-d-072': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-changedetection-jvm-cusumc-6-d-072' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-filters-jvm-limit-572-798': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-filters-jvm-limit-572-798' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.filters.jvm.limit.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.filters.jvm.limit.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.filters.jvm.limit.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-filters-jvm-mergeadf-ab7': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-filters-jvm-mergeadf-ab7' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.filters.jvm.merge.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.filters.jvm.merge.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.filters.jvm.merge.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-2-ea-ef4': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-2-ea-ef4' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-geo-jvm-processor-staticdistancecalculator-601-0c3': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-geo-jvm-processor-staticdistancecalculator-601-0c3' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-pattern-detection-flink-absence-51-a-5ff': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-pattern-detection-flink-absence-51-a-5ff' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-pattern-detection-flink-andfbe-fb4': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-pattern-detection-flink-andfbe-fb4' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-347-4f9': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-347-4f9' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-pattern-detection-flink-sequencec-7-c-6f9': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-pattern-detection-flink-sequencec-7-c-6f9' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-siddhi-frequency-731-f10': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-siddhi-frequency-731-f10' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.frequency.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.frequency.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.frequency.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-siddhi-frequencychangec-17-423': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-siddhi-frequencychangec-17-423' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.frequencychange.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.frequencychange.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.frequencychange.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-siddhi-increase-679-59c': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-siddhi-increase-679-59c' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.increase.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.increase.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.increase.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-siddhi-numericalfilterda-3-545': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-siddhi-numericalfilterda-3-545' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-siddhi-stop-023-846': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-siddhi-stop-023-846' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.stop.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.stop.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.stop.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-textmining-flink-languagedetection-263-603': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-textmining-flink-languagedetection-263-603' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-textmining-flink-wordcount-188-776': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-textmining-flink-wordcount-188-776' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-flink-field-converter-43-b-a9b': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-flink-field-converter-43-b-a9b' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-flink-field-renamer-148-a9b': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-flink-field-renamer-148-a9b' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-flink-fieldhasherab-2-f63': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-flink-fieldhasherab-2-f63' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-675-bde': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-675-bde' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-countere-79-550': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-countere-79-550' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-edgeeae-04f': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-edgeeae-04f' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-stateea-1-ed5': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-stateea-1-ed5' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-buffer-6-d-9-9a2': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-buffer-6-d-9-9a2' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-buffere-4-d-25e': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-buffere-4-d-25e' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-number-765-408': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-number-765-408' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-stringoperator-state-468-c60': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-stringoperator-state-468-c60' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-jvm-split-array-30-d-e08': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-jvm-split-array-30-d-e08' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-timerc-60-54d': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-timerc-60-54d' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-sinks-brokers-jvm-nats-60-a-09d': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-sinks-brokers-jvm-nats-60-a-09d' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmqe-54-fc2': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmqe-54-fc2' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-sinks-databases-ditto-44-f-ca9': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-sinks-databases-ditto-44-f-ca9' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.databases.ditto.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.databases.ditto.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.databases.ditto.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-sinks-databases-jvm-mysqlaab-985': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-sinks-databases-jvm-mysqlaab-985' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-sinks-internal-jvm-notification-8-e-0-404': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-sinks-internal-jvm-notification-8-e-0-404' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.internal.jvm.notification.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.internal.jvm.notification.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.internal.jvm.notification.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-sinks-notifications-jvm-slackc-4-a-1f1': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-sinks-notifications-jvm-slackc-4-a-1f1' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md')],
-  'content---docs-0-68-0-pe-org-apache-streampipes-sinks-notifications-jvm-telegram-0-f-5-4b1': [() => import(/* webpackChunkName: 'content---docs-0-68-0-pe-org-apache-streampipes-sinks-notifications-jvm-telegram-0-f-5-4b1' */ '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md'), '@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md')],
-  'content---docs-0-68-0-technicals-configuratione-69-615': [() => import(/* webpackChunkName: 'content---docs-0-68-0-technicals-configuratione-69-615' */ '@site/versioned_docs/version-0.68.0/07_technicals-configuration.md'), '@site/versioned_docs/version-0.68.0/07_technicals-configuration.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/07_technicals-configuration.md')],
-  'content---docs-0-68-0-try-installation-8-c-6-ed8': [() => import(/* webpackChunkName: 'content---docs-0-68-0-try-installation-8-c-6-ed8' */ '@site/versioned_docs/version-0.68.0/01_try-installation.md'), '@site/versioned_docs/version-0.68.0/01_try-installation.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/01_try-installation.md')],
-  'content---docs-0-68-0-try-tutorialc-46-b88': [() => import(/* webpackChunkName: 'content---docs-0-68-0-try-tutorialc-46-b88' */ '@site/versioned_docs/version-0.68.0/01_try-tutorial.md'), '@site/versioned_docs/version-0.68.0/01_try-tutorial.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/01_try-tutorial.md')],
-  'content---docs-0-68-0-use-configurations-59-c-42a': [() => import(/* webpackChunkName: 'content---docs-0-68-0-use-configurations-59-c-42a' */ '@site/versioned_docs/version-0.68.0/03_use-configurations.md'), '@site/versioned_docs/version-0.68.0/03_use-configurations.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/03_use-configurations.md')],
-  'content---docs-0-68-0-use-dashboard-3-bb-f21': [() => import(/* webpackChunkName: 'content---docs-0-68-0-use-dashboard-3-bb-f21' */ '@site/versioned_docs/version-0.68.0/03_use-dashboard.md'), '@site/versioned_docs/version-0.68.0/03_use-dashboard.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/03_use-dashboard.md')],
-  'content---docs-0-68-0-use-data-explorerb-76-dfc': [() => import(/* webpackChunkName: 'content---docs-0-68-0-use-data-explorerb-76-dfc' */ '@site/versioned_docs/version-0.68.0/03_use-data-explorer.md'), '@site/versioned_docs/version-0.68.0/03_use-data-explorer.md', require.resolveWeak('@site/versioned_docs/version-0.68.0/03_use-data-explorer.md')],
-  'content---docs-0-69-0-community-get-helpfa-2-cbf': [() => import(/* webpackChunkName: 'content---docs-0-69-0-community-get-helpfa-2-cbf' */ '@site/versioned_docs/version-0.69.0/09_get-help.md'), '@site/versioned_docs/version-0.69.0/09_get-help.md', require.resolveWeak('@site/versioned_docs/version-0.69.0/09_get-help.md')],
-  'content---docs-0-69-0-deploy-security-1-a-3-6dc': [() => import(/* webpackChunkName: 'content---docs-0-69-0-deploy-security-1-a-3-6dc' */ '@site/versioned_docs/version-0.69.0/05_deploy-security.md'), '@site/versioned_docs/version-0.69.0/05_deploy-security.md', require.resolveWeak('@site/versioned_docs/version-0.69.0/05_deploy-security.md')],
-  'content---docs-0-69-0-extend-archetypes-916-444': [() => import(/* webpackChunkName: 'content---docs-0-69-0-extend-archetypes-916-444' */ '@site/versioned_docs/version-0.69.0/06_extend-archetypes.md'), '@site/versioned_docs/version-0.69.0/06_extend-archetypes.md', require.resolveWeak('@site/versioned_docs/version-0.69.0/06_extend-archetypes.md')],
-  'content---docs-0-69-0-extend-clie-59-16f': [() => import(/* webpackChunkName: 'content---docs-0-69-0-extend-clie-59-16f' */ '@site/versioned_docs/version-0.69.0/06_extend-cli.md'), '@site/versioned_docs/version-0.69.0/06_extend-cli.md', require.resolveWeak('@site/versioned_docs/version-0.69.0/06_extend-cli.md')],
-  'content---docs-0-69-0-extend-first-processor-4-fb-fd5': [() => import(/* webpackChunkName: 'content---docs-0-69-0-extend-first-processor-4-fb-fd5' */ '@site/versioned_docs/version-0.69.0/06_extend-first-processor.md'), '@site/versioned_docs/version-0.69.0/06_extend-first-processor.md', require.resolveWeak('@site/versioned_docs/version-0.69.0/06_extend-first-processor.md')],
-  'content---docs-0-69-0-extend-sdk-event-model-16-f-7b8': [() => import(/* webpackChunkName: 'content---docs-0-69-0-extend-sdk-event-model-16-f-7b8' */ '@site/versioned_docs/version-0.69.0/06_extend-sdk-event-model.md'), '@site/versioned_docs/version-0.69.0/06_extend-sdk-event-model.md', require.resolveWeak('@site/versioned_docs/version-0.69.0/06_extend-sdk-event-model.md')],
-  'content---docs-0-69-0-extend-sdk-migration-service-discoveryafc-fbb': [() => import(/* webpackChunkName: 'content---docs-0-69-0-extend-sdk-migration-service-discoveryafc-fbb' */ '@site/versioned_docs/version-0.69.0/06_extend-sdk-migration-sd.md'), '@site/versioned_docs/version-0.69.0/06_extend-sdk-migration-sd.md', require.resolveWeak('@site/versioned_docs/version-0.69.0/06_extend-sdk-migration-sd.md')],
-  'content---docs-0-69-0-extend-sdk-stream-requirements-284-951': [() => import(/* webpackChunkName: 'content---docs-0-69-0-extend-sdk-stream-requirements-284-951' */ '@site/versioned_docs/version-0.69.0/06_extend-sdk-stream-requirements.md'), '@site/versioned_docs/version-0.69.0/06_extend-sdk-stream-requirements.md', require.resolveWeak('@site/versioned_docs/version-0.69.0/06_extend-sdk-stream-requirements.md')],
-  'content---docs-0-69-0-extend-setupd-0-e-2a4': [() => import(/* webpackChunkName: 'content---docs-0-69-0-extend-setupd-0-e-2a4' */ '@site/versioned_docs/version-0.69.0/06_extend-setup.md'), '@site/versioned_docs/version-0.69.0/06_extend-setup.md', require.resolveWeak('@site/versioned_docs/version-0.69.0/06_extend-setup.md')],
-  'content---docs-0-69-0-extend-tutorial-data-processors-7-f-5-7cb': [() => import(/* webpackChunkName: 'content---docs-0-69-0-extend-tutorial-data-processors-7-f-5-7cb' */ '@site/versioned_docs/version-0.69.0/06_extend-tutorial-data-processors.md'), '@site/versioned_docs/version-0.69.0/06_extend-tutorial-data-processors.md', require.resolveWeak('@site/versioned_docs/version-0.69.0/06_extend-tutorial-data-processors.md')],
-  'content---docs-0-69-0-extend-tutorial-data-sinks-852-3ed': [() => import(/* webpackChunkName: 'content---docs-0-69-0-extend-tutorial-data-sinks-852-3ed' */ '@site/versioned_docs/version-0.69.0/06_extend-tutorial-data-sinks.md'), '@site/versioned_docs/version-0.69.0/06_extend-tutorial-data-sinks.md', require.resolveWeak('@site/versioned_docs/version-0.69.0/06_extend-tutorial-data-sinks.md')],
-  'content---docs-0-69-0-extend-tutorial-data-sources-2-c-8-ec6': [() => import(/* webpackChunkName: 'content---docs-0-69-0-extend-tutorial-data-sources-2-c-8-ec6' */ '@site/versioned_docs/version-0.69.0/06_extend-tutorial-data-sources.md'), '@site/versioned_docs/version-0.69.0/06_extend-tutorial-data-sources.md', require.resolveWeak('@site/versioned_docs/version-0.69.0/06_extend-tutorial-data-sources.md')],
-  'content---docs-0-69-0-try-installation-5-e-5-1a4': [() => import(/* webpackChunkName: 'content---docs-0-69-0-try-installation-5-e-5-1a4' */ '@site/versioned_docs/version-0.69.0/01_try-installation.md'), '@site/versioned_docs/version-0.69.0/01_try-installation.md', require.resolveWeak('@site/versioned_docs/version-0.69.0/01_try-installation.md')],
-  'content---docs-0-69-0-use-configurations-30-a-bfc': [() => import(/* webpackChunkName: 'content---docs-0-69-0-use-configurations-30-a-bfc' */ '@site/versioned_docs/version-0.69.0/03_use-configurations.md'), '@site/versioned_docs/version-0.69.0/03_use-configurations.md', require.resolveWeak('@site/versioned_docs/version-0.69.0/03_use-configurations.md')],
-  'content---docs-0-69-0-use-dashboard-916-cd5': [() => import(/* webpackChunkName: 'content---docs-0-69-0-use-dashboard-916-cd5' */ '@site/versioned_docs/version-0.69.0/03_use-dashboard.md'), '@site/versioned_docs/version-0.69.0/03_use-dashboard.md', require.resolveWeak('@site/versioned_docs/version-0.69.0/03_use-dashboard.md')],
-  'content---docs-0-69-0-use-data-explorer-870-fcd': [() => import(/* webpackChunkName: 'content---docs-0-69-0-use-data-explorer-870-fcd' */ '@site/versioned_docs/version-0.69.0/03_use-data-explorer.md'), '@site/versioned_docs/version-0.69.0/03_use-data-explorer.md', require.resolveWeak('@site/versioned_docs/version-0.69.0/03_use-data-explorer.md')],
-  'content---docs-0-69-0-user-guide-introductiond-54-e0b': [() => import(/* webpackChunkName: 'content---docs-0-69-0-user-guide-introductiond-54-e0b' */ '@site/versioned_docs/version-0.69.0/01_try-overview.md'), '@site/versioned_docs/version-0.69.0/01_try-overview.md', require.resolveWeak('@site/versioned_docs/version-0.69.0/01_try-overview.md')],
-  'content---docs-0-69-0-version-0-90-0-community-contributed-78-b4a': [() => import(/* webpackChunkName: 'content---docs-0-69-0-version-0-90-0-community-contributed-78-b4a' */ '@site/versioned_docs/version-0.69.0/09_contribute.md'), '@site/versioned_docs/version-0.69.0/09_contribute.md', require.resolveWeak('@site/versioned_docs/version-0.69.0/09_contribute.md')],
-  'content---docs-0-69-0-version-0-90-0-extend-sdk-functions-6-b-6-c14': [() => import(/* webpackChunkName: 'content---docs-0-69-0-version-0-90-0-extend-sdk-functions-6-b-6-c14' */ '@site/versioned_docs/version-0.69.0/06_extend-sdk-functions.md'), '@site/versioned_docs/version-0.69.0/06_extend-sdk-functions.md', require.resolveWeak('@site/versioned_docs/version-0.69.0/06_extend-sdk-functions.md')],
-  'content---docs-0-69-0-version-0-90-0-extend-sdk-output-strategiesdbd-67c': [() => import(/* webpackChunkName: 'content---docs-0-69-0-version-0-90-0-extend-sdk-output-strategiesdbd-67c' */ '@site/versioned_docs/version-0.69.0/06_extend-sdk-output-strategies.md'), '@site/versioned_docs/version-0.69.0/06_extend-sdk-output-strategies.md', require.resolveWeak('@site/versioned_docs/version-0.69.0/06_extend-sdk-output-strategies.md')],
-  'content---docs-0-69-0-version-0-90-0-extend-sdk-static-propertiesb-6-f-5fc': [() => import(/* webpackChunkName: 'content---docs-0-69-0-version-0-90-0-extend-sdk-static-propertiesb-6-f-5fc' */ '@site/versioned_docs/version-0.69.0/06_extend-sdk-static-properties.md'), '@site/versioned_docs/version-0.69.0/06_extend-sdk-static-properties.md', require.resolveWeak('@site/versioned_docs/version-0.69.0/06_extend-sdk-static-properties.md')],
-  'content---docs-0-69-0-version-0-90-0-technicals-configuration-9-e-3-2d6': [() => import(/* webpackChunkName: 'content---docs-0-69-0-version-0-90-0-technicals-configuration-9-e-3-2d6' */ '@site/versioned_docs/version-0.69.0/07_technicals-configuration.md'), '@site/versioned_docs/version-0.69.0/07_technicals-configuration.md', require.resolveWeak('@site/versioned_docs/version-0.69.0/07_technicals-configuration.md')],
-  'content---docs-0-69-0-version-0-90-0-use-connect-85-a-70c': [() => import(/* webpackChunkName: 'content---docs-0-69-0-version-0-90-0-use-connect-85-a-70c' */ '@site/versioned_docs/version-0.69.0/03_use-connect.md'), '@site/versioned_docs/version-0.69.0/03_use-connect.md', require.resolveWeak('@site/versioned_docs/version-0.69.0/03_use-connect.md')],
-  'content---docs-0-69-0-version-0-90-0-use-pipeline-editor-9-ee-3f4': [() => import(/* webpackChunkName: 'content---docs-0-69-0-version-0-90-0-use-pipeline-editor-9-ee-3f4' */ '@site/versioned_docs/version-0.69.0/03_use-pipeline-editor.md'), '@site/versioned_docs/version-0.69.0/03_use-pipeline-editor.md', require.resolveWeak('@site/versioned_docs/version-0.69.0/03_use-pipeline-editor.md')],
-  'content---docs-0-69-0-version-0-90-0-user-guide-installation-590-928': [() => import(/* webpackChunkName: 'content---docs-0-69-0-version-0-90-0-user-guide-installation-590-928' */ '@site/versioned_docs/version-0.69.0/user-guide-installation.md'), '@site/versioned_docs/version-0.69.0/user-guide-installation.md', require.resolveWeak('@site/versioned_docs/version-0.69.0/user-guide-installation.md')],
   'content---docs-0-70-0-community-contribute-9-a-1-78e': [() => import(/* webpackChunkName: 'content---docs-0-70-0-community-contribute-9-a-1-78e' */ '@site/versioned_docs/version-0.70.0/09_contribute.md'), '@site/versioned_docs/version-0.70.0/09_contribute.md', require.resolveWeak('@site/versioned_docs/version-0.70.0/09_contribute.md')],
   'content---docs-0-70-0-community-get-helpf-0-d-176': [() => import(/* webpackChunkName: 'content---docs-0-70-0-community-get-helpf-0-d-176' */ '@site/versioned_docs/version-0.70.0/09_get-help.md'), '@site/versioned_docs/version-0.70.0/09_get-help.md', require.resolveWeak('@site/versioned_docs/version-0.70.0/09_get-help.md')],
   'content---docs-0-70-0-concepts-adaptere-9-d-e32': [() => import(/* webpackChunkName: 'content---docs-0-70-0-concepts-adaptere-9-d-e32' */ '@site/versioned_docs/version-0.70.0/02_concepts-adapter.md'), '@site/versioned_docs/version-0.70.0/02_concepts-adapter.md', require.resolveWeak('@site/versioned_docs/version-0.70.0/02_concepts-adapter.md')],
@@ -1508,7 +240,25 @@
   'content---docs-0-70-0-user-guide-introduction-920-3aa': [() => import(/* webpackChunkName: 'content---docs-0-70-0-user-guide-introduction-920-3aa' */ '@site/versioned_docs/version-0.70.0/01_try-overview.md'), '@site/versioned_docs/version-0.70.0/01_try-overview.md', require.resolveWeak('@site/versioned_docs/version-0.70.0/01_try-overview.md')],
   'content---docs-0-70-0-user-guide-introduction-old-2-fe-c29': [() => import(/* webpackChunkName: 'content---docs-0-70-0-user-guide-introduction-old-2-fe-c29' */ '@site/versioned_docs/version-0.70.0/user-guide-introduction.md'), '@site/versioned_docs/version-0.70.0/user-guide-introduction.md', require.resolveWeak('@site/versioned_docs/version-0.70.0/user-guide-introduction.md')],
   'content---docs-0-90-0-community-contribute-486-4c7': [() => import(/* webpackChunkName: 'content---docs-0-90-0-community-contribute-486-4c7' */ '@site/versioned_docs/version-0.90.0/09_contribute.md'), '@site/versioned_docs/version-0.90.0/09_contribute.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/09_contribute.md')],
+  'content---docs-0-90-0-community-get-helpbd-0-291': [() => import(/* webpackChunkName: 'content---docs-0-90-0-community-get-helpbd-0-291' */ '@site/versioned_docs/version-0.90.0/09_get-help.md'), '@site/versioned_docs/version-0.90.0/09_get-help.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/09_get-help.md')],
+  'content---docs-0-90-0-concepts-adapterb-8-b-1ed': [() => import(/* webpackChunkName: 'content---docs-0-90-0-concepts-adapterb-8-b-1ed' */ '@site/versioned_docs/version-0.90.0/02_concepts-adapter.md'), '@site/versioned_docs/version-0.90.0/02_concepts-adapter.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/02_concepts-adapter.md')],
+  'content---docs-0-90-0-concepts-data-streams-793-d1e': [() => import(/* webpackChunkName: 'content---docs-0-90-0-concepts-data-streams-793-d1e' */ '@site/versioned_docs/version-0.90.0/02_concepts-data-streams.md'), '@site/versioned_docs/version-0.90.0/02_concepts-data-streams.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/02_concepts-data-streams.md')],
+  'content---docs-0-90-0-concepts-glossaryeff-2c2': [() => import(/* webpackChunkName: 'content---docs-0-90-0-concepts-glossaryeff-2c2' */ '@site/versioned_docs/version-0.90.0/02_concepts-glossary.md'), '@site/versioned_docs/version-0.90.0/02_concepts-glossary.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/02_concepts-glossary.md')],
+  'content---docs-0-90-0-concepts-overview-6-f-3-140': [() => import(/* webpackChunkName: 'content---docs-0-90-0-concepts-overview-6-f-3-140' */ '@site/versioned_docs/version-0.90.0/02_concepts-overview.md'), '@site/versioned_docs/version-0.90.0/02_concepts-overview.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/02_concepts-overview.md')],
+  'content---docs-0-90-0-concepts-pipelines-161-bb0': [() => import(/* webpackChunkName: 'content---docs-0-90-0-concepts-pipelines-161-bb0' */ '@site/versioned_docs/version-0.90.0/02_concepts-pipeline.md'), '@site/versioned_docs/version-0.90.0/02_concepts-pipeline.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/02_concepts-pipeline.md')],
+  'content---docs-0-90-0-debugging-debugging-93-f-1dd': [() => import(/* webpackChunkName: 'content---docs-0-90-0-debugging-debugging-93-f-1dd' */ '@site/versioned_docs/version-0.90.0/08_debugging.md'), '@site/versioned_docs/version-0.90.0/08_debugging.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/08_debugging.md')],
+  'content---docs-0-90-0-debugging-monitoring-8-da-7ba': [() => import(/* webpackChunkName: 'content---docs-0-90-0-debugging-monitoring-8-da-7ba' */ '@site/versioned_docs/version-0.90.0/08_monitoring.md'), '@site/versioned_docs/version-0.90.0/08_monitoring.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/08_monitoring.md')],
+  'content---docs-0-90-0-deploy-dockercdb-533': [() => import(/* webpackChunkName: 'content---docs-0-90-0-deploy-dockercdb-533' */ '@site/versioned_docs/version-0.90.0/05_deploy-docker.md'), '@site/versioned_docs/version-0.90.0/05_deploy-docker.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/05_deploy-docker.md')],
+  'content---docs-0-90-0-deploy-kubernetes-123-092': [() => import(/* webpackChunkName: 'content---docs-0-90-0-deploy-kubernetes-123-092' */ '@site/versioned_docs/version-0.90.0/05_deploy-kubernetes.md'), '@site/versioned_docs/version-0.90.0/05_deploy-kubernetes.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/05_deploy-kubernetes.md')],
+  'content---docs-0-90-0-deploy-security-143-d29': [() => import(/* webpackChunkName: 'content---docs-0-90-0-deploy-security-143-d29' */ '@site/versioned_docs/version-0.90.0/05_deploy-security.md'), '@site/versioned_docs/version-0.90.0/05_deploy-security.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/05_deploy-security.md')],
+  'content---docs-0-90-0-deploy-use-ssl-7-b-8-f32': [() => import(/* webpackChunkName: 'content---docs-0-90-0-deploy-use-ssl-7-b-8-f32' */ '@site/versioned_docs/version-0.90.0/05_deploy-use-ssl.md'), '@site/versioned_docs/version-0.90.0/05_deploy-use-ssl.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/05_deploy-use-ssl.md')],
+  'content---docs-0-90-0-dev-guide-archetype-03-c-ae5': [() => import(/* webpackChunkName: 'content---docs-0-90-0-dev-guide-archetype-03-c-ae5' */ '@site/versioned_docs/version-0.90.0/dev-guide-archetype.md'), '@site/versioned_docs/version-0.90.0/dev-guide-archetype.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/dev-guide-archetype.md')],
+  'content---docs-0-90-0-dev-guide-sdk-guide-processors-429-951': [() => import(/* webpackChunkName: 'content---docs-0-90-0-dev-guide-sdk-guide-processors-429-951' */ '@site/versioned_docs/version-0.90.0/dev-guide-processor-sdk.md'), '@site/versioned_docs/version-0.90.0/dev-guide-processor-sdk.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/dev-guide-processor-sdk.md')],
+  'content---docs-0-90-0-dev-guide-sdk-guide-sinksb-58-784': [() => import(/* webpackChunkName: 'content---docs-0-90-0-dev-guide-sdk-guide-sinksb-58-784' */ '@site/versioned_docs/version-0.90.0/dev-guide-sink-sdk.md'), '@site/versioned_docs/version-0.90.0/dev-guide-sink-sdk.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/dev-guide-sink-sdk.md')],
+  'content---docs-0-90-0-extend-archetypes-61-f-631': [() => import(/* webpackChunkName: 'content---docs-0-90-0-extend-archetypes-61-f-631' */ '@site/versioned_docs/version-0.90.0/06_extend-archetypes.md'), '@site/versioned_docs/version-0.90.0/06_extend-archetypes.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/06_extend-archetypes.md')],
   'content---docs-0-90-0-extend-cli-79-d-6dc': [() => import(/* webpackChunkName: 'content---docs-0-90-0-extend-cli-79-d-6dc' */ '@site/versioned_docs/version-0.90.0/06_extend-cli.md'), '@site/versioned_docs/version-0.90.0/06_extend-cli.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/06_extend-cli.md')],
+  'content---docs-0-90-0-extend-first-processoraa-9-be1': [() => import(/* webpackChunkName: 'content---docs-0-90-0-extend-first-processoraa-9-be1' */ '@site/versioned_docs/version-0.90.0/06_extend-first-processor.md'), '@site/versioned_docs/version-0.90.0/06_extend-first-processor.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/06_extend-first-processor.md')],
+  'content---docs-0-90-0-extend-sdk-event-model-7-de-e70': [() => import(/* webpackChunkName: 'content---docs-0-90-0-extend-sdk-event-model-7-de-e70' */ '@site/versioned_docs/version-0.90.0/06_extend-sdk-event-model.md'), '@site/versioned_docs/version-0.90.0/06_extend-sdk-event-model.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/06_extend-sdk-event-model.md')],
   'content---docs-0-90-0-extend-sdk-functionsbdb-d93': [() => import(/* webpackChunkName: 'content---docs-0-90-0-extend-sdk-functionsbdb-d93' */ '@site/versioned_docs/version-0.90.0/06_extend-sdk-functions.md'), '@site/versioned_docs/version-0.90.0/06_extend-sdk-functions.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/06_extend-sdk-functions.md')],
   'content---docs-0-90-0-extend-sdk-migration-service-discoverydb-1-2c4': [() => import(/* webpackChunkName: 'content---docs-0-90-0-extend-sdk-migration-service-discoverydb-1-2c4' */ '@site/versioned_docs/version-0.90.0/06_extend-sdk-migration-sd.md'), '@site/versioned_docs/version-0.90.0/06_extend-sdk-migration-sd.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/06_extend-sdk-migration-sd.md')],
   'content---docs-0-90-0-extend-sdk-output-strategies-2-e-3-558': [() => import(/* webpackChunkName: 'content---docs-0-90-0-extend-sdk-output-strategies-2-e-3-558' */ '@site/versioned_docs/version-0.90.0/06_extend-sdk-output-strategies.md'), '@site/versioned_docs/version-0.90.0/06_extend-sdk-output-strategies.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/06_extend-sdk-output-strategies.md')],
@@ -1518,15 +268,45 @@
   'content---docs-0-90-0-extend-tutorial-data-processors-8-eb-af7': [() => import(/* webpackChunkName: 'content---docs-0-90-0-extend-tutorial-data-processors-8-eb-af7' */ '@site/versioned_docs/version-0.90.0/06_extend-tutorial-data-processors.md'), '@site/versioned_docs/version-0.90.0/06_extend-tutorial-data-processors.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/06_extend-tutorial-data-processors.md')],
   'content---docs-0-90-0-extend-tutorial-data-sinks-874-357': [() => import(/* webpackChunkName: 'content---docs-0-90-0-extend-tutorial-data-sinks-874-357' */ '@site/versioned_docs/version-0.90.0/06_extend-tutorial-data-sinks.md'), '@site/versioned_docs/version-0.90.0/06_extend-tutorial-data-sinks.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/06_extend-tutorial-data-sinks.md')],
   'content---docs-0-90-0-extend-tutorial-data-sourcesb-8-a-70e': [() => import(/* webpackChunkName: 'content---docs-0-90-0-extend-tutorial-data-sourcesb-8-a-70e' */ '@site/versioned_docs/version-0.90.0/06_extend-tutorial-data-sources.md'), '@site/versioned_docs/version-0.90.0/06_extend-tutorial-data-sources.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/06_extend-tutorial-data-sources.md')],
+  'content---docs-0-90-0-faq-common-problemsef-3-142': [() => import(/* webpackChunkName: 'content---docs-0-90-0-faq-common-problemsef-3-142' */ '@site/versioned_docs/version-0.90.0/faq-common-problems.md'), '@site/versioned_docs/version-0.90.0/faq-common-problems.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/faq-common-problems.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-coindesk-291-7ba': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-coindesk-291-7ba' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.coindesk.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.coindesk.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.coindesk.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-flic-mqtt-219-2b6': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-flic-mqtt-219-2b6' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-gdelt-27-b-058': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-gdelt-27-b-058' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.gdelt.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.gdelt.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.gdelt.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-iex-news-989-cf5': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-iex-news-989-cf5' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.iex.news.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.iex.news.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.iex.news.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-iex-stocks-470-983': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-iex-stocks-470-983' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.iex.stocks.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.iex.stocks.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.iex.stocks.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-image-set-54-c-ffd': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-image-set-54-c-ffd' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.image.set.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.image.set.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.image.set.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-image-stream-73-a-be5': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-image-stream-73-a-be5' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.image.stream.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.image.stream.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.image.stream.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-influxdb-set-83-a-26f': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-influxdb-set-83-a-26f' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.set.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.set.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.set.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-influxdb-streambbe-0b8': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-influxdb-streambbe-0b8' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-issa-59-507': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-issa-59-507' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.iss.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.iss.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.iss.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-mysql-set-353-141': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-mysql-set-353-141' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.set.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.set.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.set.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-mysql-stream-6-bb-a32': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-mysql-stream-6-bb-a32' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.stream.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.stream.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.stream.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-netio-mqtt-6-d-6-a71': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-netio-mqtt-6-d-6-a71' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-netio-rest-99-d-063': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-netio-rest-99-d-063' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.netio.rest.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.netio.rest.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.netio.rest.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-nswaustralia-trafficcamerad-1-c-167': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-nswaustralia-trafficcamerad-1-c-167' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-opcuabc-8-b06': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-opcuabc-8-b06' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.opcua.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.opcua.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.opcua.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-modbusb-54-a1d': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-modbusb-54-a1d' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-s-7-b-2-e-511': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-s-7-b-2-e-511' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-ros-80-c-492': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-ros-80-c-492' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.ros.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.ros.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.ros.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-simulator-machineab-5-d9b': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-simulator-machineab-5-d9b' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.machine.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.machine.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.machine.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-simulator-randomdatasetc-43-1d5': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-simulator-randomdatasetc-43-1d5' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-simulator-randomdatastream-891-195': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-simulator-randomdatastream-891-195' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-slack-965-ea3': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-slack-965-ea3' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.slack.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.slack.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.slack.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-tif-2-c-ad9': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-tif-2-c-ad9' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.ti.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.ti.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.ti.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-wikipedia-editb-82-079': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-wikipedia-editb-82-079' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-wikipedia-new-3-b-6-215': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-wikipedia-new-3-b-6-215' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-filee-7-b-c6c': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-filee-7-b-c6c' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.file.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.file.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.file.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-http-8-d-6-8dc': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-http-8-d-6-8dc' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.http.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.http.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.http.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-httpserver-5-c-7-c80': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-httpserver-5-c-7-c80' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-kafka-53-d-89c': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-kafka-53-d-89c' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.kafka.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.kafka.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.kafka.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-mqtte-43-879': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-mqtte-43-879' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-pulsar-005-3c6': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-pulsar-005-3c6' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processor-geo-flinkac-2-487': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processor-geo-flinkac-2-487' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processor.geo.flink.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processor.geo.flink.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processor.geo.flink.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processor-geo-jvm-geocoding-195-52f': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processor-geo-jvm-geocoding-195-52f' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processor-geo-jvm-reversegeocodingbf-7-4e8': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processor-geo-jvm-reversegeocodingbf-7-4e8' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processor-geo-jvm-staticgeocoding-583-da3': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processor-geo-jvm-staticgeocoding-583-da3' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-4-f-0-520': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-4-f-0-520' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-cropper-873-155': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-cropper-873-155' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-enricher-9-f-1-a55': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-enricher-9-f-1-a55' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processor-imageclassification-qrcode-4-d-6-4b9': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processor-imageclassification-qrcode-4-d-6-4b9' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processor.imageclassification.qrcode.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processor.imageclassification.qrcode.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processor.imageclassification.qrcode.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processors-aggregation-flink-aggregationbab-cc1': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-aggregation-flink-aggregationbab-cc1' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md')],
@@ -1534,9 +314,26 @@
   'content---docs-0-90-0-pe-org-apache-streampipes-processors-aggregation-flink-eventcount-84-e-5ca': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-aggregation-flink-eventcount-84-e-5ca' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processors-aggregation-flink-rate-54-d-784': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-aggregation-flink-rate-54-d-784' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.rate.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.rate.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.rate.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processors-changedetection-jvm-cusum-6-ff-d84': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-changedetection-jvm-cusum-6-ff-d84' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-9-de-1b5': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-9-de-1b5' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathopa-9-b-5f3': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathopa-9-b-5f3' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-enricher-flink-processor-trigonometrye-78-510': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-enricher-flink-processor-trigonometrye-78-510' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-enricher-flink-processor-urldereferencing-162-a06': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-enricher-flink-processor-urldereferencing-162-a06' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-enricher-flink-timestampdb-8-31f': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-enricher-flink-timestampdb-8-31f' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-enricher-jvm-sizemeasure-2-de-25e': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-enricher-jvm-sizemeasure-2-de-25e' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-compose-587-af6': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-compose-587-af6' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.compose.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.compose.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.compose.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-enrich-468-905': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-enrich-468-905' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.enrich.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.enrich.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.enrich.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-limit-807-5db': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-limit-807-5db' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.limit.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.limit.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.limit.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-mergec-8-e-472': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-mergec-8-e-472' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.merge.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.merge.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.merge.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-numericalfilter-1-ab-676': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-numericalfilter-1-ab-676' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-numericaltextfilter-152-58c': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-numericaltextfilter-152-58c' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-project-178-1a4': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-project-178-1a4' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.project.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.project.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.project.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-textfilter-321-cc6': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-textfilter-321-cc6' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-thresholda-80-fa1': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-thresholda-80-fa1' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.threshold.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.threshold.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.threshold.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-lat-lng-to-geo-563-914': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-lat-lng-to-geo-563-914' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-set-epsg-744-479': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-set-epsg-744-479' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-trajectory-6-e-8-371': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-trajectory-6-e-8-371' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-0-d-7-787': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-0-d-7-787' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-processor-speed-829-793': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-processor-speed-829-793' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-processor-staticdistancecalculatorde-9-7ab': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-processor-staticdistancecalculatorde-9-7ab' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processors-pattern-detection-flink-absence-184-645': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-pattern-detection-flink-absence-184-645' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processors-pattern-detection-flink-and-122-531': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-pattern-detection-flink-and-122-531' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md')],
@@ -1546,48 +343,156 @@
   'content---docs-0-90-0-pe-org-apache-streampipes-processors-siddhi-frequencychange-49-d-152': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-siddhi-frequencychange-49-d-152' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.siddhi.frequencychange.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.siddhi.frequencychange.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.siddhi.frequencychange.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processors-siddhi-increase-487-99c': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-siddhi-increase-487-99c' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.siddhi.increase.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.siddhi.increase.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.siddhi.increase.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processors-siddhi-numericalfilterc-58-353': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-siddhi-numericalfilterc-58-353' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-siddhi-sequence-3-b-2-75d': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-siddhi-sequence-3-b-2-75d' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.siddhi.sequence.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.siddhi.sequence.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.siddhi.sequence.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processors-siddhi-stop-1-d-8-0ed': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-siddhi-stop-1-d-8-0ed' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.siddhi.stop.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.siddhi.stop.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.siddhi.stop.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-statistics-flink-statistics-summarybcc-31a': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-statistics-flink-statistics-summarybcc-31a' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processors-textmining-flink-languagedetection-51-a-632': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-textmining-flink-languagedetection-51-a-632' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processors-textmining-flink-wordcount-43-e-82a': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-textmining-flink-wordcount-43-e-82a' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-chunker-3-a-3-5cb': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-chunker-3-a-3-5cb' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-languagedetectionf-7-c-699': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-languagedetectionf-7-c-699' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-namefinder-07-d-d72': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-namefinder-07-d-d72' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-partofspeechace-6c5': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-partofspeechace-6c5' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-sentencedetectioncd-0-25b': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-sentencedetectioncd-0-25b' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-tokenizer-0-aa-eb8': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-tokenizer-0-aa-eb8' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-field-converter-559-fea': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-field-converter-559-fea' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-field-mapper-9-a-7-446': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-field-mapper-9-a-7-446' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-field-renamerc-31-edf': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-field-renamerc-31-edf' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-fieldhasher-614-956': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-fieldhasher-614-956' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-64-f-43a': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-64-f-43a' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-processor-boilerplate-06-e-836': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-processor-boilerplate-06-e-836' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-counterf-06-31c': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-counterf-06-31c' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-inverter-140-1fd': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-inverter-140-1fd' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeeping-239-cda': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeeping-239-cda' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timerdb-6-ff6': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timerdb-6-ff6' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-changed-valuecfb-4cb': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-changed-valuecfb-4cb' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-count-arrayf-2-f-bbe': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-count-arrayf-2-f-bbe' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-csvmetadatac-4-c-c5f': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-csvmetadatac-4-c-c5f' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-duration-value-92-c-80d': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-duration-value-92-c-80d' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-edge-7-b-9-814': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-edge-7-b-9-814' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-statef-34-8d7': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-statef-34-8d7' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-bufferad-9-907': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-bufferad-9-907' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-buffer-5-ad-31b': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-buffer-5-ad-31b' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-number-908-78c': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-number-908-78c' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-stringoperator-state-675-dcb': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-stringoperator-state-675-dcb' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractordff-51a': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractordff-51a' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-split-array-798-8b9': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-split-array-798-8b9' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-counter-517-414': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-counter-517-414' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-timer-2-f-3-5c3': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-timer-2-f-3-5c3' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-taskduration-61-d-e79': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-taskduration-61-d-e79' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-transform-to-booleanf-2-d-ab5': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-transform-to-booleanf-2-d-ab5' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-protocol-set-file-40-a-9d9': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-protocol-set-file-40-a-9d9' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.protocol.set.file.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.protocol.set.file.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.protocol.set.file.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-protocol-set-httpd-0-a-03b': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-protocol-set-httpd-0-a-03b' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.protocol.set.http.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.protocol.set.http.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.protocol.set.http.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-bufferrest-04-d-963': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-bufferrest-04-d-963' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-jmsd-87-c82': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-jmsd-87-c82' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-kafka-428-f06': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-kafka-428-f06' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-mqtt-965-adf': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-mqtt-965-adf' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-nats-965-1c9': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-nats-965-1c9' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-pulsar-4-e-0-391': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-pulsar-4-e-0-391' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmqf-98-037': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmqf-98-037' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-rest-038-928': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-rest-038-928' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-sinks-databases-dittof-9-d-9b9': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-sinks-databases-dittof-9-d-9b9' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.ditto.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.ditto.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.ditto.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-sinks-databases-flink-elasticsearch-704-42c': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-sinks-databases-flink-elasticsearch-704-42c' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-couchdb-368-fdb': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-couchdb-368-fdb' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-influxdbb-13-d62': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-influxdbb-13-d62' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-iotdb-584-e6f': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-iotdb-584-e6f' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-mysql-86-d-d56': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-mysql-86-d-d56' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-opcuaecf-b0e': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-opcuaecf-b0e' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-postgresql-0-c-9-2ac': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-postgresql-0-c-9-2ac' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-sinks-internal-jvm-dashboard-73-b-be6': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-sinks-internal-jvm-dashboard-73-b-be6' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-sinks-internal-jvm-datalake-453-8c3': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-sinks-internal-jvm-datalake-453-8c3' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-sinks-internal-jvm-notification-3-a-8-7c7': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-sinks-internal-jvm-notification-3-a-8-7c7' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.notification.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.notification.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.notification.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-sinks-notifications-jvm-email-339-680': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-sinks-notifications-jvm-email-339-680' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.email.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.email.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.email.md')],
+  'content---docs-0-90-0-pe-org-apache-streampipes-sinks-notifications-jvm-onesignal-8-c-9-5a9': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-sinks-notifications-jvm-onesignal-8-c-9-5a9' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-sinks-notifications-jvm-slackc-7-a-3af': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-sinks-notifications-jvm-slackc-7-a-3af' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md')],
   'content---docs-0-90-0-pe-org-apache-streampipes-sinks-notifications-jvm-telegram-7-b-2-03a': [() => import(/* webpackChunkName: 'content---docs-0-90-0-pe-org-apache-streampipes-sinks-notifications-jvm-telegram-7-b-2-03a' */ '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md'), '@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md')],
+  'content---docs-0-90-0-technicals-architectureb-1-b-c6d': [() => import(/* webpackChunkName: 'content---docs-0-90-0-technicals-architectureb-1-b-c6d' */ '@site/versioned_docs/version-0.90.0/07_technicals-architecture.md'), '@site/versioned_docs/version-0.90.0/07_technicals-architecture.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/07_technicals-architecture.md')],
   'content---docs-0-90-0-technicals-configuration-45-a-c87': [() => import(/* webpackChunkName: 'content---docs-0-90-0-technicals-configuration-45-a-c87' */ '@site/versioned_docs/version-0.90.0/07_technicals-configuration.md'), '@site/versioned_docs/version-0.90.0/07_technicals-configuration.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/07_technicals-configuration.md')],
+  'content---docs-0-90-0-technicals-messagingc-5-b-9a4': [() => import(/* webpackChunkName: 'content---docs-0-90-0-technicals-messagingc-5-b-9a4' */ '@site/versioned_docs/version-0.90.0/07_technicals-messaging.md'), '@site/versioned_docs/version-0.90.0/07_technicals-messaging.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/07_technicals-messaging.md')],
+  'content---docs-0-90-0-technicals-runtime-wrappers-5-fa-c45': [() => import(/* webpackChunkName: 'content---docs-0-90-0-technicals-runtime-wrappers-5-fa-c45' */ '@site/versioned_docs/version-0.90.0/07_technicals-runtime-wrappers.md'), '@site/versioned_docs/version-0.90.0/07_technicals-runtime-wrappers.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/07_technicals-runtime-wrappers.md')],
+  'content---docs-0-90-0-technicals-user-guidance-12-f-a55': [() => import(/* webpackChunkName: 'content---docs-0-90-0-technicals-user-guidance-12-f-a55' */ '@site/versioned_docs/version-0.90.0/07_technicals-user-guidance.md'), '@site/versioned_docs/version-0.90.0/07_technicals-user-guidance.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/07_technicals-user-guidance.md')],
   'content---docs-0-90-0-try-installation-4-ff-554': [() => import(/* webpackChunkName: 'content---docs-0-90-0-try-installation-4-ff-554' */ '@site/versioned_docs/version-0.90.0/01_try-installation.md'), '@site/versioned_docs/version-0.90.0/01_try-installation.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/01_try-installation.md')],
+  'content---docs-0-90-0-try-tutorial-36-c-b1d': [() => import(/* webpackChunkName: 'content---docs-0-90-0-try-tutorial-36-c-b1d' */ '@site/versioned_docs/version-0.90.0/01_try-tutorial.md'), '@site/versioned_docs/version-0.90.0/01_try-tutorial.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/01_try-tutorial.md')],
+  'content---docs-0-90-0-use-configurations-625-058': [() => import(/* webpackChunkName: 'content---docs-0-90-0-use-configurations-625-058' */ '@site/versioned_docs/version-0.90.0/03_use-configurations.md'), '@site/versioned_docs/version-0.90.0/03_use-configurations.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/03_use-configurations.md')],
   'content---docs-0-90-0-use-connect-0-a-4-114': [() => import(/* webpackChunkName: 'content---docs-0-90-0-use-connect-0-a-4-114' */ '@site/versioned_docs/version-0.90.0/03_use-connect.md'), '@site/versioned_docs/version-0.90.0/03_use-connect.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/03_use-connect.md')],
+  'content---docs-0-90-0-use-dashboard-481-b53': [() => import(/* webpackChunkName: 'content---docs-0-90-0-use-dashboard-481-b53' */ '@site/versioned_docs/version-0.90.0/03_use-dashboard.md'), '@site/versioned_docs/version-0.90.0/03_use-dashboard.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/03_use-dashboard.md')],
+  'content---docs-0-90-0-use-data-explorer-467-8eb': [() => import(/* webpackChunkName: 'content---docs-0-90-0-use-data-explorer-467-8eb' */ '@site/versioned_docs/version-0.90.0/03_use-data-explorer.md'), '@site/versioned_docs/version-0.90.0/03_use-data-explorer.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/03_use-data-explorer.md')],
+  'content---docs-0-90-0-use-install-pipeline-elementsff-7-350': [() => import(/* webpackChunkName: 'content---docs-0-90-0-use-install-pipeline-elementsff-7-350' */ '@site/versioned_docs/version-0.90.0/03_use-install-pipeline-elements.md'), '@site/versioned_docs/version-0.90.0/03_use-install-pipeline-elements.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/03_use-install-pipeline-elements.md')],
+  'content---docs-0-90-0-use-managing-pipelines-5-f-4-712': [() => import(/* webpackChunkName: 'content---docs-0-90-0-use-managing-pipelines-5-f-4-712' */ '@site/versioned_docs/version-0.90.0/03_use-managing-pipelines.md'), '@site/versioned_docs/version-0.90.0/03_use-managing-pipelines.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/03_use-managing-pipelines.md')],
+  'content---docs-0-90-0-use-notifications-946-584': [() => import(/* webpackChunkName: 'content---docs-0-90-0-use-notifications-946-584' */ '@site/versioned_docs/version-0.90.0/03_use-notifications.md'), '@site/versioned_docs/version-0.90.0/03_use-notifications.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/03_use-notifications.md')],
   'content---docs-0-90-0-use-pipeline-editor-9-b-3-c32': [() => import(/* webpackChunkName: 'content---docs-0-90-0-use-pipeline-editor-9-b-3-c32' */ '@site/versioned_docs/version-0.90.0/03_use-pipeline-editor.md'), '@site/versioned_docs/version-0.90.0/03_use-pipeline-editor.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/03_use-pipeline-editor.md')],
   'content---docs-0-90-0-user-guide-first-steps-442-f21': [() => import(/* webpackChunkName: 'content---docs-0-90-0-user-guide-first-steps-442-f21' */ '@site/versioned_docs/version-0.90.0/user-guide-first-steps.md'), '@site/versioned_docs/version-0.90.0/user-guide-first-steps.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/user-guide-first-steps.md')],
   'content---docs-0-90-0-user-guide-installation-07-b-21e': [() => import(/* webpackChunkName: 'content---docs-0-90-0-user-guide-installation-07-b-21e' */ '@site/versioned_docs/version-0.90.0/user-guide-installation.md'), '@site/versioned_docs/version-0.90.0/user-guide-installation.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/user-guide-installation.md')],
   'content---docs-0-90-0-user-guide-introduction-11-b-351': [() => import(/* webpackChunkName: 'content---docs-0-90-0-user-guide-introduction-11-b-351' */ '@site/versioned_docs/version-0.90.0/01_try-overview.md'), '@site/versioned_docs/version-0.90.0/01_try-overview.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/01_try-overview.md')],
   'content---docs-0-90-0-user-guide-introduction-oldfc-3-49a': [() => import(/* webpackChunkName: 'content---docs-0-90-0-user-guide-introduction-oldfc-3-49a' */ '@site/versioned_docs/version-0.90.0/user-guide-introduction.md'), '@site/versioned_docs/version-0.90.0/user-guide-introduction.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/user-guide-introduction.md')],
   'content---docs-0-90-0-user-guide-software-componentse-7-b-b8b': [() => import(/* webpackChunkName: 'content---docs-0-90-0-user-guide-software-componentse-7-b-b8b' */ '@site/versioned_docs/version-0.90.0/user-guide-software-components.md'), '@site/versioned_docs/version-0.90.0/user-guide-software-components.md', require.resolveWeak('@site/versioned_docs/version-0.90.0/user-guide-software-components.md')],
+  'content---docs-0-91-0-community-contributebf-4-3d1': [() => import(/* webpackChunkName: 'content---docs-0-91-0-community-contributebf-4-3d1' */ '@site/versioned_docs/version-0.91.0/09_contribute.md'), '@site/versioned_docs/version-0.91.0/09_contribute.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/09_contribute.md')],
+  'content---docs-0-91-0-community-get-helpf-7-f-759': [() => import(/* webpackChunkName: 'content---docs-0-91-0-community-get-helpf-7-f-759' */ '@site/versioned_docs/version-0.91.0/09_get-help.md'), '@site/versioned_docs/version-0.91.0/09_get-help.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/09_get-help.md')],
+  'content---docs-0-91-0-concepts-adapter-5-f-9-50c': [() => import(/* webpackChunkName: 'content---docs-0-91-0-concepts-adapter-5-f-9-50c' */ '@site/versioned_docs/version-0.91.0/02_concepts-adapter.md'), '@site/versioned_docs/version-0.91.0/02_concepts-adapter.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/02_concepts-adapter.md')],
+  'content---docs-0-91-0-concepts-data-streams-1-e-3-a74': [() => import(/* webpackChunkName: 'content---docs-0-91-0-concepts-data-streams-1-e-3-a74' */ '@site/versioned_docs/version-0.91.0/02_concepts-data-streams.md'), '@site/versioned_docs/version-0.91.0/02_concepts-data-streams.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/02_concepts-data-streams.md')],
+  'content---docs-0-91-0-concepts-glossary-894-de1': [() => import(/* webpackChunkName: 'content---docs-0-91-0-concepts-glossary-894-de1' */ '@site/versioned_docs/version-0.91.0/02_concepts-glossary.md'), '@site/versioned_docs/version-0.91.0/02_concepts-glossary.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/02_concepts-glossary.md')],
+  'content---docs-0-91-0-concepts-overview-5-a-2-093': [() => import(/* webpackChunkName: 'content---docs-0-91-0-concepts-overview-5-a-2-093' */ '@site/versioned_docs/version-0.91.0/02_concepts-overview.md'), '@site/versioned_docs/version-0.91.0/02_concepts-overview.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/02_concepts-overview.md')],
+  'content---docs-0-91-0-concepts-pipelines-79-a-0b0': [() => import(/* webpackChunkName: 'content---docs-0-91-0-concepts-pipelines-79-a-0b0' */ '@site/versioned_docs/version-0.91.0/02_concepts-pipeline.md'), '@site/versioned_docs/version-0.91.0/02_concepts-pipeline.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/02_concepts-pipeline.md')],
+  'content---docs-0-91-0-debugging-debugging-667-df7': [() => import(/* webpackChunkName: 'content---docs-0-91-0-debugging-debugging-667-df7' */ '@site/versioned_docs/version-0.91.0/08_debugging.md'), '@site/versioned_docs/version-0.91.0/08_debugging.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/08_debugging.md')],
+  'content---docs-0-91-0-debugging-monitoringc-97-22f': [() => import(/* webpackChunkName: 'content---docs-0-91-0-debugging-monitoringc-97-22f' */ '@site/versioned_docs/version-0.91.0/08_monitoring.md'), '@site/versioned_docs/version-0.91.0/08_monitoring.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/08_monitoring.md')],
+  'content---docs-0-91-0-deploy-docker-961-358': [() => import(/* webpackChunkName: 'content---docs-0-91-0-deploy-docker-961-358' */ '@site/versioned_docs/version-0.91.0/05_deploy-docker.md'), '@site/versioned_docs/version-0.91.0/05_deploy-docker.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/05_deploy-docker.md')],
+  'content---docs-0-91-0-deploy-kubernetes-8-e-3-9d1': [() => import(/* webpackChunkName: 'content---docs-0-91-0-deploy-kubernetes-8-e-3-9d1' */ '@site/versioned_docs/version-0.91.0/05_deploy-kubernetes.md'), '@site/versioned_docs/version-0.91.0/05_deploy-kubernetes.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/05_deploy-kubernetes.md')],
+  'content---docs-0-91-0-deploy-securitybda-d51': [() => import(/* webpackChunkName: 'content---docs-0-91-0-deploy-securitybda-d51' */ '@site/versioned_docs/version-0.91.0/05_deploy-security.md'), '@site/versioned_docs/version-0.91.0/05_deploy-security.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/05_deploy-security.md')],
+  'content---docs-0-91-0-deploy-use-ssl-3-fc-775': [() => import(/* webpackChunkName: 'content---docs-0-91-0-deploy-use-ssl-3-fc-775' */ '@site/versioned_docs/version-0.91.0/05_deploy-use-ssl.md'), '@site/versioned_docs/version-0.91.0/05_deploy-use-ssl.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/05_deploy-use-ssl.md')],
+  'content---docs-0-91-0-dev-guide-archetype-159-a78': [() => import(/* webpackChunkName: 'content---docs-0-91-0-dev-guide-archetype-159-a78' */ '@site/versioned_docs/version-0.91.0/dev-guide-archetype.md'), '@site/versioned_docs/version-0.91.0/dev-guide-archetype.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/dev-guide-archetype.md')],
+  'content---docs-0-91-0-dev-guide-sdk-guide-processors-32-b-34c': [() => import(/* webpackChunkName: 'content---docs-0-91-0-dev-guide-sdk-guide-processors-32-b-34c' */ '@site/versioned_docs/version-0.91.0/dev-guide-processor-sdk.md'), '@site/versioned_docs/version-0.91.0/dev-guide-processor-sdk.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/dev-guide-processor-sdk.md')],
+  'content---docs-0-91-0-dev-guide-sdk-guide-sinks-5-b-6-207': [() => import(/* webpackChunkName: 'content---docs-0-91-0-dev-guide-sdk-guide-sinks-5-b-6-207' */ '@site/versioned_docs/version-0.91.0/dev-guide-sink-sdk.md'), '@site/versioned_docs/version-0.91.0/dev-guide-sink-sdk.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/dev-guide-sink-sdk.md')],
+  'content---docs-0-91-0-extend-archetypes-79-c-a95': [() => import(/* webpackChunkName: 'content---docs-0-91-0-extend-archetypes-79-c-a95' */ '@site/versioned_docs/version-0.91.0/06_extend-archetypes.md'), '@site/versioned_docs/version-0.91.0/06_extend-archetypes.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/06_extend-archetypes.md')],
+  'content---docs-0-91-0-extend-cli-235-488': [() => import(/* webpackChunkName: 'content---docs-0-91-0-extend-cli-235-488' */ '@site/versioned_docs/version-0.91.0/06_extend-cli.md'), '@site/versioned_docs/version-0.91.0/06_extend-cli.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/06_extend-cli.md')],
+  'content---docs-0-91-0-extend-first-processora-50-361': [() => import(/* webpackChunkName: 'content---docs-0-91-0-extend-first-processora-50-361' */ '@site/versioned_docs/version-0.91.0/06_extend-first-processor.md'), '@site/versioned_docs/version-0.91.0/06_extend-first-processor.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/06_extend-first-processor.md')],
+  'content---docs-0-91-0-extend-sdk-event-modele-87-c56': [() => import(/* webpackChunkName: 'content---docs-0-91-0-extend-sdk-event-modele-87-c56' */ '@site/versioned_docs/version-0.91.0/06_extend-sdk-event-model.md'), '@site/versioned_docs/version-0.91.0/06_extend-sdk-event-model.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/06_extend-sdk-event-model.md')],
+  'content---docs-0-91-0-extend-sdk-functionsf-95-66a': [() => import(/* webpackChunkName: 'content---docs-0-91-0-extend-sdk-functionsf-95-66a' */ '@site/versioned_docs/version-0.91.0/06_extend-sdk-functions.md'), '@site/versioned_docs/version-0.91.0/06_extend-sdk-functions.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/06_extend-sdk-functions.md')],
+  'content---docs-0-91-0-extend-sdk-migration-service-discovery-070-870': [() => import(/* webpackChunkName: 'content---docs-0-91-0-extend-sdk-migration-service-discovery-070-870' */ '@site/versioned_docs/version-0.91.0/06_extend-sdk-migration-sd.md'), '@site/versioned_docs/version-0.91.0/06_extend-sdk-migration-sd.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/06_extend-sdk-migration-sd.md')],
+  'content---docs-0-91-0-extend-sdk-output-strategiesf-88-863': [() => import(/* webpackChunkName: 'content---docs-0-91-0-extend-sdk-output-strategiesf-88-863' */ '@site/versioned_docs/version-0.91.0/06_extend-sdk-output-strategies.md'), '@site/versioned_docs/version-0.91.0/06_extend-sdk-output-strategies.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/06_extend-sdk-output-strategies.md')],
+  'content---docs-0-91-0-extend-sdk-static-properties-3-e-4-6c9': [() => import(/* webpackChunkName: 'content---docs-0-91-0-extend-sdk-static-properties-3-e-4-6c9' */ '@site/versioned_docs/version-0.91.0/06_extend-sdk-static-properties.md'), '@site/versioned_docs/version-0.91.0/06_extend-sdk-static-properties.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/06_extend-sdk-static-properties.md')],
+  'content---docs-0-91-0-extend-sdk-stream-requirementsef-3-150': [() => import(/* webpackChunkName: 'content---docs-0-91-0-extend-sdk-stream-requirementsef-3-150' */ '@site/versioned_docs/version-0.91.0/06_extend-sdk-stream-requirements.md'), '@site/versioned_docs/version-0.91.0/06_extend-sdk-stream-requirements.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/06_extend-sdk-stream-requirements.md')],
   'content---docs-0-91-0-extend-setup-223-978': [() => import(/* webpackChunkName: 'content---docs-0-91-0-extend-setup-223-978' */ '@site/versioned_docs/version-0.91.0/06_extend-setup.md'), '@site/versioned_docs/version-0.91.0/06_extend-setup.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/06_extend-setup.md')],
+  'content---docs-0-91-0-extend-tutorial-data-processorsf-46-c6d': [() => import(/* webpackChunkName: 'content---docs-0-91-0-extend-tutorial-data-processorsf-46-c6d' */ '@site/versioned_docs/version-0.91.0/06_extend-tutorial-data-processors.md'), '@site/versioned_docs/version-0.91.0/06_extend-tutorial-data-processors.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/06_extend-tutorial-data-processors.md')],
+  'content---docs-0-91-0-extend-tutorial-data-sinksfde-20d': [() => import(/* webpackChunkName: 'content---docs-0-91-0-extend-tutorial-data-sinksfde-20d' */ '@site/versioned_docs/version-0.91.0/06_extend-tutorial-data-sinks.md'), '@site/versioned_docs/version-0.91.0/06_extend-tutorial-data-sinks.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/06_extend-tutorial-data-sinks.md')],
+  'content---docs-0-91-0-extend-tutorial-data-sourcesf-9-c-cdb': [() => import(/* webpackChunkName: 'content---docs-0-91-0-extend-tutorial-data-sourcesf-9-c-cdb' */ '@site/versioned_docs/version-0.91.0/06_extend-tutorial-data-sources.md'), '@site/versioned_docs/version-0.91.0/06_extend-tutorial-data-sources.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/06_extend-tutorial-data-sources.md')],
+  'content---docs-0-91-0-faq-common-problemsc-91-e1f': [() => import(/* webpackChunkName: 'content---docs-0-91-0-faq-common-problemsc-91-e1f' */ '@site/versioned_docs/version-0.91.0/faq-common-problems.md'), '@site/versioned_docs/version-0.91.0/faq-common-problems.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/faq-common-problems.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-coindeskab-8-343': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-coindeskab-8-343' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.coindesk.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.coindesk.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.coindesk.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-flic-mqtt-612-b73': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-flic-mqtt-612-b73' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-gdelte-91-ff9': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-gdelte-91-ff9' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.gdelt.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.gdelt.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.gdelt.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-iex-newse-79-126': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-iex-newse-79-126' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.iex.news.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.iex.news.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.iex.news.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-iex-stocksd-77-9c7': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-iex-stocksd-77-9c7' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.iex.stocks.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.iex.stocks.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.iex.stocks.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-image-set-51-f-68e': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-image-set-51-f-68e' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.image.set.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.image.set.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.image.set.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-image-streama-65-d7f': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-image-streama-65-d7f' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.image.stream.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.image.stream.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.image.stream.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-influxdb-setd-65-016': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-influxdb-setd-65-016' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.set.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.set.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.set.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-influxdb-streamb-34-edd': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-influxdb-streamb-34-edd' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-iss-348-7b9': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-iss-348-7b9' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.iss.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.iss.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.iss.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-mysql-set-81-c-cc8': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-mysql-set-81-c-cc8' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.set.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.set.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.set.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-mysql-stream-78-b-ad1': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-mysql-stream-78-b-ad1' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.stream.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.stream.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.stream.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-netio-mqttf-7-a-7a5': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-netio-mqttf-7-a-7a5' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-netio-rest-0-fd-8b0': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-netio-rest-0-fd-8b0' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.netio.rest.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.netio.rest.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.netio.rest.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-nswaustralia-trafficcamera-1-ec-037': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-nswaustralia-trafficcamera-1-ec-037' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-opcua-3-e-1-5cd': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-opcua-3-e-1-5cd' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.opcua.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.opcua.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.opcua.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-modbusd-80-6da': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-modbusd-80-6da' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-s-75-d-7-3d6': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-s-75-d-7-3d6' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-rosd-34-cb5': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-rosd-34-cb5' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.ros.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.ros.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.ros.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-simulator-machine-331-966': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-simulator-machine-331-966' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.machine.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.machine.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.machine.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-simulator-randomdataset-35-c-28c': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-simulator-randomdataset-35-c-28c' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-simulator-randomdatastreameab-7a2': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-simulator-randomdatastreameab-7a2' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-slack-71-e-80e': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-slack-71-e-80e' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.slack.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.slack.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.slack.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-tie-5-e-b07': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-tie-5-e-b07' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.ti.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.ti.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.ti.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-wikipedia-edit-13-e-4f0': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-wikipedia-edit-13-e-4f0' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-wikipedia-new-0-d-1-dd0': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-wikipedia-new-0-d-1-dd0' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-file-8-e-0-263': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-file-8-e-0-263' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.file.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.file.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.file.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-httpade-0e2': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-httpade-0e2' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.http.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.http.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.http.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-httpserver-28-d-ec4': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-httpserver-28-d-ec4' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-kafkaea-2-4b1': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-kafkaea-2-4b1' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.kafka.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.kafka.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.kafka.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-mqttb-21-7ed': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-mqttb-21-7ed' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-pulsar-5-da-7b6': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-pulsar-5-da-7b6' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processor-geo-flink-664-423': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processor-geo-flink-664-423' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processor.geo.flink.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processor.geo.flink.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processor.geo.flink.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processor-geo-jvm-geocodingc-37-f82': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processor-geo-jvm-geocodingc-37-f82' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processor-geo-jvm-reversegeocoding-76-e-4c0': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processor-geo-jvm-reversegeocoding-76-e-4c0' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processor-geo-jvm-staticgeocoding-7-a-8-edb': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processor-geo-jvm-staticgeocoding-7-a-8-edb' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classificationc-5-a-2ed': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classificationc-5-a-2ed' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-cropper-619-013': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-cropper-619-013' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-enricheree-2-51e': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-enricheree-2-51e' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processor-imageclassification-qrcode-350-6ae': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processor-imageclassification-qrcode-350-6ae' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processor.imageclassification.qrcode.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processor.imageclassification.qrcode.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processor.imageclassification.qrcode.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processors-aggregation-flink-aggregationf-6-e-5fc': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-aggregation-flink-aggregationf-6-e-5fc' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md')],
@@ -1595,9 +500,26 @@
   'content---docs-0-91-0-pe-org-apache-streampipes-processors-aggregation-flink-eventcount-8-d-7-12c': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-aggregation-flink-eventcount-8-d-7-12c' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processors-aggregation-flink-ratef-04-184': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-aggregation-flink-ratef-04-184' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.rate.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.rate.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.rate.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processors-changedetection-jvm-cusum-7-f-6-0c4': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-changedetection-jvm-cusum-7-f-6-0c4' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-4-a-9-e75': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-4-a-9-e75' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathopbe-3-6a7': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathopbe-3-6a7' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-enricher-flink-processor-trigonometry-0-ec-0af': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-enricher-flink-processor-trigonometry-0-ec-0af' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-enricher-flink-processor-urldereferencing-686-dbb': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-enricher-flink-processor-urldereferencing-686-dbb' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-enricher-flink-timestamp-6-cd-626': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-enricher-flink-timestamp-6-cd-626' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-enricher-jvm-sizemeasureafe-401': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-enricher-jvm-sizemeasureafe-401' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-composed-53-366': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-composed-53-366' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.compose.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.compose.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.compose.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-enriche-2-e-2e9': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-enriche-2-e-2e9' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.enrich.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.enrich.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.enrich.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-limit-26-d-382': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-limit-26-d-382' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.limit.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.limit.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.limit.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-merge-7-d-1-dde': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-merge-7-d-1-dde' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.merge.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.merge.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.merge.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-numericalfilter-8-c-0-8c3': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-numericalfilter-8-c-0-8c3' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-numericaltextfilter-161-e75': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-numericaltextfilter-161-e75' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-project-87-c-126': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-project-87-c-126' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.project.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.project.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.project.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-textfiltercd-9-36c': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-textfiltercd-9-36c' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-thresholdd-28-395': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-thresholdd-28-395' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.threshold.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.threshold.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.threshold.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-lat-lng-to-geo-81-e-81f': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-lat-lng-to-geo-81-e-81f' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-set-epsg-2-d-2-38f': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-set-epsg-2-d-2-38f' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-trajectory-93-c-d13': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-trajectory-93-c-d13' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-422-533': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-422-533' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-processor-speedf-01-55b': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-processor-speedf-01-55b' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-processor-staticdistancecalculatorad-5-5a7': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-processor-staticdistancecalculatorad-5-5a7' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processors-pattern-detection-flink-absence-84-f-b62': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-pattern-detection-flink-absence-84-f-b62' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processors-pattern-detection-flink-and-173-06c': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-pattern-detection-flink-and-173-06c' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md')],
@@ -1607,32 +529,84 @@
   'content---docs-0-91-0-pe-org-apache-streampipes-processors-siddhi-frequencychangebf-9-deb': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-siddhi-frequencychangebf-9-deb' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.siddhi.frequencychange.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.siddhi.frequencychange.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.siddhi.frequencychange.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processors-siddhi-increase-5-d-9-ca7': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-siddhi-increase-5-d-9-ca7' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.siddhi.increase.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.siddhi.increase.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.siddhi.increase.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processors-siddhi-numericalfilterf-28-de0': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-siddhi-numericalfilterf-28-de0' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-siddhi-sequence-449-20e': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-siddhi-sequence-449-20e' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.siddhi.sequence.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.siddhi.sequence.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.siddhi.sequence.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processors-siddhi-stop-04-e-791': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-siddhi-stop-04-e-791' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.siddhi.stop.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.siddhi.stop.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.siddhi.stop.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-statistics-flink-statistics-summaryf-67-be4': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-statistics-flink-statistics-summaryf-67-be4' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processors-textmining-flink-languagedetectiona-2-e-168': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-textmining-flink-languagedetectiona-2-e-168' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processors-textmining-flink-wordcountb-8-f-b86': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-textmining-flink-wordcountb-8-f-b86' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-chunker-1-a-5-bc3': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-chunker-1-a-5-bc3' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-languagedetectione-2-d-637': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-languagedetectione-2-d-637' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-namefinder-160-30a': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-namefinder-160-30a' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-partofspeechd-81-bae': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-partofspeechd-81-bae' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-sentencedetectionbaa-776': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-sentencedetectionbaa-776' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-tokenizeraf-1-b89': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-tokenizeraf-1-b89' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-field-converter-96-b-b2a': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-field-converter-96-b-b2a' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-field-mapper-34-f-ac1': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-field-mapper-34-f-ac1' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-field-renamer-6-b-6-8da': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-field-renamer-6-b-6-8da' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-fieldhasher-070-6d4': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-fieldhasher-070-6d4' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-measurement-unit-converterad-7-a4e': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-measurement-unit-converterad-7-a4e' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-processor-boilerplateef-0-6f4': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-processor-boilerplateef-0-6f4' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-1-da-2e9': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-1-da-2e9' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-inverterac-2-69a': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-inverterac-2-69a' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeeping-3-e-6-02a': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeeping-3-e-6-02a' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timerd-3-e-894': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timerd-3-e-894' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-changed-value-5-a-4-b1c': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-changed-value-5-a-4-b1c' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-count-array-411-138': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-count-array-411-138' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-csvmetadatae-9-a-a8d': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-csvmetadatae-9-a-a8d' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-duration-valuee-74-94e': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-duration-valuee-74-94e' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-edge-05-d-678': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-edge-05-d-678' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-state-0-ce-821': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-state-0-ce-821' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-buffer-550-e58': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-buffer-550-e58' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-bufferf-66-3b2': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-bufferf-66-3b2' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-number-615-7ff': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-number-615-7ff' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-stringoperator-state-27-c-4a6': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-stringoperator-state-27-c-4a6' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractor-1-e-6-07f': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractor-1-e-6-07f' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-split-array-0-fb-f0b': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-split-array-0-fb-f0b' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-counter-24-d-feb': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-counter-24-d-feb' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-timerd-49-e76': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-timerd-49-e76' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-taskduration-526-c8d': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-taskduration-526-c8d' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-transform-to-boolean-700-b1c': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-transform-to-boolean-700-b1c' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-protocol-set-fileaa-2-927': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-protocol-set-fileaa-2-927' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.protocol.set.file.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.protocol.set.file.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.protocol.set.file.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-protocol-set-http-886-096': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-protocol-set-http-886-096' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.protocol.set.http.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.protocol.set.http.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.protocol.set.http.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-bufferrest-168-56c': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-bufferrest-168-56c' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-jms-7-e-6-2d0': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-jms-7-e-6-2d0' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-kafka-19-f-758': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-kafka-19-f-758' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-mqtt-5-ad-e18': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-mqtt-5-ad-e18' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-nats-870-013': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-nats-870-013' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-pulsar-629-c5b': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-pulsar-629-c5b' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-599-c08': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-599-c08' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-rest-663-898': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-rest-663-898' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-sinks-databases-ditto-18-c-723': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-sinks-databases-ditto-18-c-723' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.ditto.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.ditto.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.ditto.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-sinks-databases-flink-elasticsearchb-0-c-ca8': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-sinks-databases-flink-elasticsearchb-0-c-ca8' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-couchdbe-86-dbc': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-couchdbe-86-dbc' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-influxdb-997-304': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-influxdb-997-304' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-iotdbddf-401': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-iotdbddf-401' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-mysqled-2-63a': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-mysqled-2-63a' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-opcua-4-db-867': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-opcua-4-db-867' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-postgresql-6-e-4-81b': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-postgresql-6-e-4-81b' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-sinks-internal-jvm-dashboarde-40-2f3': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-sinks-internal-jvm-dashboarde-40-2f3' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-sinks-internal-jvm-datalake-821-74f': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-sinks-internal-jvm-datalake-821-74f' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-sinks-internal-jvm-notification-192-605': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-sinks-internal-jvm-notification-192-605' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.notification.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.notification.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.notification.md')],
+  'content---docs-0-91-0-pe-org-apache-streampipes-sinks-notifications-jvm-emailb-4-f-f6a': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-sinks-notifications-jvm-emailb-4-f-f6a' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.email.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.email.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.email.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-sinks-notifications-jvm-onesignal-044-4f0': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-sinks-notifications-jvm-onesignal-044-4f0' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-sinks-notifications-jvm-slack-378-d42': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-sinks-notifications-jvm-slack-378-d42' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md')],
   'content---docs-0-91-0-pe-org-apache-streampipes-sinks-notifications-jvm-telegrambba-d01': [() => import(/* webpackChunkName: 'content---docs-0-91-0-pe-org-apache-streampipes-sinks-notifications-jvm-telegrambba-d01' */ '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md'), '@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md')],
   'content---docs-0-91-0-privacyb-3-c-43c': [() => import(/* webpackChunkName: 'content---docs-0-91-0-privacyb-3-c-43c' */ '@site/versioned_docs/version-0.91.0/privacy.md'), '@site/versioned_docs/version-0.91.0/privacy.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/privacy.md')],
+  'content---docs-0-91-0-technicals-architecture-015-325': [() => import(/* webpackChunkName: 'content---docs-0-91-0-technicals-architecture-015-325' */ '@site/versioned_docs/version-0.91.0/07_technicals-architecture.md'), '@site/versioned_docs/version-0.91.0/07_technicals-architecture.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/07_technicals-architecture.md')],
+  'content---docs-0-91-0-technicals-configuration-8-d-3-873': [() => import(/* webpackChunkName: 'content---docs-0-91-0-technicals-configuration-8-d-3-873' */ '@site/versioned_docs/version-0.91.0/07_technicals-configuration.md'), '@site/versioned_docs/version-0.91.0/07_technicals-configuration.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/07_technicals-configuration.md')],
+  'content---docs-0-91-0-technicals-messagingd-22-cf1': [() => import(/* webpackChunkName: 'content---docs-0-91-0-technicals-messagingd-22-cf1' */ '@site/versioned_docs/version-0.91.0/07_technicals-messaging.md'), '@site/versioned_docs/version-0.91.0/07_technicals-messaging.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/07_technicals-messaging.md')],
+  'content---docs-0-91-0-technicals-runtime-wrappersb-1-a-700': [() => import(/* webpackChunkName: 'content---docs-0-91-0-technicals-runtime-wrappersb-1-a-700' */ '@site/versioned_docs/version-0.91.0/07_technicals-runtime-wrappers.md'), '@site/versioned_docs/version-0.91.0/07_technicals-runtime-wrappers.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/07_technicals-runtime-wrappers.md')],
+  'content---docs-0-91-0-technicals-user-guidancecbb-9e4': [() => import(/* webpackChunkName: 'content---docs-0-91-0-technicals-user-guidancecbb-9e4' */ '@site/versioned_docs/version-0.91.0/07_technicals-user-guidance.md'), '@site/versioned_docs/version-0.91.0/07_technicals-user-guidance.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/07_technicals-user-guidance.md')],
   'content---docs-0-91-0-try-installation-334-52f': [() => import(/* webpackChunkName: 'content---docs-0-91-0-try-installation-334-52f' */ '@site/versioned_docs/version-0.91.0/01_try-installation.md'), '@site/versioned_docs/version-0.91.0/01_try-installation.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/01_try-installation.md')],
+  'content---docs-0-91-0-try-tutorial-72-b-ea0': [() => import(/* webpackChunkName: 'content---docs-0-91-0-try-tutorial-72-b-ea0' */ '@site/versioned_docs/version-0.91.0/01_try-tutorial.md'), '@site/versioned_docs/version-0.91.0/01_try-tutorial.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/01_try-tutorial.md')],
+  'content---docs-0-91-0-use-configurationsfca-1a9': [() => import(/* webpackChunkName: 'content---docs-0-91-0-use-configurationsfca-1a9' */ '@site/versioned_docs/version-0.91.0/03_use-configurations.md'), '@site/versioned_docs/version-0.91.0/03_use-configurations.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/03_use-configurations.md')],
+  'content---docs-0-91-0-use-connect-274-870': [() => import(/* webpackChunkName: 'content---docs-0-91-0-use-connect-274-870' */ '@site/versioned_docs/version-0.91.0/03_use-connect.md'), '@site/versioned_docs/version-0.91.0/03_use-connect.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/03_use-connect.md')],
+  'content---docs-0-91-0-use-dashboardd-7-f-31a': [() => import(/* webpackChunkName: 'content---docs-0-91-0-use-dashboardd-7-f-31a' */ '@site/versioned_docs/version-0.91.0/03_use-dashboard.md'), '@site/versioned_docs/version-0.91.0/03_use-dashboard.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/03_use-dashboard.md')],
+  'content---docs-0-91-0-use-data-explorer-956-905': [() => import(/* webpackChunkName: 'content---docs-0-91-0-use-data-explorer-956-905' */ '@site/versioned_docs/version-0.91.0/03_use-data-explorer.md'), '@site/versioned_docs/version-0.91.0/03_use-data-explorer.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/03_use-data-explorer.md')],
+  'content---docs-0-91-0-use-install-pipeline-elementsea-5-bcf': [() => import(/* webpackChunkName: 'content---docs-0-91-0-use-install-pipeline-elementsea-5-bcf' */ '@site/versioned_docs/version-0.91.0/03_use-install-pipeline-elements.md'), '@site/versioned_docs/version-0.91.0/03_use-install-pipeline-elements.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/03_use-install-pipeline-elements.md')],
+  'content---docs-0-91-0-use-managing-pipelinesfd-8-835': [() => import(/* webpackChunkName: 'content---docs-0-91-0-use-managing-pipelinesfd-8-835' */ '@site/versioned_docs/version-0.91.0/03_use-managing-pipelines.md'), '@site/versioned_docs/version-0.91.0/03_use-managing-pipelines.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/03_use-managing-pipelines.md')],
+  'content---docs-0-91-0-use-notifications-2-b-1-2cc': [() => import(/* webpackChunkName: 'content---docs-0-91-0-use-notifications-2-b-1-2cc' */ '@site/versioned_docs/version-0.91.0/03_use-notifications.md'), '@site/versioned_docs/version-0.91.0/03_use-notifications.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/03_use-notifications.md')],
+  'content---docs-0-91-0-use-pipeline-editore-3-d-695': [() => import(/* webpackChunkName: 'content---docs-0-91-0-use-pipeline-editore-3-d-695' */ '@site/versioned_docs/version-0.91.0/03_use-pipeline-editor.md'), '@site/versioned_docs/version-0.91.0/03_use-pipeline-editor.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/03_use-pipeline-editor.md')],
   'content---docs-0-91-0-user-guide-first-steps-767-bd5': [() => import(/* webpackChunkName: 'content---docs-0-91-0-user-guide-first-steps-767-bd5' */ '@site/versioned_docs/version-0.91.0/user-guide-first-steps.md'), '@site/versioned_docs/version-0.91.0/user-guide-first-steps.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/user-guide-first-steps.md')],
   'content---docs-0-91-0-user-guide-installation-661-26f': [() => import(/* webpackChunkName: 'content---docs-0-91-0-user-guide-installation-661-26f' */ '@site/versioned_docs/version-0.91.0/user-guide-installation.md'), '@site/versioned_docs/version-0.91.0/user-guide-installation.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/user-guide-installation.md')],
   'content---docs-0-91-0-user-guide-introduction-83-d-9ff': [() => import(/* webpackChunkName: 'content---docs-0-91-0-user-guide-introduction-83-d-9ff' */ '@site/versioned_docs/version-0.91.0/01_try-overview.md'), '@site/versioned_docs/version-0.91.0/01_try-overview.md', require.resolveWeak('@site/versioned_docs/version-0.91.0/01_try-overview.md')],
@@ -1653,7 +627,10 @@
   'content---docs-deploy-kubernetesfe-6-bcc': [() => import(/* webpackChunkName: 'content---docs-deploy-kubernetesfe-6-bcc' */ '@site/versioned_docs/version-0.92.0/05_deploy-kubernetes.md'), '@site/versioned_docs/version-0.92.0/05_deploy-kubernetes.md', require.resolveWeak('@site/versioned_docs/version-0.92.0/05_deploy-kubernetes.md')],
   'content---docs-deploy-security-1-bf-7bf': [() => import(/* webpackChunkName: 'content---docs-deploy-security-1-bf-7bf' */ '@site/versioned_docs/version-0.92.0/05_deploy-security.md'), '@site/versioned_docs/version-0.92.0/05_deploy-security.md', require.resolveWeak('@site/versioned_docs/version-0.92.0/05_deploy-security.md')],
   'content---docs-deploy-use-ssl-2-e-1-e1e': [() => import(/* webpackChunkName: 'content---docs-deploy-use-ssl-2-e-1-e1e' */ '@site/versioned_docs/version-0.92.0/05_deploy-use-ssl.md'), '@site/versioned_docs/version-0.92.0/05_deploy-use-ssl.md', require.resolveWeak('@site/versioned_docs/version-0.92.0/05_deploy-use-ssl.md')],
+  'content---docs-dev-guide-archetype-59-b-4b6': [() => import(/* webpackChunkName: 'content---docs-dev-guide-archetype-59-b-4b6' */ '@site/versioned_docs/version-0.92.0/dev-guide-archetype.md'), '@site/versioned_docs/version-0.92.0/dev-guide-archetype.md', require.resolveWeak('@site/versioned_docs/version-0.92.0/dev-guide-archetype.md')],
   'content---docs-dev-guide-introductiona-01-980': [() => import(/* webpackChunkName: 'content---docs-dev-guide-introductiona-01-980' */ '@site/versioned_docs/version-0.92.0/dev-guide-introduction.md'), '@site/versioned_docs/version-0.92.0/dev-guide-introduction.md', require.resolveWeak('@site/versioned_docs/version-0.92.0/dev-guide-introduction.md')],
+  'content---docs-dev-guide-sdk-guide-processors-7-d-3-91f': [() => import(/* webpackChunkName: 'content---docs-dev-guide-sdk-guide-processors-7-d-3-91f' */ '@site/versioned_docs/version-0.92.0/dev-guide-processor-sdk.md'), '@site/versioned_docs/version-0.92.0/dev-guide-processor-sdk.md', require.resolveWeak('@site/versioned_docs/version-0.92.0/dev-guide-processor-sdk.md')],
+  'content---docs-dev-guide-sdk-guide-sinksd-78-075': [() => import(/* webpackChunkName: 'content---docs-dev-guide-sdk-guide-sinksd-78-075' */ '@site/versioned_docs/version-0.92.0/dev-guide-sink-sdk.md'), '@site/versioned_docs/version-0.92.0/dev-guide-sink-sdk.md', require.resolveWeak('@site/versioned_docs/version-0.92.0/dev-guide-sink-sdk.md')],
   'content---docs-extend-archetypesd-6-d-afc': [() => import(/* webpackChunkName: 'content---docs-extend-archetypesd-6-d-afc' */ '@site/versioned_docs/version-0.92.0/06_extend-archetypes.md'), '@site/versioned_docs/version-0.92.0/06_extend-archetypes.md', require.resolveWeak('@site/versioned_docs/version-0.92.0/06_extend-archetypes.md')],
   'content---docs-extend-cli-052-e7c': [() => import(/* webpackChunkName: 'content---docs-extend-cli-052-e7c' */ '@site/versioned_docs/version-0.92.0/06_extend-cli.md'), '@site/versioned_docs/version-0.92.0/06_extend-cli.md', require.resolveWeak('@site/versioned_docs/version-0.92.0/06_extend-cli.md')],
   'content---docs-extend-first-processorfff-f12': [() => import(/* webpackChunkName: 'content---docs-extend-first-processorfff-f12' */ '@site/versioned_docs/version-0.92.0/06_extend-first-processor.md'), '@site/versioned_docs/version-0.92.0/06_extend-first-processor.md', require.resolveWeak('@site/versioned_docs/version-0.92.0/06_extend-first-processor.md')],
@@ -1973,6 +950,7 @@
   'content---docs-pe-org-apache-streampipes-sinks-brokers-jvm-bufferrest-422-52e': [() => import(/* webpackChunkName: 'content---docs-pe-org-apache-streampipes-sinks-brokers-jvm-bufferrest-422-52e' */ '@site/versioned_docs/version-0.92.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md'), '@site/versioned_docs/version-0.92.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md', require.resolveWeak('@site/versioned_docs/version-0.92.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md')],
   'content---docs-pe-org-apache-streampipes-sinks-brokers-jvm-jms-1-f-3-828': [() => import(/* webpackChunkName: 'content---docs-pe-org-apache-streampipes-sinks-brokers-jvm-jms-1-f-3-828' */ '@site/versioned_docs/version-0.92.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md'), '@site/versioned_docs/version-0.92.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md', require.resolveWeak('@site/versioned_docs/version-0.92.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md')],
   'content---docs-pe-org-apache-streampipes-sinks-brokers-jvm-kafkae-02-44a': [() => import(/* webpackChunkName: 'content---docs-pe-org-apache-streampipes-sinks-brokers-jvm-kafkae-02-44a' */ '@site/versioned_docs/version-0.92.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md'), '@site/versioned_docs/version-0.92.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md', require.resolveWeak('@site/versioned_docs/version-0.92.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md')],
+  'content---docs-pe-org-apache-streampipes-sinks-brokers-jvm-mqttd-33-e76': [() => import(/* webpackChunkName: 'content---docs-pe-org-apache-streampipes-sinks-brokers-jvm-mqttd-33-e76' */ '@site/versioned_docs/version-0.92.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md'), '@site/versioned_docs/version-0.92.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md', require.resolveWeak('@site/versioned_docs/version-0.92.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md')],
   'content---docs-pe-org-apache-streampipes-sinks-brokers-jvm-nats-5-b-4-a76': [() => import(/* webpackChunkName: 'content---docs-pe-org-apache-streampipes-sinks-brokers-jvm-nats-5-b-4-a76' */ '@site/versioned_docs/version-0.92.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md'), '@site/versioned_docs/version-0.92.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md', require.resolveWeak('@site/versioned_docs/version-0.92.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md')],
   'content---docs-pe-org-apache-streampipes-sinks-brokers-jvm-pulsarae-8-112': [() => import(/* webpackChunkName: 'content---docs-pe-org-apache-streampipes-sinks-brokers-jvm-pulsarae-8-112' */ '@site/versioned_docs/version-0.92.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md'), '@site/versioned_docs/version-0.92.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md', require.resolveWeak('@site/versioned_docs/version-0.92.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md')],
   'content---docs-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-8-e-4-724': [() => import(/* webpackChunkName: 'content---docs-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-8-e-4-724' */ '@site/versioned_docs/version-0.92.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md'), '@site/versioned_docs/version-0.92.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md', require.resolveWeak('@site/versioned_docs/version-0.92.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md')],
@@ -2017,20 +995,10 @@
   'metadata---blog-page-28-eb-625': [() => import(/* webpackChunkName: 'metadata---blog-page-28-eb-625' */ '~blog/default/blog-page-2-677.json'), '~blog/default/blog-page-2-677.json', require.resolveWeak('~blog/default/blog-page-2-677.json')],
   'metadata---blogb-2-b-df1': [() => import(/* webpackChunkName: 'metadata---blogb-2-b-df1' */ '~blog/default/blog-c06.json'), '~blog/default/blog-c06.json', require.resolveWeak('~blog/default/blog-c06.json')],
   'plugin---blogbec-ce7': [() => import(/* webpackChunkName: 'plugin---blogbec-ce7' */ 'C:\\git\\apache\\incubator-streampipes-website\\website-v2\\.docusaurus\\docusaurus-plugin-content-blog\\default\\plugin-route-context-module-100.json'), 'C:\\git\\apache\\incubator-streampipes-website\\website-v2\\.docusaurus\\docusaurus-plugin-content-blog\\default\\plugin-route-context-module-100.json', require.resolveWeak('C:\\git\\apache\\incubator-streampipes-website\\website-v2\\.docusaurus\\docusaurus-plugin-content-blog\\default\\plugin-route-context-module-100.json')],
-  'plugin---docs-0-55-2-pre-asf-49-f-cdc': [() => import(/* webpackChunkName: 'plugin---docs-0-55-2-pre-asf-49-f-cdc' */ 'C:\\git\\apache\\incubator-streampipes-website\\website-v2\\.docusaurus\\docusaurus-plugin-content-docs\\default\\plugin-route-context-module-100.json'), 'C:\\git\\apache\\incubator-streampipes-website\\website-v2\\.docusaurus\\docusaurus-plugin-content-docs\\default\\plugin-route-context-module-100.json', require.resolveWeak('C:\\git\\apache\\incubator-streampipes-website\\website-v2\\.docusaurus\\docusaurus-plugin-content-docs\\default\\plugin-route-context-module-100.json')],
+  'plugin---docs-0-70-049-f-693': [() => import(/* webpackChunkName: 'plugin---docs-0-70-049-f-693' */ 'C:\\git\\apache\\incubator-streampipes-website\\website-v2\\.docusaurus\\docusaurus-plugin-content-docs\\default\\plugin-route-context-module-100.json'), 'C:\\git\\apache\\incubator-streampipes-website\\website-v2\\.docusaurus\\docusaurus-plugin-content-docs\\default\\plugin-route-context-module-100.json', require.resolveWeak('C:\\git\\apache\\incubator-streampipes-website\\website-v2\\.docusaurus\\docusaurus-plugin-content-docs\\default\\plugin-route-context-module-100.json')],
   'plugin---docusaurus-debug-8-a-7-204': [() => import(/* webpackChunkName: 'plugin---docusaurus-debug-8-a-7-204' */ 'C:\\git\\apache\\incubator-streampipes-website\\website-v2\\.docusaurus\\docusaurus-plugin-debug\\default\\plugin-route-context-module-100.json'), 'C:\\git\\apache\\incubator-streampipes-website\\website-v2\\.docusaurus\\docusaurus-plugin-debug\\default\\plugin-route-context-module-100.json', require.resolveWeak('C:\\git\\apache\\incubator-streampipes-website\\website-v2\\.docusaurus\\docusaurus-plugin-debug\\default\\plugin-route-context-module-100.json')],
   'plugin---versionsc-8-e-537': [() => import(/* webpackChunkName: 'plugin---versionsc-8-e-537' */ 'C:\\git\\apache\\incubator-streampipes-website\\website-v2\\.docusaurus\\docusaurus-plugin-content-pages\\default\\plugin-route-context-module-100.json'), 'C:\\git\\apache\\incubator-streampipes-website\\website-v2\\.docusaurus\\docusaurus-plugin-content-pages\\default\\plugin-route-context-module-100.json', require.resolveWeak('C:\\git\\apache\\incubator-streampipes-website\\website-v2\\.docusaurus\\docusaurus-plugin-content-pages\\default\\plugin-route-context-module-100.json')],
   'sidebar---blog-814-8ac': [() => import(/* webpackChunkName: 'sidebar---blog-814-8ac' */ '~blog/default/blog-post-list-prop-default.json'), '~blog/default/blog-post-list-prop-default.json', require.resolveWeak('~blog/default/blog-post-list-prop-default.json')],
-  'versionMetadata---docs-0-55-2-pre-asf-009-9d2': [() => import(/* webpackChunkName: 'versionMetadata---docs-0-55-2-pre-asf-009-9d2' */ '~docs/default/version-0-55-2-pre-asf-metadata-prop-7e6.json'), '~docs/default/version-0-55-2-pre-asf-metadata-prop-7e6.json', require.resolveWeak('~docs/default/version-0-55-2-pre-asf-metadata-prop-7e6.json')],
-  'versionMetadata---docs-0-61-0-pre-asf-06-b-d92': [() => import(/* webpackChunkName: 'versionMetadata---docs-0-61-0-pre-asf-06-b-d92' */ '~docs/default/version-0-61-0-pre-asf-metadata-prop-c0d.json'), '~docs/default/version-0-61-0-pre-asf-metadata-prop-c0d.json', require.resolveWeak('~docs/default/version-0-61-0-pre-asf-metadata-prop-c0d.json')],
-  'versionMetadata---docs-0-62-0-pre-asfad-1-1f9': [() => import(/* webpackChunkName: 'versionMetadata---docs-0-62-0-pre-asfad-1-1f9' */ '~docs/default/version-0-62-0-pre-asf-metadata-prop-a2b.json'), '~docs/default/version-0-62-0-pre-asf-metadata-prop-a2b.json', require.resolveWeak('~docs/default/version-0-62-0-pre-asf-metadata-prop-a2b.json')],
-  'versionMetadata---docs-0-63-0-pre-asfe-63-130': [() => import(/* webpackChunkName: 'versionMetadata---docs-0-63-0-pre-asfe-63-130' */ '~docs/default/version-0-63-0-pre-asf-metadata-prop-3ad.json'), '~docs/default/version-0-63-0-pre-asf-metadata-prop-3ad.json', require.resolveWeak('~docs/default/version-0-63-0-pre-asf-metadata-prop-3ad.json')],
-  'versionMetadata---docs-0-64-0-pre-asf-57-a-c59': [() => import(/* webpackChunkName: 'versionMetadata---docs-0-64-0-pre-asf-57-a-c59' */ '~docs/default/version-0-64-0-pre-asf-metadata-prop-72c.json'), '~docs/default/version-0-64-0-pre-asf-metadata-prop-72c.json', require.resolveWeak('~docs/default/version-0-64-0-pre-asf-metadata-prop-72c.json')],
-  'versionMetadata---docs-0-65-0-pre-asf-0-e-2-13e': [() => import(/* webpackChunkName: 'versionMetadata---docs-0-65-0-pre-asf-0-e-2-13e' */ '~docs/default/version-0-65-0-pre-asf-metadata-prop-156.json'), '~docs/default/version-0-65-0-pre-asf-metadata-prop-156.json', require.resolveWeak('~docs/default/version-0-65-0-pre-asf-metadata-prop-156.json')],
-  'versionMetadata---docs-0-66-0-fb-5-553': [() => import(/* webpackChunkName: 'versionMetadata---docs-0-66-0-fb-5-553' */ '~docs/default/version-0-66-0-metadata-prop-fc7.json'), '~docs/default/version-0-66-0-metadata-prop-fc7.json', require.resolveWeak('~docs/default/version-0-66-0-metadata-prop-fc7.json')],
-  'versionMetadata---docs-0-67-067-a-6c7': [() => import(/* webpackChunkName: 'versionMetadata---docs-0-67-067-a-6c7' */ '~docs/default/version-0-67-0-metadata-prop-9d6.json'), '~docs/default/version-0-67-0-metadata-prop-9d6.json', require.resolveWeak('~docs/default/version-0-67-0-metadata-prop-9d6.json')],
-  'versionMetadata---docs-0-68-06-e-5-aad': [() => import(/* webpackChunkName: 'versionMetadata---docs-0-68-06-e-5-aad' */ '~docs/default/version-0-68-0-metadata-prop-76c.json'), '~docs/default/version-0-68-0-metadata-prop-76c.json', require.resolveWeak('~docs/default/version-0-68-0-metadata-prop-76c.json')],
-  'versionMetadata---docs-0-69-0-dff-341': [() => import(/* webpackChunkName: 'versionMetadata---docs-0-69-0-dff-341' */ '~docs/default/version-0-69-0-metadata-prop-2b3.json'), '~docs/default/version-0-69-0-metadata-prop-2b3.json', require.resolveWeak('~docs/default/version-0-69-0-metadata-prop-2b3.json')],
   'versionMetadata---docs-0-70-0-f-10-a11': [() => import(/* webpackChunkName: 'versionMetadata---docs-0-70-0-f-10-a11' */ '~docs/default/version-0-70-0-metadata-prop-ffc.json'), '~docs/default/version-0-70-0-metadata-prop-ffc.json', require.resolveWeak('~docs/default/version-0-70-0-metadata-prop-ffc.json')],
   'versionMetadata---docs-0-90-0636-6d8': [() => import(/* webpackChunkName: 'versionMetadata---docs-0-90-0636-6d8' */ '~docs/default/version-0-90-0-metadata-prop-75c.json'), '~docs/default/version-0-90-0-metadata-prop-75c.json', require.resolveWeak('~docs/default/version-0-90-0-metadata-prop-75c.json')],
   'versionMetadata---docs-0-91-07-a-7-4f4': [() => import(/* webpackChunkName: 'versionMetadata---docs-0-91-07-a-7-4f4' */ '~docs/default/version-0-91-0-metadata-prop-bb5.json'), '~docs/default/version-0-91-0-metadata-prop-bb5.json', require.resolveWeak('~docs/default/version-0-91-0-metadata-prop-bb5.json')],
diff --git a/website-v2/.docusaurus/routes.js b/website-v2/.docusaurus/routes.js
index 3aaa7a4..4b27657 100644
--- a/website-v2/.docusaurus/routes.js
+++ b/website-v2/.docusaurus/routes.js
@@ -158,6406 +158,6 @@
     exact: true
   },
   {
-    path: '/docs/0.55.2-pre-asf',
-    component: ComponentCreator('/docs/0.55.2-pre-asf', '75a'),
-    routes: [
-      {
-        path: '/docs/0.55.2-pre-asf/dev-guide-archetype',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/dev-guide-archetype', '2ac'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/dev-guide-architecture',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/dev-guide-architecture', 'a5c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/dev-guide-configuration',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/dev-guide-configuration', 'b2c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/dev-guide-development-environment',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/dev-guide-development-environment', 'e87'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/dev-guide-event-model',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/dev-guide-event-model', '4f3'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/dev-guide-introduction',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/dev-guide-introduction', '98d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/dev-guide-migration',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/dev-guide-migration', '718'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/dev-guide-output-strategies',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/dev-guide-output-strategies', '79c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/dev-guide-sdk-guide-processors',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/dev-guide-sdk-guide-processors', 'dbe'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/dev-guide-sdk-guide-sinks',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/dev-guide-sdk-guide-sinks', 'e6d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/dev-guide-sdk-guide-sources',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/dev-guide-sdk-guide-sources', '3aa'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/dev-guide-ssl',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/dev-guide-ssl', '457'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/dev-guide-static-properties',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/dev-guide-static-properties', '19a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/dev-guide-stream-requirements',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/dev-guide-stream-requirements', '205'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/dev-guide-tutorial-processors',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/dev-guide-tutorial-processors', '79a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/dev-guide-tutorial-sources',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/dev-guide-tutorial-sources', '2b2'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/faq-common-problems',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/faq-common-problems', '102'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processor.geo.flink/version-0.62.0-org.streampipes.processor.geo.flink',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processor.geo.flink/version-0.62.0-org.streampipes.processor.geo.flink', '2e6'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification', '9df'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher', '08f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processor.imageclassification.qrcode/version-0.62.0-org.streampipes.processor.imageclassification.qrcode',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processor.imageclassification.qrcode/version-0.62.0-org.streampipes.processor.imageclassification.qrcode', '7cb'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation', '5ee'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processors.aggregation.flink.rate/version-0.62.0-org.streampipes.processors.aggregation.flink.rate',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processors.aggregation.flink.rate/version-0.62.0-org.streampipes.processors.aggregation.flink.rate', 'ded'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop', '498'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop', '609'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry', 'e2b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing', '6f6'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processors.enricher.flink.timestamp/version-0.62.0-org.streampipes.processors.enricher.flink.timestamp',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processors.enricher.flink.timestamp/version-0.62.0-org.streampipes.processors.enricher.flink.timestamp', 'aaf'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processors.filters.jvm.compose/version-0.62.0-org.streampipes.processors.filters.jvm.compose',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processors.filters.jvm.compose/version-0.62.0-org.streampipes.processors.filters.jvm.compose', '35c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter', 'ae6'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processors.filters.jvm.project/version-0.62.0-org.streampipes.processors.filters.jvm.project',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processors.filters.jvm.project/version-0.62.0-org.streampipes.processors.filters.jvm.project', '70f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processors.filters.jvm.textfilter/version-0.62.0-org.streampipes.processors.filters.jvm.textfilter',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processors.filters.jvm.textfilter/version-0.62.0-org.streampipes.processors.filters.jvm.textfilter', '2cd'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection', 'a47'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processors.siddhi.frequency/version-0.62.0-org.streampipes.processors.siddhi.frequency',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processors.siddhi.frequency/version-0.62.0-org.streampipes.processors.siddhi.frequency', 'bcc'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processors.siddhi.frequencychange/version-0.62.0-org.streampipes.processors.siddhi.frequencychange',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processors.siddhi.frequencychange/version-0.62.0-org.streampipes.processors.siddhi.frequencychange', 'c19'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processors.siddhi.increase/version-0.62.0-org.streampipes.processors.siddhi.increase',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processors.siddhi.increase/version-0.62.0-org.streampipes.processors.siddhi.increase', '026'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processors.siddhi.numericalfilter/version-0.62.0-org.streampipes.processors.siddhi.numericalfilter',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processors.siddhi.numericalfilter/version-0.62.0-org.streampipes.processors.siddhi.numericalfilter', '87b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processors.siddhi.sequence/version-0.62.0-org.streampipes.processors.siddhi.sequence',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processors.siddhi.sequence/version-0.62.0-org.streampipes.processors.siddhi.sequence', 'a11'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processors.siddhi.stop/version-0.62.0-org.streampipes.processors.siddhi.stop',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processors.siddhi.stop/version-0.62.0-org.streampipes.processors.siddhi.stop', '22a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection', '913'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processors.textmining.flink.wordcount/version-0.62.0-org.streampipes.processors.textmining.flink.wordcount',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processors.textmining.flink.wordcount/version-0.62.0-org.streampipes.processors.textmining.flink.wordcount', '72f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-converter/version-0.62.0-org.streampipes.processors.transformation.flink.field-converter',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-converter/version-0.62.0-org.streampipes.processors.transformation.flink.field-converter', '768'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper', '06b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer', 'd88'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher', '242'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter', '173'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate', '0f5'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value', '7f8'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.count-array/version-0.62.0-org.streampipes.processors.transformation.jvm.count-array',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.count-array/version-0.62.0-org.streampipes.processors.transformation.jvm.count-array', '8af'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value', '2b8'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor', '990'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.split-array/version-0.62.0-org.streampipes.processors.transformation.jvm.split-array',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.split-array/version-0.62.0-org.streampipes.processors.transformation.jvm.split-array', '52c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.jms/version-0.62.0-org.streampipes.sinks.brokers.jvm.jms',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.jms/version-0.62.0-org.streampipes.sinks.brokers.jvm.jms', 'cf5'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka', 'd28'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq', 'e4c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.rest/version-0.62.0-org.streampipes.sinks.brokers.jvm.rest',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.rest/version-0.62.0-org.streampipes.sinks.brokers.jvm.rest', '213'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch', 'bdd'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb', '684'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb', '7da'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql', '3a5'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard', '9fd'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.sinks.internal.jvm.notification/version-0.62.0-org.streampipes.sinks.internal.jvm.notification',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.sinks.internal.jvm.notification/version-0.62.0-org.streampipes.sinks.internal.jvm.notification', '4c0'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.email/version-0.62.0-org.streampipes.sinks.notifications.jvm.email',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.email/version-0.62.0-org.streampipes.sinks.notifications.jvm.email', 'e08'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal', '592'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.slack/version-0.62.0-org.streampipes.sinks.notifications.jvm.slack',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.slack/version-0.62.0-org.streampipes.sinks.notifications.jvm.slack', '27f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/privacy',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/privacy', 'af6'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/user-guide-getting-started',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/user-guide-getting-started', 'b0b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/user-guide-installation',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/user-guide-installation', '7e8'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/user-guide-introduction',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/user-guide-introduction', '33e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/user-guide-processing-elements',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/user-guide-processing-elements', '587'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/user-guide-software-components',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/user-guide-software-components', 'd99'),
-        exact: true
-      },
-      {
-        path: '/docs/0.55.2-pre-asf/user-guide-tour',
-        component: ComponentCreator('/docs/0.55.2-pre-asf/user-guide-tour', 'b42'),
-        exact: true
-      }
-    ]
-  },
-  {
-    path: '/docs/0.61.0-pre-asf',
-    component: ComponentCreator('/docs/0.61.0-pre-asf', 'ce4'),
-    routes: [
-      {
-        path: '/docs/0.61.0-pre-asf/dev-guide-archetype',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/dev-guide-archetype', '889'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/dev-guide-architecture',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/dev-guide-architecture', '8f2'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/dev-guide-configuration',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/dev-guide-configuration', 'd70'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/dev-guide-development-environment',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/dev-guide-development-environment', 'bda'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/dev-guide-event-model',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/dev-guide-event-model', 'a2a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/dev-guide-migration',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/dev-guide-migration', '36c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/dev-guide-output-strategies',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/dev-guide-output-strategies', '616'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/dev-guide-sdk-guide-processors',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/dev-guide-sdk-guide-processors', 'd2c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/dev-guide-sdk-guide-sinks',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/dev-guide-sdk-guide-sinks', '377'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/dev-guide-ssl',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/dev-guide-ssl', 'eb2'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/dev-guide-static-properties',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/dev-guide-static-properties', '290'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/dev-guide-stream-requirements',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/dev-guide-stream-requirements', '7aa'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/dev-guide-tutorial-processors',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/dev-guide-tutorial-processors', 'c97'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/dev-guide-tutorial-sinks',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/dev-guide-tutorial-sinks', '3b4'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/dev-guide-tutorial-sources',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/dev-guide-tutorial-sources', 'a2a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/faq-common-problems',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/faq-common-problems', 'f32'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processor.geo.flink/version-0.62.0-org.streampipes.processor.geo.flink',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processor.geo.flink/version-0.62.0-org.streampipes.processor.geo.flink', '647'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification', '1c1'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher', 'f5e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processor.imageclassification.qrcode/version-0.62.0-org.streampipes.processor.imageclassification.qrcode',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processor.imageclassification.qrcode/version-0.62.0-org.streampipes.processor.imageclassification.qrcode', 'ded'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation', '4ce'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processors.aggregation.flink.rate/version-0.62.0-org.streampipes.processors.aggregation.flink.rate',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processors.aggregation.flink.rate/version-0.62.0-org.streampipes.processors.aggregation.flink.rate', 'c21'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop', '961'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop', '937'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry', '3f2'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing', '3cc'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processors.enricher.flink.timestamp/version-0.62.0-org.streampipes.processors.enricher.flink.timestamp',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processors.enricher.flink.timestamp/version-0.62.0-org.streampipes.processors.enricher.flink.timestamp', '96f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processors.filters.jvm.compose/version-0.62.0-org.streampipes.processors.filters.jvm.compose',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processors.filters.jvm.compose/version-0.62.0-org.streampipes.processors.filters.jvm.compose', 'ac8'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter', '9f4'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processors.filters.jvm.project/version-0.62.0-org.streampipes.processors.filters.jvm.project',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processors.filters.jvm.project/version-0.62.0-org.streampipes.processors.filters.jvm.project', 'a4b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processors.filters.jvm.textfilter/version-0.62.0-org.streampipes.processors.filters.jvm.textfilter',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processors.filters.jvm.textfilter/version-0.62.0-org.streampipes.processors.filters.jvm.textfilter', '3a0'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection', '32a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processors.siddhi.frequency/version-0.62.0-org.streampipes.processors.siddhi.frequency',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processors.siddhi.frequency/version-0.62.0-org.streampipes.processors.siddhi.frequency', 'e2d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processors.siddhi.frequencychange/version-0.62.0-org.streampipes.processors.siddhi.frequencychange',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processors.siddhi.frequencychange/version-0.62.0-org.streampipes.processors.siddhi.frequencychange', '6d7'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processors.siddhi.increase/version-0.62.0-org.streampipes.processors.siddhi.increase',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processors.siddhi.increase/version-0.62.0-org.streampipes.processors.siddhi.increase', 'daa'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processors.siddhi.numericalfilter/version-0.62.0-org.streampipes.processors.siddhi.numericalfilter',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processors.siddhi.numericalfilter/version-0.62.0-org.streampipes.processors.siddhi.numericalfilter', 'd35'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processors.siddhi.sequence/version-0.62.0-org.streampipes.processors.siddhi.sequence',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processors.siddhi.sequence/version-0.62.0-org.streampipes.processors.siddhi.sequence', '385'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processors.siddhi.stop/version-0.62.0-org.streampipes.processors.siddhi.stop',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processors.siddhi.stop/version-0.62.0-org.streampipes.processors.siddhi.stop', '454'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection', '53f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processors.textmining.flink.wordcount/version-0.62.0-org.streampipes.processors.textmining.flink.wordcount',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processors.textmining.flink.wordcount/version-0.62.0-org.streampipes.processors.textmining.flink.wordcount', '322'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-converter/version-0.62.0-org.streampipes.processors.transformation.flink.field-converter',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-converter/version-0.62.0-org.streampipes.processors.transformation.flink.field-converter', '85b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper', 'c0d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer', '35d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher', 'fdf'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter', '833'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate', '579'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value', '7be'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.count-array/version-0.62.0-org.streampipes.processors.transformation.jvm.count-array',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.count-array/version-0.62.0-org.streampipes.processors.transformation.jvm.count-array', '925'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value', 'dca'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor', 'c06'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.split-array/version-0.62.0-org.streampipes.processors.transformation.jvm.split-array',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.split-array/version-0.62.0-org.streampipes.processors.transformation.jvm.split-array', '151'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.jms/version-0.62.0-org.streampipes.sinks.brokers.jvm.jms',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.jms/version-0.62.0-org.streampipes.sinks.brokers.jvm.jms', '4eb'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka', '8a9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq', '2eb'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.rest/version-0.62.0-org.streampipes.sinks.brokers.jvm.rest',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.rest/version-0.62.0-org.streampipes.sinks.brokers.jvm.rest', '0dd'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch', '8c1'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb', '27c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb', 'fdc'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql', '28a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard', '87c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.sinks.internal.jvm.notification/version-0.62.0-org.streampipes.sinks.internal.jvm.notification',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.sinks.internal.jvm.notification/version-0.62.0-org.streampipes.sinks.internal.jvm.notification', '9a6'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.email/version-0.62.0-org.streampipes.sinks.notifications.jvm.email',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.email/version-0.62.0-org.streampipes.sinks.notifications.jvm.email', '6b8'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal', '29e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.slack/version-0.62.0-org.streampipes.sinks.notifications.jvm.slack',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.slack/version-0.62.0-org.streampipes.sinks.notifications.jvm.slack', '299'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/user-guide-first-steps',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/user-guide-first-steps', '77c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/user-guide-installation',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/user-guide-installation', '1c1'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/user-guide-processing-elements',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/user-guide-processing-elements', '68f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/user-guide-software-components',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/user-guide-software-components', '995'),
-        exact: true
-      },
-      {
-        path: '/docs/0.61.0-pre-asf/user-guide-tour',
-        component: ComponentCreator('/docs/0.61.0-pre-asf/user-guide-tour', '82b'),
-        exact: true
-      }
-    ]
-  },
-  {
-    path: '/docs/0.62.0-pre-asf',
-    component: ComponentCreator('/docs/0.62.0-pre-asf', '7ff'),
-    routes: [
-      {
-        path: '/docs/0.62.0-pre-asf/dev-guide-archetype',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/dev-guide-archetype', '55f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/dev-guide-configuration',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/dev-guide-configuration', '411'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/dev-guide-development-environment',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/dev-guide-development-environment', '9e1'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/dev-guide-tutorial-processors',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/dev-guide-tutorial-processors', '710'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/dev-guide-tutorial-sinks',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/dev-guide-tutorial-sinks', '556'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/dev-guide-tutorial-sources',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/dev-guide-tutorial-sources', 'ed9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processor.geo.flink/version-0.62.0-org.streampipes.processor.geo.flink',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processor.geo.flink/version-0.62.0-org.streampipes.processor.geo.flink', '5bc'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification', 'b81'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher', '1ff'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processor.imageclassification.qrcode/version-0.62.0-org.streampipes.processor.imageclassification.qrcode',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processor.imageclassification.qrcode/version-0.62.0-org.streampipes.processor.imageclassification.qrcode', 'd8d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation', '3ad'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processors.aggregation.flink.rate/version-0.62.0-org.streampipes.processors.aggregation.flink.rate',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processors.aggregation.flink.rate/version-0.62.0-org.streampipes.processors.aggregation.flink.rate', 'ec0'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop', 'c24'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop', '393'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry', 'b74'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing', '027'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processors.enricher.flink.timestamp/version-0.62.0-org.streampipes.processors.enricher.flink.timestamp',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processors.enricher.flink.timestamp/version-0.62.0-org.streampipes.processors.enricher.flink.timestamp', 'b8f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processors.filters.jvm.compose/version-0.62.0-org.streampipes.processors.filters.jvm.compose',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processors.filters.jvm.compose/version-0.62.0-org.streampipes.processors.filters.jvm.compose', '8df'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter', '9be'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processors.filters.jvm.project/version-0.62.0-org.streampipes.processors.filters.jvm.project',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processors.filters.jvm.project/version-0.62.0-org.streampipes.processors.filters.jvm.project', 'acb'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processors.filters.jvm.textfilter/version-0.62.0-org.streampipes.processors.filters.jvm.textfilter',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processors.filters.jvm.textfilter/version-0.62.0-org.streampipes.processors.filters.jvm.textfilter', '6f4'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection', '19b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processors.siddhi.frequency/version-0.62.0-org.streampipes.processors.siddhi.frequency',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processors.siddhi.frequency/version-0.62.0-org.streampipes.processors.siddhi.frequency', '4fd'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processors.siddhi.frequencychange/version-0.62.0-org.streampipes.processors.siddhi.frequencychange',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processors.siddhi.frequencychange/version-0.62.0-org.streampipes.processors.siddhi.frequencychange', 'b41'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processors.siddhi.increase/version-0.62.0-org.streampipes.processors.siddhi.increase',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processors.siddhi.increase/version-0.62.0-org.streampipes.processors.siddhi.increase', '7ee'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processors.siddhi.numericalfilter/version-0.62.0-org.streampipes.processors.siddhi.numericalfilter',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processors.siddhi.numericalfilter/version-0.62.0-org.streampipes.processors.siddhi.numericalfilter', '145'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processors.siddhi.sequence/version-0.62.0-org.streampipes.processors.siddhi.sequence',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processors.siddhi.sequence/version-0.62.0-org.streampipes.processors.siddhi.sequence', 'a67'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processors.siddhi.stop/version-0.62.0-org.streampipes.processors.siddhi.stop',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processors.siddhi.stop/version-0.62.0-org.streampipes.processors.siddhi.stop', 'd5d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection', '85b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processors.textmining.flink.wordcount/version-0.62.0-org.streampipes.processors.textmining.flink.wordcount',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processors.textmining.flink.wordcount/version-0.62.0-org.streampipes.processors.textmining.flink.wordcount', '9f4'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-converter/version-0.62.0-org.streampipes.processors.transformation.flink.field-converter',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-converter/version-0.62.0-org.streampipes.processors.transformation.flink.field-converter', '176'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper', '088'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer', '64d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher', '796'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter', '3a7'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate', 'dcd'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value', '17a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.count-array/version-0.62.0-org.streampipes.processors.transformation.jvm.count-array',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.count-array/version-0.62.0-org.streampipes.processors.transformation.jvm.count-array', '59c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value', 'fe1'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor', '05b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.split-array/version-0.62.0-org.streampipes.processors.transformation.jvm.split-array',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.split-array/version-0.62.0-org.streampipes.processors.transformation.jvm.split-array', '0d2'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.jms/version-0.62.0-org.streampipes.sinks.brokers.jvm.jms',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.jms/version-0.62.0-org.streampipes.sinks.brokers.jvm.jms', '909'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka', 'c64'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq', '187'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.rest/version-0.62.0-org.streampipes.sinks.brokers.jvm.rest',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.rest/version-0.62.0-org.streampipes.sinks.brokers.jvm.rest', 'c3d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch', 'd10'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb', 'd95'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb', '8e4'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql', 'eb2'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard', '0e4'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.sinks.internal.jvm.notification/version-0.62.0-org.streampipes.sinks.internal.jvm.notification',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.sinks.internal.jvm.notification/version-0.62.0-org.streampipes.sinks.internal.jvm.notification', '8b4'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.email/version-0.62.0-org.streampipes.sinks.notifications.jvm.email',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.email/version-0.62.0-org.streampipes.sinks.notifications.jvm.email', '38a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal', 'ce1'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.slack/version-0.62.0-org.streampipes.sinks.notifications.jvm.slack',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.slack/version-0.62.0-org.streampipes.sinks.notifications.jvm.slack', 'f5d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/user-guide-first-steps',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/user-guide-first-steps', '2d0'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/user-guide-installation',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/user-guide-installation', '655'),
-        exact: true
-      },
-      {
-        path: '/docs/0.62.0-pre-asf/user-guide-tour',
-        component: ComponentCreator('/docs/0.62.0-pre-asf/user-guide-tour', '9da'),
-        exact: true
-      }
-    ]
-  },
-  {
-    path: '/docs/0.63.0-pre-asf',
-    component: ComponentCreator('/docs/0.63.0-pre-asf', '00e'),
-    routes: [
-      {
-        path: '/docs/0.63.0-pre-asf/dev-guide-archetype',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/dev-guide-archetype', '7f5'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/dev-guide-configuration',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/dev-guide-configuration', '25e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/dev-guide-development-environment',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/dev-guide-development-environment', 'a82'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/dev-guide-output-strategies',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/dev-guide-output-strategies', '148'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/dev-guide-static-properties',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/dev-guide-static-properties', '028'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/dev-guide-stream-requirements',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/dev-guide-stream-requirements', '7ea'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/dev-guide-tutorial-processors',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/dev-guide-tutorial-processors', '8f0'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/dev-guide-tutorial-sinks',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/dev-guide-tutorial-sinks', '2f7'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/dev-guide-tutorial-sources',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/dev-guide-tutorial-sources', '114'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processor.geo.flink/org.apache.streampipes.processor.geo.flink',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processor.geo.flink/org.apache.streampipes.processor.geo.flink', 'a04'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/org.apache.streampipes.processor.geo.jvm.geocoding',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/org.apache.streampipes.processor.geo.jvm.geocoding', '6fd'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/org.apache.streampipes.processor.geo.jvm.reversegeocoding',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/org.apache.streampipes.processor.geo.jvm.reversegeocoding', 'aa3'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/org.apache.streampipes.processor.geo.jvm.staticgeocoding',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/org.apache.streampipes.processor.geo.jvm.staticgeocoding', 'd41'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification', '71a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/org.apache.streampipes.processor.imageclassification.jvm.image-enricher',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/org.apache.streampipes.processor.imageclassification.jvm.image-enricher', 'a69'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/org.apache.streampipes.processor.imageclassification.qrcode',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/org.apache.streampipes.processor.imageclassification.qrcode', '462'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/org.apache.streampipes.processors.aggregation.flink.aggregation',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/org.apache.streampipes.processors.aggregation.flink.aggregation', 'e9a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/org.apache.streampipes.processors.aggregation.flink.eventcount',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/org.apache.streampipes.processors.aggregation.flink.eventcount', '3de'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/org.apache.streampipes.processors.aggregation.flink.rate',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/org.apache.streampipes.processors.aggregation.flink.rate', 'c6d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/org.apache.streampipes.processors.enricher.flink.processor.math.mathop',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/org.apache.streampipes.processors.enricher.flink.processor.math.mathop', '7f5'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop', 'a05'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/org.apache.streampipes.processors.enricher.flink.processor.trigonometry',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/org.apache.streampipes.processors.enricher.flink.processor.trigonometry', '694'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing', '999'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/org.apache.streampipes.processors.enricher.flink.timestamp',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/org.apache.streampipes.processors.enricher.flink.timestamp', '84b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/org.apache.streampipes.processors.enricher.jvm.sizemeasure',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/org.apache.streampipes.processors.enricher.jvm.sizemeasure', '6d3'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/org.apache.streampipes.processors.filters.jvm.compose',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/org.apache.streampipes.processors.filters.jvm.compose', '438'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/org.apache.streampipes.processors.filters.jvm.enrich',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/org.apache.streampipes.processors.filters.jvm.enrich', '900'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/org.apache.streampipes.processors.filters.jvm.merge',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/org.apache.streampipes.processors.filters.jvm.merge', '40e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/org.apache.streampipes.processors.filters.jvm.numericalfilter',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/org.apache.streampipes.processors.filters.jvm.numericalfilter', '707'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/org.apache.streampipes.processors.filters.jvm.numericaltextfilter',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/org.apache.streampipes.processors.filters.jvm.numericaltextfilter', '77a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/org.apache.streampipes.processors.filters.jvm.project',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/org.apache.streampipes.processors.filters.jvm.project', '3c0'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/org.apache.streampipes.processors.filters.jvm.textfilter',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/org.apache.streampipes.processors.filters.jvm.textfilter', '9fa'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/org.apache.streampipes.processors.filters.jvm.threshold',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/org.apache.streampipes.processors.filters.jvm.threshold', 'ffb'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator', 'd44'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/org.apache.streampipes.processors.pattern-detection.flink.peak-detection',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/org.apache.streampipes.processors.pattern-detection.flink.peak-detection', 'f90'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/org.apache.streampipes.processors.siddhi.frequency',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/org.apache.streampipes.processors.siddhi.frequency', '41c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/org.apache.streampipes.processors.siddhi.frequencychange',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/org.apache.streampipes.processors.siddhi.frequencychange', 'c23'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/org.apache.streampipes.processors.siddhi.increase',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/org.apache.streampipes.processors.siddhi.increase', '492'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/org.apache.streampipes.processors.siddhi.numericalfilter',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/org.apache.streampipes.processors.siddhi.numericalfilter', '8bd'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/org.apache.streampipes.processors.siddhi.sequence',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/org.apache.streampipes.processors.siddhi.sequence', '457'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/org.apache.streampipes.processors.siddhi.stop',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/org.apache.streampipes.processors.siddhi.stop', 'ec4'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/org.apache.streampipes.processors.textmining.flink.languagedetection',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/org.apache.streampipes.processors.textmining.flink.languagedetection', 'e0d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/org.apache.streampipes.processors.textmining.flink.wordcount',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/org.apache.streampipes.processors.textmining.flink.wordcount', '68d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/org.apache.streampipes.processors.textmining.jvm.chunker',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/org.apache.streampipes.processors.textmining.jvm.chunker', '04f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/org.apache.streampipes.processors.textmining.jvm.languagedetection',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/org.apache.streampipes.processors.textmining.jvm.languagedetection', '97c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/org.apache.streampipes.processors.textmining.jvm.namefinder',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/org.apache.streampipes.processors.textmining.jvm.namefinder', 'baf'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/org.apache.streampipes.processors.textmining.jvm.partofspeech',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/org.apache.streampipes.processors.textmining.jvm.partofspeech', 'ea3'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/org.apache.streampipes.processors.textmining.jvm.sentencedetection',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/org.apache.streampipes.processors.textmining.jvm.sentencedetection', '556'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/org.apache.streampipes.processors.textmining.jvm.tokenizer',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/org.apache.streampipes.processors.textmining.jvm.tokenizer', '3c1'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/org.apache.streampipes.processors.transformation.flink.field-converter',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/org.apache.streampipes.processors.transformation.flink.field-converter', '8a5'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/org.apache.streampipes.processors.transformation.flink.field-mapper',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/org.apache.streampipes.processors.transformation.flink.field-mapper', '3fb'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/org.apache.streampipes.processors.transformation.flink.field-renamer',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/org.apache.streampipes.processors.transformation.flink.field-renamer', '80c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/org.apache.streampipes.processors.transformation.flink.fieldhasher',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/org.apache.streampipes.processors.transformation.flink.fieldhasher', '6cf'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter', '114'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/org.apache.streampipes.processors.transformation.flink.processor.boilerplate',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/org.apache.streampipes.processors.transformation.flink.processor.boilerplate', 'e81'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/org.apache.streampipes.processors.transformation.jvm.booloperator.counter',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/org.apache.streampipes.processors.transformation.jvm.booloperator.counter', '2de'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter', 'a9a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping', '9ba'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/org.apache.streampipes.processors.transformation.jvm.booloperator.timer',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/org.apache.streampipes.processors.transformation.jvm.booloperator.timer', 'ad6'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/org.apache.streampipes.processors.transformation.jvm.changed-value',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/org.apache.streampipes.processors.transformation.jvm.changed-value', '17c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/org.apache.streampipes.processors.transformation.jvm.count-array',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/org.apache.streampipes.processors.transformation.jvm.count-array', '8b4'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/org.apache.streampipes.processors.transformation.jvm.csvmetadata',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/org.apache.streampipes.processors.transformation.jvm.csvmetadata', '8ec'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/org.apache.streampipes.processors.transformation.jvm.duration-value',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/org.apache.streampipes.processors.transformation.jvm.duration-value', '4d9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor', 'e8e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/org.apache.streampipes.processors.transformation.jvm.split-array',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/org.apache.streampipes.processors.transformation.jvm.split-array', '1cf'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/org.apache.streampipes.processors.transformation.jvm.taskduration',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/org.apache.streampipes.processors.transformation.jvm.taskduration', 'b07'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean', '150'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/org.apache.streampipes.sinks.brokers.jvm.bufferrest',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/org.apache.streampipes.sinks.brokers.jvm.bufferrest', '0af'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/org.apache.streampipes.sinks.brokers.jvm.jms',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/org.apache.streampipes.sinks.brokers.jvm.jms', 'd59'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/org.apache.streampipes.sinks.brokers.jvm.kafka',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/org.apache.streampipes.sinks.brokers.jvm.kafka', '56d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/org.apache.streampipes.sinks.brokers.jvm.pulsar',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/org.apache.streampipes.sinks.brokers.jvm.pulsar', '522'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/org.apache.streampipes.sinks.brokers.jvm.rabbitmq',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/org.apache.streampipes.sinks.brokers.jvm.rabbitmq', 'f4a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/org.apache.streampipes.sinks.brokers.jvm.rest',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/org.apache.streampipes.sinks.brokers.jvm.rest', '514'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/org.apache.streampipes.sinks.databases.ditto',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/org.apache.streampipes.sinks.databases.ditto', '693'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/org.apache.streampipes.sinks.databases.flink.elasticsearch',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/org.apache.streampipes.sinks.databases.flink.elasticsearch', '82d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/org.apache.streampipes.sinks.databases.jvm.couchdb',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/org.apache.streampipes.sinks.databases.jvm.couchdb', '957'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/org.apache.streampipes.sinks.databases.jvm.influxdb',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/org.apache.streampipes.sinks.databases.jvm.influxdb', 'd1d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/org.apache.streampipes.sinks.databases.jvm.iotdb',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/org.apache.streampipes.sinks.databases.jvm.iotdb', 'f03'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/org.apache.streampipes.sinks.databases.jvm.opcua',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/org.apache.streampipes.sinks.databases.jvm.opcua', '6e7'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/org.apache.streampipes.sinks.databases.jvm.postgresql',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/org.apache.streampipes.sinks.databases.jvm.postgresql', '767'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/org.apache.streampipes.sinks.internal.jvm.dashboard',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/org.apache.streampipes.sinks.internal.jvm.dashboard', '5dc'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/org.apache.streampipes.sinks.internal.jvm.datalake',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/org.apache.streampipes.sinks.internal.jvm.datalake', '52c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/org.apache.streampipes.sinks.internal.jvm.notification',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/org.apache.streampipes.sinks.internal.jvm.notification', 'e1c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/org.apache.streampipes.sinks.notifications.jvm.email',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/org.apache.streampipes.sinks.notifications.jvm.email', '319'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/org.apache.streampipes.sinks.notifications.jvm.onesignal',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/org.apache.streampipes.sinks.notifications.jvm.onesignal', 'c1d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/org.apache.streampipes.sinks.notifications.jvm.slack',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/org.apache.streampipes.sinks.notifications.jvm.slack', '244'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk', '8d6'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt', '10d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news', 'c57'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks', '945'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set', '864'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream', 'b9d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set', 'd72'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream', '950'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss', '33e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set', 'cf5'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream', '9cd'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt', '8e8'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest', '7a0'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera', 'dff'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua', '072'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7', 'f0a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros', 'e8c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset', '4e3'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream', '5e4'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack', '582'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti', '8ac'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit', 'dda'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new', 'd31'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file', '6d1'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http', '6d8'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka', '9fc'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt', '438'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar', 'bae'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink', '16d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding', '25f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding', 'a96'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding', 'f40'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification', 'aae'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper', 'b3b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher', '05a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode', 'fb5'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation', 'a13'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count', '749'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount', '797'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate', '88c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop', '0dd'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop', '9fa'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry', 'def'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing', '751'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp', 'e18'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure', 'cdf'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose', 'd74'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich', '506'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge', '509'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter', '726'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter', '58c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project', 'd39'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter', '063'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold', 'cf0'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo', 'fd8'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG', '77d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory', '1fd'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator', 'fc0'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed', 'b62'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator', 'f5b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence', 'a5f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and', '278'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection', 'bb6'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence', '23f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency', '910'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange', '59e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase', 'fe1'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter', '1a6'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence', '89b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop', 'a5a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary', 'c6e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection', '4d9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount', '50c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker', '7a9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection', '318'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder', '459'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech', 'a26'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection', 'ac9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer', '5e6'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter', 'c51'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper', 'dd2'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer', '05e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher', '59e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter', '0a8'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate', '70e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter', '94f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter', '3a3'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping', 'c12'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer', '211'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value', '0ef'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array', '979'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata', '55c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value', '8a5'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor', '426'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array', 'fbd'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter', '40f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer', '823'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration', '38b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean', '1ac'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.protocol.set.file',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.protocol.set.file', 'ba3'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.protocol.set.http',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.protocol.set.http', 'a59'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest', 'a0d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms', '119'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka', 'dc2'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt', '143'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar', 'bac'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq', '0ca'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest', '398'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto', 'd95'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch', '518'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb', '356'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb', '6fb'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb', 'e9d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua', '090'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql', '79d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard', '8bb'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake', '7f7'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification', '9ba'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email', 'c3c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal', '2ce'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack', '91a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/user-guide-first-steps',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/user-guide-first-steps', '54d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/user-guide-installation',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/user-guide-installation', '2d1'),
-        exact: true
-      },
-      {
-        path: '/docs/0.63.0-pre-asf/user-guide-tour',
-        component: ComponentCreator('/docs/0.63.0-pre-asf/user-guide-tour', '648'),
-        exact: true
-      }
-    ]
-  },
-  {
-    path: '/docs/0.64.0-pre-asf',
-    component: ComponentCreator('/docs/0.64.0-pre-asf', '597'),
-    routes: [
-      {
-        path: '/docs/0.64.0-pre-asf/dev-guide-archetype',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/dev-guide-archetype', '32d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/dev-guide-configuration',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/dev-guide-configuration', 'bc1'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/dev-guide-development-environment',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/dev-guide-development-environment', '4c9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/dev-guide-output-strategies',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/dev-guide-output-strategies', 'ec8'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/dev-guide-static-properties',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/dev-guide-static-properties', 'ffc'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/dev-guide-stream-requirements',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/dev-guide-stream-requirements', '02c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/dev-guide-tutorial-processors',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/dev-guide-tutorial-processors', '867'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/dev-guide-tutorial-sinks',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/dev-guide-tutorial-sinks', '090'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/dev-guide-tutorial-sources',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/dev-guide-tutorial-sources', 'e21'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processor.geo.flink/org.apache.streampipes.processor.geo.flink',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processor.geo.flink/org.apache.streampipes.processor.geo.flink', 'ae1'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/org.apache.streampipes.processor.geo.jvm.geocoding',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/org.apache.streampipes.processor.geo.jvm.geocoding', '57d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/org.apache.streampipes.processor.geo.jvm.reversegeocoding',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/org.apache.streampipes.processor.geo.jvm.reversegeocoding', 'c06'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/org.apache.streampipes.processor.geo.jvm.staticgeocoding',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/org.apache.streampipes.processor.geo.jvm.staticgeocoding', 'f43'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification', '52a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/org.apache.streampipes.processor.imageclassification.jvm.image-enricher',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/org.apache.streampipes.processor.imageclassification.jvm.image-enricher', '18b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/org.apache.streampipes.processor.imageclassification.qrcode',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/org.apache.streampipes.processor.imageclassification.qrcode', '622'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/org.apache.streampipes.processors.aggregation.flink.aggregation',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/org.apache.streampipes.processors.aggregation.flink.aggregation', '5cc'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/org.apache.streampipes.processors.aggregation.flink.eventcount',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/org.apache.streampipes.processors.aggregation.flink.eventcount', '2df'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/org.apache.streampipes.processors.aggregation.flink.rate',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/org.apache.streampipes.processors.aggregation.flink.rate', '861'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/org.apache.streampipes.processors.enricher.flink.processor.math.mathop',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/org.apache.streampipes.processors.enricher.flink.processor.math.mathop', 'bfc'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop', 'd0a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/org.apache.streampipes.processors.enricher.flink.processor.trigonometry',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/org.apache.streampipes.processors.enricher.flink.processor.trigonometry', '31e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing', 'f1d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/org.apache.streampipes.processors.enricher.flink.timestamp',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/org.apache.streampipes.processors.enricher.flink.timestamp', '98b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/org.apache.streampipes.processors.enricher.jvm.sizemeasure',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/org.apache.streampipes.processors.enricher.jvm.sizemeasure', '04b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/org.apache.streampipes.processors.filters.jvm.compose',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/org.apache.streampipes.processors.filters.jvm.compose', '89d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/org.apache.streampipes.processors.filters.jvm.enrich',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/org.apache.streampipes.processors.filters.jvm.enrich', '313'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/org.apache.streampipes.processors.filters.jvm.merge',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/org.apache.streampipes.processors.filters.jvm.merge', '58a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/org.apache.streampipes.processors.filters.jvm.numericalfilter',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/org.apache.streampipes.processors.filters.jvm.numericalfilter', 'e60'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/org.apache.streampipes.processors.filters.jvm.numericaltextfilter',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/org.apache.streampipes.processors.filters.jvm.numericaltextfilter', '8f5'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/org.apache.streampipes.processors.filters.jvm.project',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/org.apache.streampipes.processors.filters.jvm.project', '5a5'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/org.apache.streampipes.processors.filters.jvm.textfilter',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/org.apache.streampipes.processors.filters.jvm.textfilter', '6f5'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/org.apache.streampipes.processors.filters.jvm.threshold',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/org.apache.streampipes.processors.filters.jvm.threshold', '22a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator', 'db2'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/org.apache.streampipes.processors.pattern-detection.flink.peak-detection',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/org.apache.streampipes.processors.pattern-detection.flink.peak-detection', '573'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/org.apache.streampipes.processors.siddhi.frequency',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/org.apache.streampipes.processors.siddhi.frequency', 'ad3'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/org.apache.streampipes.processors.siddhi.frequencychange',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/org.apache.streampipes.processors.siddhi.frequencychange', '335'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/org.apache.streampipes.processors.siddhi.increase',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/org.apache.streampipes.processors.siddhi.increase', '9a0'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/org.apache.streampipes.processors.siddhi.numericalfilter',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/org.apache.streampipes.processors.siddhi.numericalfilter', '5dd'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/org.apache.streampipes.processors.siddhi.sequence',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/org.apache.streampipes.processors.siddhi.sequence', 'a1b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/org.apache.streampipes.processors.siddhi.stop',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/org.apache.streampipes.processors.siddhi.stop', '5cd'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/org.apache.streampipes.processors.textmining.flink.languagedetection',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/org.apache.streampipes.processors.textmining.flink.languagedetection', 'e1a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/org.apache.streampipes.processors.textmining.flink.wordcount',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/org.apache.streampipes.processors.textmining.flink.wordcount', '7c0'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/org.apache.streampipes.processors.textmining.jvm.chunker',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/org.apache.streampipes.processors.textmining.jvm.chunker', '0cc'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/org.apache.streampipes.processors.textmining.jvm.languagedetection',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/org.apache.streampipes.processors.textmining.jvm.languagedetection', 'a89'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/org.apache.streampipes.processors.textmining.jvm.namefinder',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/org.apache.streampipes.processors.textmining.jvm.namefinder', '478'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/org.apache.streampipes.processors.textmining.jvm.partofspeech',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/org.apache.streampipes.processors.textmining.jvm.partofspeech', 'c17'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/org.apache.streampipes.processors.textmining.jvm.sentencedetection',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/org.apache.streampipes.processors.textmining.jvm.sentencedetection', 'b6a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/org.apache.streampipes.processors.textmining.jvm.tokenizer',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/org.apache.streampipes.processors.textmining.jvm.tokenizer', 'ca4'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/org.apache.streampipes.processors.transformation.flink.field-converter',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/org.apache.streampipes.processors.transformation.flink.field-converter', '452'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/org.apache.streampipes.processors.transformation.flink.field-mapper',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/org.apache.streampipes.processors.transformation.flink.field-mapper', 'cd5'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/org.apache.streampipes.processors.transformation.flink.field-renamer',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/org.apache.streampipes.processors.transformation.flink.field-renamer', '4bf'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/org.apache.streampipes.processors.transformation.flink.fieldhasher',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/org.apache.streampipes.processors.transformation.flink.fieldhasher', 'c68'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter', '99f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/org.apache.streampipes.processors.transformation.flink.processor.boilerplate',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/org.apache.streampipes.processors.transformation.flink.processor.boilerplate', '731'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/org.apache.streampipes.processors.transformation.jvm.booloperator.counter',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/org.apache.streampipes.processors.transformation.jvm.booloperator.counter', 'a8d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter', 'ded'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping', 'ae5'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/org.apache.streampipes.processors.transformation.jvm.booloperator.timer',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/org.apache.streampipes.processors.transformation.jvm.booloperator.timer', 'd7a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/org.apache.streampipes.processors.transformation.jvm.changed-value',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/org.apache.streampipes.processors.transformation.jvm.changed-value', '6b5'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/org.apache.streampipes.processors.transformation.jvm.count-array',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/org.apache.streampipes.processors.transformation.jvm.count-array', '217'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/org.apache.streampipes.processors.transformation.jvm.csvmetadata',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/org.apache.streampipes.processors.transformation.jvm.csvmetadata', '143'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/org.apache.streampipes.processors.transformation.jvm.duration-value',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/org.apache.streampipes.processors.transformation.jvm.duration-value', '9f8'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor', '501'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/org.apache.streampipes.processors.transformation.jvm.split-array',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/org.apache.streampipes.processors.transformation.jvm.split-array', '7d2'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/org.apache.streampipes.processors.transformation.jvm.taskduration',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/org.apache.streampipes.processors.transformation.jvm.taskduration', '53c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean', 'a3a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/org.apache.streampipes.sinks.brokers.jvm.bufferrest',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/org.apache.streampipes.sinks.brokers.jvm.bufferrest', '833'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/org.apache.streampipes.sinks.brokers.jvm.jms',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/org.apache.streampipes.sinks.brokers.jvm.jms', '677'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/org.apache.streampipes.sinks.brokers.jvm.kafka',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/org.apache.streampipes.sinks.brokers.jvm.kafka', '2f2'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/org.apache.streampipes.sinks.brokers.jvm.pulsar',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/org.apache.streampipes.sinks.brokers.jvm.pulsar', 'f2d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/org.apache.streampipes.sinks.brokers.jvm.rabbitmq',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/org.apache.streampipes.sinks.brokers.jvm.rabbitmq', 'c34'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/org.apache.streampipes.sinks.brokers.jvm.rest',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/org.apache.streampipes.sinks.brokers.jvm.rest', 'f47'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/org.apache.streampipes.sinks.databases.ditto',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/org.apache.streampipes.sinks.databases.ditto', '529'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/org.apache.streampipes.sinks.databases.flink.elasticsearch',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/org.apache.streampipes.sinks.databases.flink.elasticsearch', '72c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/org.apache.streampipes.sinks.databases.jvm.couchdb',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/org.apache.streampipes.sinks.databases.jvm.couchdb', '533'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/org.apache.streampipes.sinks.databases.jvm.influxdb',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/org.apache.streampipes.sinks.databases.jvm.influxdb', '91c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/org.apache.streampipes.sinks.databases.jvm.iotdb',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/org.apache.streampipes.sinks.databases.jvm.iotdb', '3cb'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/org.apache.streampipes.sinks.databases.jvm.opcua',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/org.apache.streampipes.sinks.databases.jvm.opcua', 'ef8'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/org.apache.streampipes.sinks.databases.jvm.postgresql',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/org.apache.streampipes.sinks.databases.jvm.postgresql', '0bf'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/org.apache.streampipes.sinks.internal.jvm.dashboard',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/org.apache.streampipes.sinks.internal.jvm.dashboard', '772'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/org.apache.streampipes.sinks.internal.jvm.datalake',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/org.apache.streampipes.sinks.internal.jvm.datalake', '0eb'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/org.apache.streampipes.sinks.internal.jvm.notification',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/org.apache.streampipes.sinks.internal.jvm.notification', 'ef6'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/org.apache.streampipes.sinks.notifications.jvm.email',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/org.apache.streampipes.sinks.notifications.jvm.email', '481'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/org.apache.streampipes.sinks.notifications.jvm.onesignal',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/org.apache.streampipes.sinks.notifications.jvm.onesignal', 'e69'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/org.apache.streampipes.sinks.notifications.jvm.slack',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/org.apache.streampipes.sinks.notifications.jvm.slack', '7aa'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk', '5e0'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt', 'c3a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news', '48d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks', '013'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set', '09d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream', 'a21'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set', '01d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream', '796'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss', 'e08'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set', '9fb'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream', 'd38'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt', 'd07'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest', '99a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera', '58e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua', '869'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7', '271'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros', 'f71'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset', '121'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream', '44f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack', 'fca'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti', 'f35'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit', '17a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new', 'f08'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file', 'e04'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http', 'fd2'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka', 'c23'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt', '091'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar', '12e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink', '92f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding', '710'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding', '570'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding', '95a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification', '5bb'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper', '3c0'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher', '882'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode', 'e45'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation', '567'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count', '814'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount', '38e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate', 'a63'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop', 'a32'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop', '212'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry', 'f42'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing', '75b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp', '5fa'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure', '93f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose', '626'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich', '815'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge', '4a8'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter', '2f5'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter', '55a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project', '847'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter', 'c72'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold', '271'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo', '254'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG', '5aa'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory', '50e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator', 'c57'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed', '25a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator', '49a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence', '1ae'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and', 'c59'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection', '17c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence', '80c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency', 'b62'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange', '758'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase', 'd44'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter', '6f2'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence', 'f0c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop', 'a5f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary', '6dd'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection', '699'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount', 'a81'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker', '2ec'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection', '935'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder', '579'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech', '1fb'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection', '2b4'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer', '3e5'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter', 'de7'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper', 'e1b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer', '3cf'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher', 'ce7'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter', '9b5'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate', 'edb'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter', '28f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter', '774'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping', 'a78'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer', '985'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value', 'f01'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array', 'a48'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata', '72b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value', '002'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor', 'd71'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array', '679'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter', '696'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer', '58a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration', 'f95'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean', 'd06'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.protocol.set.file',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.protocol.set.file', 'de0'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.protocol.set.http',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.protocol.set.http', '3cf'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest', '0a8'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms', 'b51'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka', '56c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt', 'd50'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar', 'f73'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq', 'fca'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest', '368'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto', '068'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch', '830'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb', '846'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb', 'b19'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb', '3ab'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua', 'e9e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql', '363'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard', 'a6c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake', '8c7'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification', '57a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email', '26c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal', '465'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack', '8c7'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/user-guide-first-steps',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/user-guide-first-steps', 'ccd'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/user-guide-installation',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/user-guide-installation', 'f06'),
-        exact: true
-      },
-      {
-        path: '/docs/0.64.0-pre-asf/user-guide-tour',
-        component: ComponentCreator('/docs/0.64.0-pre-asf/user-guide-tour', 'd2a'),
-        exact: true
-      }
-    ]
-  },
-  {
-    path: '/docs/0.65.0-pre-asf',
-    component: ComponentCreator('/docs/0.65.0-pre-asf', '197'),
-    routes: [
-      {
-        path: '/docs/0.65.0-pre-asf/community-get-help',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/community-get-help', '77c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/dev-guide-archetype',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/dev-guide-archetype', '789'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/dev-guide-configuration',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/dev-guide-configuration', '893'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/dev-guide-development-environment',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/dev-guide-development-environment', '99e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/dev-guide-output-strategies',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/dev-guide-output-strategies', 'd99'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/dev-guide-static-properties',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/dev-guide-static-properties', '84b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/dev-guide-stream-requirements',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/dev-guide-stream-requirements', 'b42'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/dev-guide-tutorial-processors',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/dev-guide-tutorial-processors', '709'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/dev-guide-tutorial-sinks',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/dev-guide-tutorial-sinks', '2c2'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/dev-guide-tutorial-sources',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/dev-guide-tutorial-sources', '4ae'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/extend-sdk-event-model',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/extend-sdk-event-model', 'c43'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/extend-sdk-stream-requirements',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/extend-sdk-stream-requirements', '316'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/extend-setup',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/extend-setup', '3fe'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/extend-tutorial-data-processors',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/extend-tutorial-data-processors', 'db1'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/extend-tutorial-data-sinks',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/extend-tutorial-data-sinks', 'b9f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/extend-tutorial-data-sources',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/extend-tutorial-data-sources', 'a0f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processor.geo.flink/org.apache.streampipes.processor.geo.flink',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processor.geo.flink/org.apache.streampipes.processor.geo.flink', '723'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/org.apache.streampipes.processor.geo.jvm.geocoding',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/org.apache.streampipes.processor.geo.jvm.geocoding', 'a09'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/org.apache.streampipes.processor.geo.jvm.reversegeocoding',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/org.apache.streampipes.processor.geo.jvm.reversegeocoding', 'ba0'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/org.apache.streampipes.processor.geo.jvm.staticgeocoding',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/org.apache.streampipes.processor.geo.jvm.staticgeocoding', 'ede'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification', '83b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/org.apache.streampipes.processor.imageclassification.jvm.image-enricher',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/org.apache.streampipes.processor.imageclassification.jvm.image-enricher', 'e75'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/org.apache.streampipes.processor.imageclassification.qrcode',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/org.apache.streampipes.processor.imageclassification.qrcode', 'e92'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/org.apache.streampipes.processors.aggregation.flink.aggregation',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/org.apache.streampipes.processors.aggregation.flink.aggregation', '694'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/org.apache.streampipes.processors.aggregation.flink.eventcount',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/org.apache.streampipes.processors.aggregation.flink.eventcount', '0f5'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/org.apache.streampipes.processors.aggregation.flink.rate',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/org.apache.streampipes.processors.aggregation.flink.rate', '0d6'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/org.apache.streampipes.processors.enricher.flink.processor.math.mathop',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/org.apache.streampipes.processors.enricher.flink.processor.math.mathop', '2e9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop', '391'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/org.apache.streampipes.processors.enricher.flink.processor.trigonometry',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/org.apache.streampipes.processors.enricher.flink.processor.trigonometry', 'dd4'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing', 'e99'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/org.apache.streampipes.processors.enricher.flink.timestamp',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/org.apache.streampipes.processors.enricher.flink.timestamp', '338'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/org.apache.streampipes.processors.enricher.jvm.sizemeasure',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/org.apache.streampipes.processors.enricher.jvm.sizemeasure', '5ce'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/org.apache.streampipes.processors.filters.jvm.compose',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/org.apache.streampipes.processors.filters.jvm.compose', '61a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/org.apache.streampipes.processors.filters.jvm.enrich',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/org.apache.streampipes.processors.filters.jvm.enrich', '8d9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/org.apache.streampipes.processors.filters.jvm.merge',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/org.apache.streampipes.processors.filters.jvm.merge', '076'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/org.apache.streampipes.processors.filters.jvm.numericalfilter',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/org.apache.streampipes.processors.filters.jvm.numericalfilter', 'ad7'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/org.apache.streampipes.processors.filters.jvm.numericaltextfilter',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/org.apache.streampipes.processors.filters.jvm.numericaltextfilter', '3ee'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/org.apache.streampipes.processors.filters.jvm.project',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/org.apache.streampipes.processors.filters.jvm.project', '954'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/org.apache.streampipes.processors.filters.jvm.textfilter',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/org.apache.streampipes.processors.filters.jvm.textfilter', '269'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/org.apache.streampipes.processors.filters.jvm.threshold',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/org.apache.streampipes.processors.filters.jvm.threshold', 'a32'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator', 'b64'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/org.apache.streampipes.processors.pattern-detection.flink.peak-detection',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/org.apache.streampipes.processors.pattern-detection.flink.peak-detection', '6c7'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/org.apache.streampipes.processors.siddhi.frequency',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/org.apache.streampipes.processors.siddhi.frequency', 'a4a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/org.apache.streampipes.processors.siddhi.frequencychange',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/org.apache.streampipes.processors.siddhi.frequencychange', '774'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/org.apache.streampipes.processors.siddhi.increase',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/org.apache.streampipes.processors.siddhi.increase', 'ab6'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/org.apache.streampipes.processors.siddhi.numericalfilter',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/org.apache.streampipes.processors.siddhi.numericalfilter', '231'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/org.apache.streampipes.processors.siddhi.sequence',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/org.apache.streampipes.processors.siddhi.sequence', '260'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/org.apache.streampipes.processors.siddhi.stop',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/org.apache.streampipes.processors.siddhi.stop', '158'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/org.apache.streampipes.processors.textmining.flink.languagedetection',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/org.apache.streampipes.processors.textmining.flink.languagedetection', '6d9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/org.apache.streampipes.processors.textmining.flink.wordcount',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/org.apache.streampipes.processors.textmining.flink.wordcount', '111'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/org.apache.streampipes.processors.textmining.jvm.chunker',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/org.apache.streampipes.processors.textmining.jvm.chunker', 'f73'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/org.apache.streampipes.processors.textmining.jvm.languagedetection',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/org.apache.streampipes.processors.textmining.jvm.languagedetection', '3d7'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/org.apache.streampipes.processors.textmining.jvm.namefinder',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/org.apache.streampipes.processors.textmining.jvm.namefinder', '225'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/org.apache.streampipes.processors.textmining.jvm.partofspeech',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/org.apache.streampipes.processors.textmining.jvm.partofspeech', '700'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/org.apache.streampipes.processors.textmining.jvm.sentencedetection',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/org.apache.streampipes.processors.textmining.jvm.sentencedetection', '015'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/org.apache.streampipes.processors.textmining.jvm.tokenizer',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/org.apache.streampipes.processors.textmining.jvm.tokenizer', 'e95'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/org.apache.streampipes.processors.transformation.flink.field-converter',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/org.apache.streampipes.processors.transformation.flink.field-converter', 'bac'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/org.apache.streampipes.processors.transformation.flink.field-mapper',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/org.apache.streampipes.processors.transformation.flink.field-mapper', '4b3'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/org.apache.streampipes.processors.transformation.flink.field-renamer',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/org.apache.streampipes.processors.transformation.flink.field-renamer', '48a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/org.apache.streampipes.processors.transformation.flink.fieldhasher',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/org.apache.streampipes.processors.transformation.flink.fieldhasher', 'abc'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter', '5e2'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/org.apache.streampipes.processors.transformation.flink.processor.boilerplate',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/org.apache.streampipes.processors.transformation.flink.processor.boilerplate', '20d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/org.apache.streampipes.processors.transformation.jvm.booloperator.counter',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/org.apache.streampipes.processors.transformation.jvm.booloperator.counter', '336'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter', '7c0'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping', '3d2'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/org.apache.streampipes.processors.transformation.jvm.booloperator.timer',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/org.apache.streampipes.processors.transformation.jvm.booloperator.timer', 'd75'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/org.apache.streampipes.processors.transformation.jvm.changed-value',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/org.apache.streampipes.processors.transformation.jvm.changed-value', '30a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/org.apache.streampipes.processors.transformation.jvm.count-array',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/org.apache.streampipes.processors.transformation.jvm.count-array', '7e5'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/org.apache.streampipes.processors.transformation.jvm.csvmetadata',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/org.apache.streampipes.processors.transformation.jvm.csvmetadata', '380'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/org.apache.streampipes.processors.transformation.jvm.duration-value',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/org.apache.streampipes.processors.transformation.jvm.duration-value', '140'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor', 'a50'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/org.apache.streampipes.processors.transformation.jvm.split-array',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/org.apache.streampipes.processors.transformation.jvm.split-array', '30c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/org.apache.streampipes.processors.transformation.jvm.taskduration',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/org.apache.streampipes.processors.transformation.jvm.taskduration', '00d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean', 'af5'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/org.apache.streampipes.sinks.brokers.jvm.bufferrest',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/org.apache.streampipes.sinks.brokers.jvm.bufferrest', '162'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/org.apache.streampipes.sinks.brokers.jvm.jms',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/org.apache.streampipes.sinks.brokers.jvm.jms', '5be'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/org.apache.streampipes.sinks.brokers.jvm.kafka',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/org.apache.streampipes.sinks.brokers.jvm.kafka', '7c6'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/org.apache.streampipes.sinks.brokers.jvm.pulsar',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/org.apache.streampipes.sinks.brokers.jvm.pulsar', '575'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/org.apache.streampipes.sinks.brokers.jvm.rabbitmq',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/org.apache.streampipes.sinks.brokers.jvm.rabbitmq', '21c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/org.apache.streampipes.sinks.brokers.jvm.rest',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/org.apache.streampipes.sinks.brokers.jvm.rest', 'fad'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/org.apache.streampipes.sinks.databases.ditto',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/org.apache.streampipes.sinks.databases.ditto', 'c66'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/org.apache.streampipes.sinks.databases.flink.elasticsearch',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/org.apache.streampipes.sinks.databases.flink.elasticsearch', 'b8d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/org.apache.streampipes.sinks.databases.jvm.couchdb',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/org.apache.streampipes.sinks.databases.jvm.couchdb', '3bf'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/org.apache.streampipes.sinks.databases.jvm.influxdb',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/org.apache.streampipes.sinks.databases.jvm.influxdb', '729'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/org.apache.streampipes.sinks.databases.jvm.iotdb',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/org.apache.streampipes.sinks.databases.jvm.iotdb', '5c9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/org.apache.streampipes.sinks.databases.jvm.opcua',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/org.apache.streampipes.sinks.databases.jvm.opcua', '187'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/org.apache.streampipes.sinks.databases.jvm.postgresql',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/org.apache.streampipes.sinks.databases.jvm.postgresql', 'f89'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/org.apache.streampipes.sinks.internal.jvm.dashboard',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/org.apache.streampipes.sinks.internal.jvm.dashboard', '4ce'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/org.apache.streampipes.sinks.internal.jvm.datalake',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/org.apache.streampipes.sinks.internal.jvm.datalake', '342'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/org.apache.streampipes.sinks.internal.jvm.notification',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/org.apache.streampipes.sinks.internal.jvm.notification', 'ffe'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/org.apache.streampipes.sinks.notifications.jvm.email',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/org.apache.streampipes.sinks.notifications.jvm.email', '1d2'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/org.apache.streampipes.sinks.notifications.jvm.onesignal',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/org.apache.streampipes.sinks.notifications.jvm.onesignal', '685'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/org.apache.streampipes.sinks.notifications.jvm.slack',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/org.apache.streampipes.sinks.notifications.jvm.slack', '16c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk', '7db'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt', 'c31'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news', 'dbd'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks', '7f4'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set', '59e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream', '3ee'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set', 'e46'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream', '35a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss', '9e0'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set', '151'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream', 'f99'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt', 'ed7'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest', '661'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera', '376'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua', '687'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7', 'b98'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros', '1eb'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset', '36b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream', '247'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack', '711'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti', '0b8'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit', '235'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new', '40a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file', '77e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http', '77a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka', '2bd'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt', 'd7f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar', 'dbd'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink', '6e3'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding', '6d5'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding', '6fb'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding', '930'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification', '895'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper', 'a1c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher', 'c8e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode', '15d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation', 'f38'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count', 'fd2'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount', 'de9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate', '995'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop', 'eff'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop', 'e59'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry', 'd52'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing', '0e3'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp', 'd42'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure', 'be3'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose', 'a57'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich', 'fd0'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge', '3a9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter', '243'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter', 'd61'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project', '746'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter', 'a55'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold', '97c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo', 'a6d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG', '6bc'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory', '2c9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator', '851'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed', 'd4c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator', 'ddb'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence', '557'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and', 'aca'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection', 'd8f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence', 'efa'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency', 'ba8'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange', '6a1'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase', '456'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter', '850'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence', 'f80'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop', 'd6e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary', 'baf'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection', 'a3c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount', 'b49'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker', 'f8d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection', 'ddc'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder', '031'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech', '2ce'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection', '391'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer', '650'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter', '9cc'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper', '0e2'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer', '2d7'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher', 'c91'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter', 'a21'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate', 'd3a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter', 'a62'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter', 'aaa'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping', 'a17'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer', 'fde'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value', '1d4'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array', '192'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata', '174'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value', '67e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor', '06c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array', 'f7b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter', 'c58'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer', 'd3c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration', '8c3'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean', 'c5e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.protocol.set.file',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.protocol.set.file', '121'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.protocol.set.http',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.protocol.set.http', 'a0a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest', 'a96'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms', '0c0'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka', 'dac'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt', '7d3'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar', '130'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq', 'bf2'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest', '1e9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto', '5f5'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch', '38b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb', '34a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb', '441'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb', 'cbd'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua', '256'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql', '3be'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard', 'd0e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake', '640'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification', 'de7'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email', 'f2f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal', '3c3'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack', 'f52'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.connect.adapters.flic.mqtt',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.connect.adapters.flic.mqtt', 'c18'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.connect.adapters.plc4x.modbus',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.connect.adapters.plc4x.modbus', 'f87'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.connect.adapters.simulator.machine',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.connect.adapters.simulator.machine', '0a9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.connect.protocol.stream.httpserver',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.connect.protocol.stream.httpserver', '07c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.changedetection.jvm.cusum',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.changedetection.jvm.cusum', '764'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.filters.jvm.limit',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.filters.jvm.limit', '1c7'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge', '95b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state', '2fb'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.buffer',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.buffer', '2e9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer', 'e11'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number', 'fbd'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state', 'c1d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.sinks.brokers.jvm.nats',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.sinks.brokers.jvm.nats', '308'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.sinks.databases.jvm.mysql',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.sinks.databases.jvm.mysql', '852'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.sinks.notifications.jvm.telegram',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.sinks.notifications.jvm.telegram', '55e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/user-guide-first-steps',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/user-guide-first-steps', '465'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/user-guide-installation',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/user-guide-installation', '538'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/user-guide-tour',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/user-guide-tour', '23f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/version-0.67.0-community-contribute',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/version-0.67.0-community-contribute', 'b0e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/version-0.67.0-concepts-adapter',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/version-0.67.0-concepts-adapter', '03e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/version-0.67.0-concepts-data-streams',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/version-0.67.0-concepts-data-streams', '951'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/version-0.67.0-concepts-glossary',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/version-0.67.0-concepts-glossary', 'fe5'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/version-0.67.0-concepts-overview',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/version-0.67.0-concepts-overview', '4cc'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/version-0.67.0-concepts-pipelines',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/version-0.67.0-concepts-pipelines', 'f6f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/version-0.67.0-debugging-debugging',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/version-0.67.0-debugging-debugging', '2c1'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/version-0.67.0-debugging-monitoring',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/version-0.67.0-debugging-monitoring', '625'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/version-0.67.0-deploy-docker',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/version-0.67.0-deploy-docker', '9b5'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/version-0.67.0-deploy-kubernetes',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/version-0.67.0-deploy-kubernetes', '13b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/version-0.67.0-deploy-use-ssl',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/version-0.67.0-deploy-use-ssl', 'e6c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/version-0.67.0-extend-archetypes',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/version-0.67.0-extend-archetypes', '795'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/version-0.67.0-extend-cli',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/version-0.67.0-extend-cli', '3b0'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/version-0.67.0-extend-sdk-output-strategies',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/version-0.67.0-extend-sdk-output-strategies', 'aba'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/version-0.67.0-extend-sdk-static-properties',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/version-0.67.0-extend-sdk-static-properties', '0e1'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/version-0.67.0-technicals-architecture',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/version-0.67.0-technicals-architecture', '945'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/version-0.67.0-technicals-configuration',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/version-0.67.0-technicals-configuration', '1b0'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/version-0.67.0-technicals-messaging',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/version-0.67.0-technicals-messaging', '6ce'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/version-0.67.0-technicals-runtime-wrappers',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/version-0.67.0-technicals-runtime-wrappers', 'a8e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/version-0.67.0-technicals-user-guidance',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/version-0.67.0-technicals-user-guidance', '6a8'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/version-0.67.0-try-installation',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/version-0.67.0-try-installation', '5d1'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/version-0.67.0-try-tutorial',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/version-0.67.0-try-tutorial', '2d9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/version-0.67.0-use-configurations',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/version-0.67.0-use-configurations', 'dd0'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/version-0.67.0-use-connect',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/version-0.67.0-use-connect', '56c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/version-0.67.0-use-dashboard',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/version-0.67.0-use-dashboard', '9e9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/version-0.67.0-use-data-explorer',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/version-0.67.0-use-data-explorer', '6ad'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/version-0.67.0-use-install-pipeline-elements',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/version-0.67.0-use-install-pipeline-elements', '731'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/version-0.67.0-use-managing-pipelines',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/version-0.67.0-use-managing-pipelines', '196'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/version-0.67.0-use-notifications',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/version-0.67.0-use-notifications', 'c91'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/version-0.67.0-use-pipeline-editor',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/version-0.67.0-use-pipeline-editor', '6a2'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/version-0.67.0-user-guide-introduction',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/version-0.67.0-user-guide-introduction', '2e2'),
-        exact: true
-      },
-      {
-        path: '/docs/0.65.0-pre-asf/version-0.67.0-user-guide-introduction-old',
-        component: ComponentCreator('/docs/0.65.0-pre-asf/version-0.67.0-user-guide-introduction-old', '2d8'),
-        exact: true
-      }
-    ]
-  },
-  {
-    path: '/docs/0.66.0',
-    component: ComponentCreator('/docs/0.66.0', 'd0b'),
-    routes: [
-      {
-        path: '/docs/0.66.0/community-contribute',
-        component: ComponentCreator('/docs/0.66.0/community-contribute', '55c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/community-get-help',
-        component: ComponentCreator('/docs/0.66.0/community-get-help', '971'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/concepts-adapter',
-        component: ComponentCreator('/docs/0.66.0/concepts-adapter', '819'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/concepts-data-streams',
-        component: ComponentCreator('/docs/0.66.0/concepts-data-streams', 'c77'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/concepts-glossary',
-        component: ComponentCreator('/docs/0.66.0/concepts-glossary', '5c9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/concepts-overview',
-        component: ComponentCreator('/docs/0.66.0/concepts-overview', '434'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/concepts-pipelines',
-        component: ComponentCreator('/docs/0.66.0/concepts-pipelines', '569'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/debugging-debugging',
-        component: ComponentCreator('/docs/0.66.0/debugging-debugging', '3e2'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/debugging-monitoring',
-        component: ComponentCreator('/docs/0.66.0/debugging-monitoring', '3a9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/deploy-docker',
-        component: ComponentCreator('/docs/0.66.0/deploy-docker', '872'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/deploy-kubernetes',
-        component: ComponentCreator('/docs/0.66.0/deploy-kubernetes', 'b65'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/deploy-security',
-        component: ComponentCreator('/docs/0.66.0/deploy-security', '374'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/deploy-use-ssl',
-        component: ComponentCreator('/docs/0.66.0/deploy-use-ssl', 'c77'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/dev-guide-archetype',
-        component: ComponentCreator('/docs/0.66.0/dev-guide-archetype', 'c55'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/dev-guide-configuration',
-        component: ComponentCreator('/docs/0.66.0/dev-guide-configuration', '7f8'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/dev-guide-development-environment',
-        component: ComponentCreator('/docs/0.66.0/dev-guide-development-environment', '752'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/dev-guide-output-strategies',
-        component: ComponentCreator('/docs/0.66.0/dev-guide-output-strategies', '15b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/dev-guide-static-properties',
-        component: ComponentCreator('/docs/0.66.0/dev-guide-static-properties', 'dd0'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/dev-guide-stream-requirements',
-        component: ComponentCreator('/docs/0.66.0/dev-guide-stream-requirements', 'ce6'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/dev-guide-tutorial-sources',
-        component: ComponentCreator('/docs/0.66.0/dev-guide-tutorial-sources', 'e16'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/extend-archetypes',
-        component: ComponentCreator('/docs/0.66.0/extend-archetypes', '24b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/extend-cli',
-        component: ComponentCreator('/docs/0.66.0/extend-cli', 'a8a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/extend-first-processor',
-        component: ComponentCreator('/docs/0.66.0/extend-first-processor', '4ab'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/extend-sdk-event-model',
-        component: ComponentCreator('/docs/0.66.0/extend-sdk-event-model', 'ea5'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/extend-sdk-migration-service-discovery',
-        component: ComponentCreator('/docs/0.66.0/extend-sdk-migration-service-discovery', 'c8a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/extend-sdk-output-strategies',
-        component: ComponentCreator('/docs/0.66.0/extend-sdk-output-strategies', 'ea8'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/extend-sdk-static-properties',
-        component: ComponentCreator('/docs/0.66.0/extend-sdk-static-properties', '63c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/extend-sdk-stream-requirements',
-        component: ComponentCreator('/docs/0.66.0/extend-sdk-stream-requirements', '7da'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/extend-setup',
-        component: ComponentCreator('/docs/0.66.0/extend-setup', '244'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/extend-tutorial-data-processors',
-        component: ComponentCreator('/docs/0.66.0/extend-tutorial-data-processors', '344'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/extend-tutorial-data-sinks',
-        component: ComponentCreator('/docs/0.66.0/extend-tutorial-data-sinks', '366'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/extend-tutorial-data-sources',
-        component: ComponentCreator('/docs/0.66.0/extend-tutorial-data-sources', '2d5'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.coindesk',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.coindesk', '9d1'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.gdelt',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.gdelt', 'afa'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.iex.news',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.iex.news', 'fe1'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.iex.stocks',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.iex.stocks', '39f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.image.set',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.image.set', 'eb7'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.image.stream',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.image.stream', 'ff1'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.influxdb.set',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.influxdb.set', 'fff'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream', 'cc0'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.iss',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.iss', '1b4'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.mysql.set',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.mysql.set', 'f87'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.mysql.stream',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.mysql.stream', 'caa'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt', '473'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.netio.rest',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.netio.rest', '490'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera', 'fc5'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.opcua',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.opcua', 'd22'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7', '585'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.ros',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.ros', 'f4e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset', 'ddc'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream', 'c26'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.slack',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.slack', '652'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.ti',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.ti', '943'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit', '004'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new', 'e4b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.connect.protocol.stream.file',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.connect.protocol.stream.file', 'c93'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.connect.protocol.stream.http',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.connect.protocol.stream.http', 'afb'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.connect.protocol.stream.kafka',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.connect.protocol.stream.kafka', '725'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt', '338'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar', 'aad'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processor.geo.flink',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processor.geo.flink', '298'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding', '00c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding', 'f4b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding', '891'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification', 'c67'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper', '09e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher', 'e64'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processor.imageclassification.qrcode',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processor.imageclassification.qrcode', '6bf'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation', 'b32'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.count',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.count', '381'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount', 'c9b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.rate',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.rate', '1c4'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop', '257'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop', 'c18'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry', '67c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing', 'd71'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp', 'fc9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure', 'eec'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.compose',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.compose', '874'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.enrich',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.enrich', 'aa6'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.merge',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.merge', 'aa4'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter', 'e2a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter', 'd2a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.project',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.project', 'a4c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter', '907'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.threshold',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.threshold', '868'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo', '8f4'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG', '8ed'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory', '51c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator', 'cae'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed', 'd55'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator', '61d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence', '7f7'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and', '2ef'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection', '810'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence', '8f5'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.siddhi.frequency',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.siddhi.frequency', '30d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.siddhi.frequencychange',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.siddhi.frequencychange', '7e3'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.siddhi.increase',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.siddhi.increase', 'e03'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter', 'd5c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.siddhi.sequence',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.siddhi.sequence', 'c62'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.siddhi.stop',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.siddhi.stop', 'bf9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary', 'ad2'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection', '5d0'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount', '175'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker', 'a2b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection', '9a1'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder', '792'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech', 'd53'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection', 'fe9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer', 'c41'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter', 'bb6'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper', '112'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer', 'a63'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher', '086'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter', '219'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate', 'df7'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter', '415'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter', '0e9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping', '769'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer', '790'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value', '808'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array', 'b3c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata', '69d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value', '2f6'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor', '7fc'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array', '3c7'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter', '8ff'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer', '977'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration', '1a8'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean', '909'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.protocol.set.file',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.protocol.set.file', '18d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.protocol.set.http',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.protocol.set.http', 'a29'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest', 'bd7'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms', '59e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka', '3ba'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt', '7d4'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar', '527'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq', 'b40'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest', 'e10'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.ditto',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.ditto', '102'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch', 'e38'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb', '01c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb', '355'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb', '1b5'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua', '558'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql', '46b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard', 'fc4'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake', '157'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.notification',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.notification', 'a09'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.email',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.email', '455'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal', '678'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack',
-        component: ComponentCreator('/docs/0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack', '71a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.connect.adapters.flic.mqtt',
-        component: ComponentCreator('/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.connect.adapters.flic.mqtt', '42f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.connect.adapters.plc4x.modbus',
-        component: ComponentCreator('/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.connect.adapters.plc4x.modbus', '1e5'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.connect.adapters.simulator.machine',
-        component: ComponentCreator('/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.connect.adapters.simulator.machine', '2c9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.connect.protocol.stream.httpserver',
-        component: ComponentCreator('/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.connect.protocol.stream.httpserver', '39a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.changedetection.jvm.cusum',
-        component: ComponentCreator('/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.changedetection.jvm.cusum', '2ad'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.filters.jvm.limit',
-        component: ComponentCreator('/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.filters.jvm.limit', 'a68'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge',
-        component: ComponentCreator('/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge', '2e1'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state',
-        component: ComponentCreator('/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state', '560'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.buffer',
-        component: ComponentCreator('/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.buffer', '20e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer',
-        component: ComponentCreator('/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer', 'c7e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number',
-        component: ComponentCreator('/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number', '0fa'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state',
-        component: ComponentCreator('/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state', '03f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.sinks.brokers.jvm.nats',
-        component: ComponentCreator('/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.sinks.brokers.jvm.nats', 'bab'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.sinks.databases.jvm.mysql',
-        component: ComponentCreator('/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.sinks.databases.jvm.mysql', 'def'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.sinks.notifications.jvm.telegram',
-        component: ComponentCreator('/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.sinks.notifications.jvm.telegram', 'd33'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/technicals-architecture',
-        component: ComponentCreator('/docs/0.66.0/technicals-architecture', 'b3c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/technicals-configuration',
-        component: ComponentCreator('/docs/0.66.0/technicals-configuration', 'e17'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/technicals-messaging',
-        component: ComponentCreator('/docs/0.66.0/technicals-messaging', 'e67'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/technicals-runtime-wrappers',
-        component: ComponentCreator('/docs/0.66.0/technicals-runtime-wrappers', '156'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/technicals-user-guidance',
-        component: ComponentCreator('/docs/0.66.0/technicals-user-guidance', '320'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/try-installation',
-        component: ComponentCreator('/docs/0.66.0/try-installation', 'fe9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/try-tutorial',
-        component: ComponentCreator('/docs/0.66.0/try-tutorial', 'a54'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/use-configurations',
-        component: ComponentCreator('/docs/0.66.0/use-configurations', 'c16'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/use-connect',
-        component: ComponentCreator('/docs/0.66.0/use-connect', '2cb'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/use-dashboard',
-        component: ComponentCreator('/docs/0.66.0/use-dashboard', '70b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/use-data-explorer',
-        component: ComponentCreator('/docs/0.66.0/use-data-explorer', '3b9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/use-install-pipeline-elements',
-        component: ComponentCreator('/docs/0.66.0/use-install-pipeline-elements', '4be'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/use-managing-pipelines',
-        component: ComponentCreator('/docs/0.66.0/use-managing-pipelines', '705'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/use-notifications',
-        component: ComponentCreator('/docs/0.66.0/use-notifications', '424'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/use-pipeline-editor',
-        component: ComponentCreator('/docs/0.66.0/use-pipeline-editor', '2bd'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/user-guide-first-steps',
-        component: ComponentCreator('/docs/0.66.0/user-guide-first-steps', 'f12'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/user-guide-installation',
-        component: ComponentCreator('/docs/0.66.0/user-guide-installation', '65e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/user-guide-introduction',
-        component: ComponentCreator('/docs/0.66.0/user-guide-introduction', '7f8'),
-        exact: true
-      },
-      {
-        path: '/docs/0.66.0/user-guide-introduction-old',
-        component: ComponentCreator('/docs/0.66.0/user-guide-introduction-old', 'ab6'),
-        exact: true
-      }
-    ]
-  },
-  {
-    path: '/docs/0.67.0',
-    component: ComponentCreator('/docs/0.67.0', '610'),
-    routes: [
-      {
-        path: '/docs/0.67.0/community-contribute',
-        component: ComponentCreator('/docs/0.67.0/community-contribute', '394'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/community-get-help',
-        component: ComponentCreator('/docs/0.67.0/community-get-help', '7f9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/concepts-adapter',
-        component: ComponentCreator('/docs/0.67.0/concepts-adapter', 'b39'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/concepts-data-streams',
-        component: ComponentCreator('/docs/0.67.0/concepts-data-streams', 'aa7'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/concepts-glossary',
-        component: ComponentCreator('/docs/0.67.0/concepts-glossary', '03d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/concepts-overview',
-        component: ComponentCreator('/docs/0.67.0/concepts-overview', '2d0'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/concepts-pipelines',
-        component: ComponentCreator('/docs/0.67.0/concepts-pipelines', '842'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/debugging-debugging',
-        component: ComponentCreator('/docs/0.67.0/debugging-debugging', '3d9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/debugging-monitoring',
-        component: ComponentCreator('/docs/0.67.0/debugging-monitoring', '10e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/deploy-docker',
-        component: ComponentCreator('/docs/0.67.0/deploy-docker', '817'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/deploy-kubernetes',
-        component: ComponentCreator('/docs/0.67.0/deploy-kubernetes', 'c7e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/deploy-security',
-        component: ComponentCreator('/docs/0.67.0/deploy-security', 'dda'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/deploy-use-ssl',
-        component: ComponentCreator('/docs/0.67.0/deploy-use-ssl', '6ee'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/dev-guide-archetype',
-        component: ComponentCreator('/docs/0.67.0/dev-guide-archetype', 'd1d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/dev-guide-sdk-guide-processors',
-        component: ComponentCreator('/docs/0.67.0/dev-guide-sdk-guide-processors', 'e7c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/dev-guide-sdk-guide-sinks',
-        component: ComponentCreator('/docs/0.67.0/dev-guide-sdk-guide-sinks', 'd64'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/extend-archetypes',
-        component: ComponentCreator('/docs/0.67.0/extend-archetypes', '165'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/extend-cli',
-        component: ComponentCreator('/docs/0.67.0/extend-cli', '008'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/extend-first-processor',
-        component: ComponentCreator('/docs/0.67.0/extend-first-processor', '65d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/extend-sdk-event-model',
-        component: ComponentCreator('/docs/0.67.0/extend-sdk-event-model', '4c6'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/extend-sdk-functions',
-        component: ComponentCreator('/docs/0.67.0/extend-sdk-functions', '018'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/extend-sdk-migration-service-discovery',
-        component: ComponentCreator('/docs/0.67.0/extend-sdk-migration-service-discovery', '2b3'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/extend-sdk-output-strategies',
-        component: ComponentCreator('/docs/0.67.0/extend-sdk-output-strategies', '9b3'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/extend-sdk-static-properties',
-        component: ComponentCreator('/docs/0.67.0/extend-sdk-static-properties', 'c83'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/extend-sdk-stream-requirements',
-        component: ComponentCreator('/docs/0.67.0/extend-sdk-stream-requirements', '8cd'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/extend-setup',
-        component: ComponentCreator('/docs/0.67.0/extend-setup', 'b00'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/extend-tutorial-data-processors',
-        component: ComponentCreator('/docs/0.67.0/extend-tutorial-data-processors', 'bd5'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/extend-tutorial-data-sinks',
-        component: ComponentCreator('/docs/0.67.0/extend-tutorial-data-sinks', '952'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/extend-tutorial-data-sources',
-        component: ComponentCreator('/docs/0.67.0/extend-tutorial-data-sources', '4f7'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt', '1e4'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.connect.adapters.opcua',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.connect.adapters.opcua', '613'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus', 'f69'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.connect.adapters.simulator.machine',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.connect.adapters.simulator.machine', '70f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver', '244'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding', 'bdb'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding', 'ead'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding', '609'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification', 'e15'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher', '9ff'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processor.imageclassification.qrcode',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processor.imageclassification.qrcode', 'ca7'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation', 'fcb'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.count',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.count', 'f60'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount', '379'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.rate',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.rate', '774'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum', '5e9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.filters.jvm.limit',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.filters.jvm.limit', 'cad'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.filters.jvm.merge',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.filters.jvm.merge', '7b4'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator', '7b9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator', 'c1a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence', 'a70'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and', '15f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection', '3f8'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence', '968'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.siddhi.frequency',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.siddhi.frequency', 'e23'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.siddhi.frequencychange',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.siddhi.frequencychange', '2b6'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.siddhi.increase',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.siddhi.increase', '28d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter', '670'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.siddhi.stop',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.siddhi.stop', '445'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection', 'c02'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount', '19c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter', '2dd'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer', 'd34'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher', '83e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter', '6fd'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter', '03e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge', '497'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state', '816'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer', '06c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer', 'a16'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number', '65b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state', '509'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array', '70a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer', '10a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats', 'b13'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq', '839'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.sinks.databases.ditto',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.sinks.databases.ditto', '0b3'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql', '48d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.sinks.internal.jvm.notification',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.sinks.internal.jvm.notification', '9dc'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack', '6d4'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram',
-        component: ComponentCreator('/docs/0.67.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram', '164'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/technicals-architecture',
-        component: ComponentCreator('/docs/0.67.0/technicals-architecture', '246'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/technicals-configuration',
-        component: ComponentCreator('/docs/0.67.0/technicals-configuration', 'f2d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/technicals-messaging',
-        component: ComponentCreator('/docs/0.67.0/technicals-messaging', '289'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/technicals-runtime-wrappers',
-        component: ComponentCreator('/docs/0.67.0/technicals-runtime-wrappers', '032'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/technicals-user-guidance',
-        component: ComponentCreator('/docs/0.67.0/technicals-user-guidance', 'cea'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/try-installation',
-        component: ComponentCreator('/docs/0.67.0/try-installation', 'd0d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/try-tutorial',
-        component: ComponentCreator('/docs/0.67.0/try-tutorial', '05d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/use-configurations',
-        component: ComponentCreator('/docs/0.67.0/use-configurations', '1a8'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/use-connect',
-        component: ComponentCreator('/docs/0.67.0/use-connect', '1b6'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/use-dashboard',
-        component: ComponentCreator('/docs/0.67.0/use-dashboard', 'c14'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/use-data-explorer',
-        component: ComponentCreator('/docs/0.67.0/use-data-explorer', '49d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/use-install-pipeline-elements',
-        component: ComponentCreator('/docs/0.67.0/use-install-pipeline-elements', 'e31'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/use-managing-pipelines',
-        component: ComponentCreator('/docs/0.67.0/use-managing-pipelines', '89b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/use-notifications',
-        component: ComponentCreator('/docs/0.67.0/use-notifications', 'fd9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/use-pipeline-editor',
-        component: ComponentCreator('/docs/0.67.0/use-pipeline-editor', '86b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/user-guide-installation',
-        component: ComponentCreator('/docs/0.67.0/user-guide-installation', '395'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/user-guide-introduction',
-        component: ComponentCreator('/docs/0.67.0/user-guide-introduction', '65d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.67.0/user-guide-introduction-old',
-        component: ComponentCreator('/docs/0.67.0/user-guide-introduction-old', '206'),
-        exact: true
-      }
-    ]
-  },
-  {
-    path: '/docs/0.68.0',
-    component: ComponentCreator('/docs/0.68.0', '255'),
-    routes: [
-      {
-        path: '/docs/0.68.0/community-contribute',
-        component: ComponentCreator('/docs/0.68.0/community-contribute', '140'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/community-get-help',
-        component: ComponentCreator('/docs/0.68.0/community-get-help', 'e91'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/deploy-docker',
-        component: ComponentCreator('/docs/0.68.0/deploy-docker', 'd68'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/deploy-security',
-        component: ComponentCreator('/docs/0.68.0/deploy-security', '2bb'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/dev-guide-sdk-guide-processors',
-        component: ComponentCreator('/docs/0.68.0/dev-guide-sdk-guide-processors', '9c9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/dev-guide-sdk-guide-sinks',
-        component: ComponentCreator('/docs/0.68.0/dev-guide-sdk-guide-sinks', '58c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/extend-archetypes',
-        component: ComponentCreator('/docs/0.68.0/extend-archetypes', 'a5c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/extend-cli',
-        component: ComponentCreator('/docs/0.68.0/extend-cli', '68e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/extend-first-processor',
-        component: ComponentCreator('/docs/0.68.0/extend-first-processor', 'e59'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/extend-sdk-event-model',
-        component: ComponentCreator('/docs/0.68.0/extend-sdk-event-model', '7ed'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/extend-sdk-functions',
-        component: ComponentCreator('/docs/0.68.0/extend-sdk-functions', '038'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/extend-sdk-migration-service-discovery',
-        component: ComponentCreator('/docs/0.68.0/extend-sdk-migration-service-discovery', '90f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/extend-sdk-output-strategies',
-        component: ComponentCreator('/docs/0.68.0/extend-sdk-output-strategies', '418'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/extend-sdk-static-properties',
-        component: ComponentCreator('/docs/0.68.0/extend-sdk-static-properties', 'c79'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/extend-sdk-stream-requirements',
-        component: ComponentCreator('/docs/0.68.0/extend-sdk-stream-requirements', '1fa'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/extend-setup',
-        component: ComponentCreator('/docs/0.68.0/extend-setup', '71a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/extend-tutorial-data-processors',
-        component: ComponentCreator('/docs/0.68.0/extend-tutorial-data-processors', '8e9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/extend-tutorial-data-sinks',
-        component: ComponentCreator('/docs/0.68.0/extend-tutorial-data-sinks', 'd1c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/extend-tutorial-data-sources',
-        component: ComponentCreator('/docs/0.68.0/extend-tutorial-data-sources', 'ead'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt', '345'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.connect.adapters.opcua',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.connect.adapters.opcua', '024'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus', 'a02'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.connect.adapters.simulator.machine',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.connect.adapters.simulator.machine', '424'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver', '78c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding', '498'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding', '390'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding', '270'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification', 'b05'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher', '466'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processor.imageclassification.qrcode',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processor.imageclassification.qrcode', 'dc8'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation', 'fc7'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.count',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.count', 'a01'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount', 'd77'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.rate',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.rate', 'a05'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum', '19e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.filters.jvm.limit',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.filters.jvm.limit', '35e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.filters.jvm.merge',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.filters.jvm.merge', '05c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator', 'e29'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator', '36e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence', '210'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and', '445'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection', 'a6f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence', '632'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.siddhi.frequency',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.siddhi.frequency', 'f99'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.siddhi.frequencychange',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.siddhi.frequencychange', 'bba'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.siddhi.increase',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.siddhi.increase', 'faa'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter', 'a43'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.siddhi.stop',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.siddhi.stop', '030'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection', 'ec7'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount', '643'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter', 'e8e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer', '215'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher', '05e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter', 'c7d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter', '316'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge', '43c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state', '461'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer', '50c'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer', '558'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number', '282'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state', '2d7'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array', 'eb2'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer', '3a8'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats', 'e51'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq', '7a6'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.sinks.databases.ditto',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.sinks.databases.ditto', 'c89'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql', 'dca'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.sinks.internal.jvm.notification',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.sinks.internal.jvm.notification', '2e8'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack', '0bd'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram',
-        component: ComponentCreator('/docs/0.68.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram', '1bd'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/technicals-configuration',
-        component: ComponentCreator('/docs/0.68.0/technicals-configuration', '8da'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/try-installation',
-        component: ComponentCreator('/docs/0.68.0/try-installation', '47f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/try-tutorial',
-        component: ComponentCreator('/docs/0.68.0/try-tutorial', 'f29'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/use-configurations',
-        component: ComponentCreator('/docs/0.68.0/use-configurations', '526'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/use-dashboard',
-        component: ComponentCreator('/docs/0.68.0/use-dashboard', 'd57'),
-        exact: true
-      },
-      {
-        path: '/docs/0.68.0/use-data-explorer',
-        component: ComponentCreator('/docs/0.68.0/use-data-explorer', 'e2c'),
-        exact: true
-      }
-    ]
-  },
-  {
-    path: '/docs/0.69.0',
-    component: ComponentCreator('/docs/0.69.0', 'e8b'),
-    routes: [
-      {
-        path: '/docs/0.69.0/community-get-help',
-        component: ComponentCreator('/docs/0.69.0/community-get-help', '32b'),
-        exact: true
-      },
-      {
-        path: '/docs/0.69.0/deploy-security',
-        component: ComponentCreator('/docs/0.69.0/deploy-security', '9e8'),
-        exact: true
-      },
-      {
-        path: '/docs/0.69.0/extend-archetypes',
-        component: ComponentCreator('/docs/0.69.0/extend-archetypes', 'a90'),
-        exact: true
-      },
-      {
-        path: '/docs/0.69.0/extend-cli',
-        component: ComponentCreator('/docs/0.69.0/extend-cli', '087'),
-        exact: true
-      },
-      {
-        path: '/docs/0.69.0/extend-first-processor',
-        component: ComponentCreator('/docs/0.69.0/extend-first-processor', '3b1'),
-        exact: true
-      },
-      {
-        path: '/docs/0.69.0/extend-sdk-event-model',
-        component: ComponentCreator('/docs/0.69.0/extend-sdk-event-model', '0b7'),
-        exact: true
-      },
-      {
-        path: '/docs/0.69.0/extend-sdk-migration-service-discovery',
-        component: ComponentCreator('/docs/0.69.0/extend-sdk-migration-service-discovery', '6e2'),
-        exact: true
-      },
-      {
-        path: '/docs/0.69.0/extend-sdk-stream-requirements',
-        component: ComponentCreator('/docs/0.69.0/extend-sdk-stream-requirements', '410'),
-        exact: true
-      },
-      {
-        path: '/docs/0.69.0/extend-setup',
-        component: ComponentCreator('/docs/0.69.0/extend-setup', '654'),
-        exact: true
-      },
-      {
-        path: '/docs/0.69.0/extend-tutorial-data-processors',
-        component: ComponentCreator('/docs/0.69.0/extend-tutorial-data-processors', 'b62'),
-        exact: true
-      },
-      {
-        path: '/docs/0.69.0/extend-tutorial-data-sinks',
-        component: ComponentCreator('/docs/0.69.0/extend-tutorial-data-sinks', 'f1a'),
-        exact: true
-      },
-      {
-        path: '/docs/0.69.0/extend-tutorial-data-sources',
-        component: ComponentCreator('/docs/0.69.0/extend-tutorial-data-sources', '80e'),
-        exact: true
-      },
-      {
-        path: '/docs/0.69.0/try-installation',
-        component: ComponentCreator('/docs/0.69.0/try-installation', 'da2'),
-        exact: true
-      },
-      {
-        path: '/docs/0.69.0/use-configurations',
-        component: ComponentCreator('/docs/0.69.0/use-configurations', 'c8d'),
-        exact: true
-      },
-      {
-        path: '/docs/0.69.0/use-dashboard',
-        component: ComponentCreator('/docs/0.69.0/use-dashboard', '7e2'),
-        exact: true
-      },
-      {
-        path: '/docs/0.69.0/use-data-explorer',
-        component: ComponentCreator('/docs/0.69.0/use-data-explorer', '543'),
-        exact: true
-      },
-      {
-        path: '/docs/0.69.0/user-guide-introduction',
-        component: ComponentCreator('/docs/0.69.0/user-guide-introduction', '663'),
-        exact: true
-      },
-      {
-        path: '/docs/0.69.0/version-0.90.0-community-contribute',
-        component: ComponentCreator('/docs/0.69.0/version-0.90.0-community-contribute', 'bb6'),
-        exact: true
-      },
-      {
-        path: '/docs/0.69.0/version-0.90.0-extend-sdk-functions',
-        component: ComponentCreator('/docs/0.69.0/version-0.90.0-extend-sdk-functions', 'edc'),
-        exact: true
-      },
-      {
-        path: '/docs/0.69.0/version-0.90.0-extend-sdk-output-strategies',
-        component: ComponentCreator('/docs/0.69.0/version-0.90.0-extend-sdk-output-strategies', 'e5f'),
-        exact: true
-      },
-      {
-        path: '/docs/0.69.0/version-0.90.0-extend-sdk-static-properties',
-        component: ComponentCreator('/docs/0.69.0/version-0.90.0-extend-sdk-static-properties', 'ffb'),
-        exact: true
-      },
-      {
-        path: '/docs/0.69.0/version-0.90.0-technicals-configuration',
-        component: ComponentCreator('/docs/0.69.0/version-0.90.0-technicals-configuration', '8d1'),
-        exact: true
-      },
-      {
-        path: '/docs/0.69.0/version-0.90.0-use-connect',
-        component: ComponentCreator('/docs/0.69.0/version-0.90.0-use-connect', 'fd9'),
-        exact: true
-      },
-      {
-        path: '/docs/0.69.0/version-0.90.0-use-pipeline-editor',
-        component: ComponentCreator('/docs/0.69.0/version-0.90.0-use-pipeline-editor', '618'),
-        exact: true
-      },
-      {
-        path: '/docs/0.69.0/version-0.90.0-user-guide-installation',
-        component: ComponentCreator('/docs/0.69.0/version-0.90.0-user-guide-installation', 'ca6'),
-        exact: true
-      }
-    ]
-  },
-  {
     path: '/docs/0.70.0',
     component: ComponentCreator('/docs/0.70.0', '37e'),
     routes: [
@@ -7656,337 +1256,1082 @@
   },
   {
     path: '/docs/0.90.0',
-    component: ComponentCreator('/docs/0.90.0', '4a5'),
+    component: ComponentCreator('/docs/0.90.0', '545'),
     routes: [
       {
         path: '/docs/0.90.0/community-contribute',
-        component: ComponentCreator('/docs/0.90.0/community-contribute', '049'),
+        component: ComponentCreator('/docs/0.90.0/community-contribute', 'c7b'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/community-get-help',
+        component: ComponentCreator('/docs/0.90.0/community-get-help', 'cff'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/concepts-adapter',
+        component: ComponentCreator('/docs/0.90.0/concepts-adapter', '1d0'),
         exact: true
       },
       {
+        path: '/docs/0.90.0/concepts-data-streams',
+        component: ComponentCreator('/docs/0.90.0/concepts-data-streams', '994'),
+        exact: true
+      },
+      {
+        path: '/docs/0.90.0/concepts-glossary',
+        component: ComponentCreator('/docs/0.90.0/concepts-glossary', '603'),
+        exact: true
+      },
+      {
+        path: '/docs/0.90.0/concepts-overview',
+        component: ComponentCreator('/docs/0.90.0/concepts-overview', 'd34'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/concepts-pipelines',
+        component: ComponentCreator('/docs/0.90.0/concepts-pipelines', '5f5'),
+        exact: true
+      },
+      {
+        path: '/docs/0.90.0/debugging-debugging',
+        component: ComponentCreator('/docs/0.90.0/debugging-debugging', '421'),
+        exact: true
+      },
+      {
+        path: '/docs/0.90.0/debugging-monitoring',
+        component: ComponentCreator('/docs/0.90.0/debugging-monitoring', '89a'),
+        exact: true
+      },
+      {
+        path: '/docs/0.90.0/deploy-docker',
+        component: ComponentCreator('/docs/0.90.0/deploy-docker', 'cda'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/deploy-kubernetes',
+        component: ComponentCreator('/docs/0.90.0/deploy-kubernetes', 'fe4'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/deploy-security',
+        component: ComponentCreator('/docs/0.90.0/deploy-security', 'a20'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/deploy-use-ssl',
+        component: ComponentCreator('/docs/0.90.0/deploy-use-ssl', '2e4'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/dev-guide-archetype',
+        component: ComponentCreator('/docs/0.90.0/dev-guide-archetype', '740'),
+        exact: true
+      },
+      {
+        path: '/docs/0.90.0/dev-guide-sdk-guide-processors',
+        component: ComponentCreator('/docs/0.90.0/dev-guide-sdk-guide-processors', 'a3b'),
+        exact: true
+      },
+      {
+        path: '/docs/0.90.0/dev-guide-sdk-guide-sinks',
+        component: ComponentCreator('/docs/0.90.0/dev-guide-sdk-guide-sinks', '1d4'),
+        exact: true
+      },
+      {
+        path: '/docs/0.90.0/extend-archetypes',
+        component: ComponentCreator('/docs/0.90.0/extend-archetypes', '1b2'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
         path: '/docs/0.90.0/extend-cli',
-        component: ComponentCreator('/docs/0.90.0/extend-cli', '5a0'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/extend-cli', '604'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/extend-first-processor',
+        component: ComponentCreator('/docs/0.90.0/extend-first-processor', '1ef'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/extend-sdk-event-model',
+        component: ComponentCreator('/docs/0.90.0/extend-sdk-event-model', 'cae'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/extend-sdk-functions',
-        component: ComponentCreator('/docs/0.90.0/extend-sdk-functions', 'cf7'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/extend-sdk-functions', 'ba3'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/extend-sdk-migration-service-discovery',
-        component: ComponentCreator('/docs/0.90.0/extend-sdk-migration-service-discovery', '2d7'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/extend-sdk-migration-service-discovery', '8e1'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/extend-sdk-output-strategies',
-        component: ComponentCreator('/docs/0.90.0/extend-sdk-output-strategies', '64e'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/extend-sdk-output-strategies', '19a'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/extend-sdk-static-properties',
-        component: ComponentCreator('/docs/0.90.0/extend-sdk-static-properties', '137'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/extend-sdk-static-properties', '984'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/extend-sdk-stream-requirements',
-        component: ComponentCreator('/docs/0.90.0/extend-sdk-stream-requirements', 'cfa'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/extend-sdk-stream-requirements', '048'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/extend-setup',
-        component: ComponentCreator('/docs/0.90.0/extend-setup', 'e68'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/extend-setup', '50f'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/extend-tutorial-data-processors',
-        component: ComponentCreator('/docs/0.90.0/extend-tutorial-data-processors', '9b4'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/extend-tutorial-data-processors', 'edb'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/extend-tutorial-data-sinks',
-        component: ComponentCreator('/docs/0.90.0/extend-tutorial-data-sinks', '8c2'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/extend-tutorial-data-sinks', '0bd'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/extend-tutorial-data-sources',
-        component: ComponentCreator('/docs/0.90.0/extend-tutorial-data-sources', 'b7a'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/extend-tutorial-data-sources', '758'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/faq-common-problems',
+        component: ComponentCreator('/docs/0.90.0/faq-common-problems', '620'),
+        exact: true,
+        sidebar: "faq"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.coindesk',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.coindesk', '2b8'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt', 'e76'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt', '8e1'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.gdelt',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.gdelt', '493'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iex.news',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iex.news', '42d'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iex.stocks',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iex.stocks', '3e2'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.image.set',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.image.set', 'df3'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.image.stream',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.image.stream', 'db2'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.set',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.set', '7cb'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream', '23a'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iss',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iss', '9f2'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.set',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.set', '7a4'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.stream',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.stream', '63c'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt', '6df'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.netio.rest',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.netio.rest', '3a1'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera', '6dd'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.opcua',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.opcua', '563'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.opcua', '669'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus', 'cdd'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus', 'e7c'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7', 'd2b'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.ros',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.ros', '84a'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.machine',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.machine', 'f2d'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.machine', '408'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset', '226'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream', '378'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.slack',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.slack', '652'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.ti',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.ti', '3bf'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit', 'ccd'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new', '042'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.file',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.file', '26b'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.http',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.http', 'dde'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver', '863'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver', '010'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.kafka',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.kafka', '52f'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt', '5da'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar', 'c3a'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processor.geo.flink',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processor.geo.flink', '2f9'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding', '377'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding', '162'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding', 'c14'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding', '635'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding', '876'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding', '31b'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification', '980'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification', 'e83'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper', '7e0'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher', '059'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher', '2b4'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.qrcode',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.qrcode', '65e'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.qrcode', '60b'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation', '9cd'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation', '9e4'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.count',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.count', 'def'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.count', '185'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount', 'd95'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount', '208'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.rate',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.rate', '96e'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.rate', '7a1'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum', 'c72'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum', 'ae3'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop', 'bbf'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop', 'bd4'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry', 'd8a'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing', '304'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp', '7d9'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure', 'c5d'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.compose',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.compose', '0c7'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.enrich',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.enrich', 'd34'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.limit',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.limit', 'a30'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.limit', 'a4c'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.merge',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.merge', '916'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.merge', 'e1c'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter', '582'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter', '191'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.project',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.project', '6fd'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter', 'c5c'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.threshold',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.threshold', '844'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo', '233'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG', '69e'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory', '378'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator', '9b0'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator', '040'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed', '29e'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator', 'c75'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator', '8e8'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence', '4a0'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence', 'e68'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and', '574'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and', '099'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection', 'ed4'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection', '4f7'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence', 'ea1'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence', 'c87'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.frequency',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.frequency', 'e69'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.frequency', 'f49'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.frequencychange',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.frequencychange', '788'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.frequencychange', '7d4'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.increase',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.increase', '84f'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.increase', '00f'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter', '0dd'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter', 'ebd'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.sequence',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.sequence', '237'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.stop',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.stop', 'db0'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.stop', '2df'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary', 'e0d'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection', '170'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection', 'da2'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount', 'f06'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount', '571'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker', 'a97'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection', 'e3f'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder', 'ca9'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech', 'a97'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection', '7fb'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer', '94a'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter', 'c21'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter', '162'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper', '547'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer', '599'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer', '84e'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher', 'd32'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher', 'a50'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter', '418'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter', '162'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate', 'ba1'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter', 'a67'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter', '208'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter', '8ea'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping', '0f4'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer', '814'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value', '8b7'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array', '0dc'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata', 'f97'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value', 'fca'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge', '120'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge', 'e9f'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state', 'eb9'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state', '790'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer', 'a27'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer', 'ecb'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer', '618'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer', '3f7'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number', '7e6'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number', '036'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state', '364'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state', '791'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor', '99a'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array', '131'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array', '4ab'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter', 'a7e'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer', 'a31'),
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer', '10c'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration', '15d'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean', '44a'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.protocol.set.file',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.protocol.set.file', 'aa1'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.protocol.set.http',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.protocol.set.http', '854'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest', 'df2'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms', '589'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka', 'da8'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt', '4ad'),
         exact: true
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats', '50a'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats', 'f75'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar', '19e'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq', '9e4'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq', 'e36'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest', '8ea'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.ditto',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.ditto', '140'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.ditto', 'bfb'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch', 'c3f'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb', '7b6'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb', '85c'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb', 'a13'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql', 'f41'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql', '21c'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua', '8bb'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql', '5c7'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard', 'd91'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake', '5de'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.notification',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.notification', '3b5'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.notification', 'f0f'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.email',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.email', 'c51'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal',
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal', '889'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack', '680'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack', 'ee8'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram',
-        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram', '97e'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram', '188'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/technicals-architecture',
+        component: ComponentCreator('/docs/0.90.0/technicals-architecture', '39b'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/technicals-configuration',
-        component: ComponentCreator('/docs/0.90.0/technicals-configuration', '486'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/technicals-configuration', '7bb'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/technicals-messaging',
+        component: ComponentCreator('/docs/0.90.0/technicals-messaging', 'a06'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/technicals-runtime-wrappers',
+        component: ComponentCreator('/docs/0.90.0/technicals-runtime-wrappers', 'eab'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/technicals-user-guidance',
+        component: ComponentCreator('/docs/0.90.0/technicals-user-guidance', 'd7b'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/try-installation',
-        component: ComponentCreator('/docs/0.90.0/try-installation', 'a73'),
+        component: ComponentCreator('/docs/0.90.0/try-installation', '6a2'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/try-tutorial',
+        component: ComponentCreator('/docs/0.90.0/try-tutorial', '6f1'),
         exact: true
       },
       {
+        path: '/docs/0.90.0/use-configurations',
+        component: ComponentCreator('/docs/0.90.0/use-configurations', 'a6e'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
         path: '/docs/0.90.0/use-connect',
-        component: ComponentCreator('/docs/0.90.0/use-connect', 'dab'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/use-connect', 'a43'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/use-dashboard',
+        component: ComponentCreator('/docs/0.90.0/use-dashboard', '7d9'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/use-data-explorer',
+        component: ComponentCreator('/docs/0.90.0/use-data-explorer', 'a4b'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/use-install-pipeline-elements',
+        component: ComponentCreator('/docs/0.90.0/use-install-pipeline-elements', 'ed1'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/use-managing-pipelines',
+        component: ComponentCreator('/docs/0.90.0/use-managing-pipelines', 'be0'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.90.0/use-notifications',
+        component: ComponentCreator('/docs/0.90.0/use-notifications', 'cd9'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/use-pipeline-editor',
-        component: ComponentCreator('/docs/0.90.0/use-pipeline-editor', 'ad6'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/use-pipeline-editor', '6b0'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/user-guide-first-steps',
@@ -8000,8 +2345,9 @@
       },
       {
         path: '/docs/0.90.0/user-guide-introduction',
-        component: ComponentCreator('/docs/0.90.0/user-guide-introduction', 'a06'),
-        exact: true
+        component: ComponentCreator('/docs/0.90.0/user-guide-introduction', '4e8'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.90.0/user-guide-introduction-old',
@@ -8017,272 +2363,993 @@
   },
   {
     path: '/docs/0.91.0',
-    component: ComponentCreator('/docs/0.91.0', '421'),
+    component: ComponentCreator('/docs/0.91.0', '62f'),
     routes: [
       {
-        path: '/docs/0.91.0/extend-setup',
-        component: ComponentCreator('/docs/0.91.0/extend-setup', '1de'),
+        path: '/docs/0.91.0/community-contribute',
+        component: ComponentCreator('/docs/0.91.0/community-contribute', '57e'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/community-get-help',
+        component: ComponentCreator('/docs/0.91.0/community-get-help', '884'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/concepts-adapter',
+        component: ComponentCreator('/docs/0.91.0/concepts-adapter', 'd3c'),
         exact: true
       },
       {
+        path: '/docs/0.91.0/concepts-data-streams',
+        component: ComponentCreator('/docs/0.91.0/concepts-data-streams', '5f3'),
+        exact: true
+      },
+      {
+        path: '/docs/0.91.0/concepts-glossary',
+        component: ComponentCreator('/docs/0.91.0/concepts-glossary', 'da9'),
+        exact: true
+      },
+      {
+        path: '/docs/0.91.0/concepts-overview',
+        component: ComponentCreator('/docs/0.91.0/concepts-overview', 'a10'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/concepts-pipelines',
+        component: ComponentCreator('/docs/0.91.0/concepts-pipelines', '6bf'),
+        exact: true
+      },
+      {
+        path: '/docs/0.91.0/debugging-debugging',
+        component: ComponentCreator('/docs/0.91.0/debugging-debugging', 'a08'),
+        exact: true
+      },
+      {
+        path: '/docs/0.91.0/debugging-monitoring',
+        component: ComponentCreator('/docs/0.91.0/debugging-monitoring', 'd2c'),
+        exact: true
+      },
+      {
+        path: '/docs/0.91.0/deploy-docker',
+        component: ComponentCreator('/docs/0.91.0/deploy-docker', '315'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/deploy-kubernetes',
+        component: ComponentCreator('/docs/0.91.0/deploy-kubernetes', 'ec0'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/deploy-security',
+        component: ComponentCreator('/docs/0.91.0/deploy-security', '72d'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/deploy-use-ssl',
+        component: ComponentCreator('/docs/0.91.0/deploy-use-ssl', '0c5'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/dev-guide-archetype',
+        component: ComponentCreator('/docs/0.91.0/dev-guide-archetype', '1e8'),
+        exact: true
+      },
+      {
+        path: '/docs/0.91.0/dev-guide-sdk-guide-processors',
+        component: ComponentCreator('/docs/0.91.0/dev-guide-sdk-guide-processors', '4f5'),
+        exact: true
+      },
+      {
+        path: '/docs/0.91.0/dev-guide-sdk-guide-sinks',
+        component: ComponentCreator('/docs/0.91.0/dev-guide-sdk-guide-sinks', '698'),
+        exact: true
+      },
+      {
+        path: '/docs/0.91.0/extend-archetypes',
+        component: ComponentCreator('/docs/0.91.0/extend-archetypes', 'fe5'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/extend-cli',
+        component: ComponentCreator('/docs/0.91.0/extend-cli', 'ebe'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/extend-first-processor',
+        component: ComponentCreator('/docs/0.91.0/extend-first-processor', '77c'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/extend-sdk-event-model',
+        component: ComponentCreator('/docs/0.91.0/extend-sdk-event-model', '983'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/extend-sdk-functions',
+        component: ComponentCreator('/docs/0.91.0/extend-sdk-functions', '899'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/extend-sdk-migration-service-discovery',
+        component: ComponentCreator('/docs/0.91.0/extend-sdk-migration-service-discovery', '6d8'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/extend-sdk-output-strategies',
+        component: ComponentCreator('/docs/0.91.0/extend-sdk-output-strategies', 'a4f'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/extend-sdk-static-properties',
+        component: ComponentCreator('/docs/0.91.0/extend-sdk-static-properties', '157'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/extend-sdk-stream-requirements',
+        component: ComponentCreator('/docs/0.91.0/extend-sdk-stream-requirements', '6c8'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/extend-setup',
+        component: ComponentCreator('/docs/0.91.0/extend-setup', '0bf'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/extend-tutorial-data-processors',
+        component: ComponentCreator('/docs/0.91.0/extend-tutorial-data-processors', '2b8'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/extend-tutorial-data-sinks',
+        component: ComponentCreator('/docs/0.91.0/extend-tutorial-data-sinks', '927'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/extend-tutorial-data-sources',
+        component: ComponentCreator('/docs/0.91.0/extend-tutorial-data-sources', '4cd'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/faq-common-problems',
+        component: ComponentCreator('/docs/0.91.0/faq-common-problems', 'd4e'),
+        exact: true,
+        sidebar: "faq"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.coindesk',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.coindesk', 'd7f'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
         path: '/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt', 'afe'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt', 'cb9'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.gdelt',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.gdelt', 'fc9'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iex.news',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iex.news', '8aa'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iex.stocks',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iex.stocks', '0e9'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.image.set',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.image.set', 'f67'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.image.stream',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.image.stream', '986'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.set',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.set', 'fb7'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream', '971'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iss',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iss', 'b6f'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.set',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.set', '48b'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.stream',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.stream', '519'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt', '4ba'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.netio.rest',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.netio.rest', '2af'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera', '224'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.opcua',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.opcua', '90b'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.opcua', '616'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus', '5d9'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus', 'd25'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7', '830'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.ros',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.ros', '417'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.machine',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.machine', '416'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.machine', 'a22'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset', '3e3'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream', 'a2d'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.slack',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.slack', '8b8'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.ti',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.ti', 'c11'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit', '0b1'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new', '852'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.file',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.file', '5d3'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.http',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.http', 'a24'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver', '790'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver', '150'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.kafka',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.kafka', 'e97'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt', 'd43'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar', '396'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processor.geo.flink',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processor.geo.flink', '3bf'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding', 'b13'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding', 'f92'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding', '2d8'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding', 'cd2'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding', '450'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding', 'eb0'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification', '28d'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification', '544'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper', '8a6'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher', 'f9d'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher', 'd43'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.qrcode',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.qrcode', '39b'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.qrcode', 'bb7'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation', 'dd6'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation', 'dfa'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.count',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.count', 'e2d'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.count', 'a88'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount', '7b1'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount', '93b'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.rate',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.rate', '7c9'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.rate', '39e'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum', '794'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum', '4ed'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop', '2fd'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop', '69f'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry', '8cd'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing', '667'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp', 'c19'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure', 'bc4'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.compose',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.compose', '243'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.enrich',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.enrich', 'b89'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.limit',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.limit', '673'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.limit', '6b6'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.merge',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.merge', '405'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.merge', '534'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter', 'c7d'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter', 'cd7'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.project',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.project', 'aac'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter', '57b'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.threshold',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.threshold', '340'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo', '8d7'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG', '420'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory', '7bd'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator', '052'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator', '70c'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed', '2f7'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator', 'ac8'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator', '424'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence', '889'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence', '502'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and', '054'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and', '9b9'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection', '9a7'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection', '32d'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence', '035'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence', 'a0a'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.frequency',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.frequency', '440'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.frequency', '9dd'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.frequencychange',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.frequencychange', '591'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.frequencychange', '9d7'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.increase',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.increase', 'b09'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.increase', 'b19'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter', '055'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter', '537'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.sequence',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.sequence', '80d'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.stop',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.stop', '6c0'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.stop', 'c53'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary', '3dd'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection', '576'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection', '226'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount', '3a3'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount', '956'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker', '0fe'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection', '9c8'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder', '8ae'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech', 'daa'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection', '41b'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer', 'c34'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter', '933'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter', '62b'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper', '061'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer', 'c52'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer', 'cc3'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher', '1f2'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher', 'ccd'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter', '027'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter', '02b'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate', '55b'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter', 'fac'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter', '67d'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter', 'a64'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping', '558'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer', '9a2'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value', '969'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array', 'e9e'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata', '083'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value', 'e6c'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge', '783'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge', '45f'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state', '9e2'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state', 'b12'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer', 'e85'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer', '70c'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer', 'c90'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer', 'd2c'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number', '8b5'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number', '0f7'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state', '70b'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state', '7d6'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor', 'ecd'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array', 'a4b'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array', 'cce'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter', '148'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer', '8da'),
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer', '2a7'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration', '591'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean', '36b'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.protocol.set.file',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.protocol.set.file', '635'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.protocol.set.http',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.protocol.set.http', '91c'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest', 'b83'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms', '5ec'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka', '257'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt', '050'),
         exact: true
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats', '9e7'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats', '59a'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar', '6c2'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq', 'd9f'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq', '807'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest', 'f72'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.ditto',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.ditto', '6e3'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.ditto', 'e1e'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch', '007'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb', '80e'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb', '15c'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb', '6ad'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql', '4c3'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql', '585'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua', '6ea'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql', '7ba'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard', 'be4'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake', '5de'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.notification',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.notification', 'c89'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.notification', 'eb7'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.email',
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.email', '126'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal', '084'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal', '458'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack', '080'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack', '544'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram',
-        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram', '1ce'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram', '516'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/privacy',
@@ -8290,11 +3357,95 @@
         exact: true
       },
       {
+        path: '/docs/0.91.0/technicals-architecture',
+        component: ComponentCreator('/docs/0.91.0/technicals-architecture', '38d'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/technicals-configuration',
+        component: ComponentCreator('/docs/0.91.0/technicals-configuration', 'edf'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/technicals-messaging',
+        component: ComponentCreator('/docs/0.91.0/technicals-messaging', '17c'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/technicals-runtime-wrappers',
+        component: ComponentCreator('/docs/0.91.0/technicals-runtime-wrappers', '7eb'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/technicals-user-guidance',
+        component: ComponentCreator('/docs/0.91.0/technicals-user-guidance', '9f1'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
         path: '/docs/0.91.0/try-installation',
-        component: ComponentCreator('/docs/0.91.0/try-installation', '3a8'),
+        component: ComponentCreator('/docs/0.91.0/try-installation', '02e'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/try-tutorial',
+        component: ComponentCreator('/docs/0.91.0/try-tutorial', '096'),
         exact: true
       },
       {
+        path: '/docs/0.91.0/use-configurations',
+        component: ComponentCreator('/docs/0.91.0/use-configurations', '135'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/use-connect',
+        component: ComponentCreator('/docs/0.91.0/use-connect', '3f9'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/use-dashboard',
+        component: ComponentCreator('/docs/0.91.0/use-dashboard', '3c8'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/use-data-explorer',
+        component: ComponentCreator('/docs/0.91.0/use-data-explorer', 'd5d'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/use-install-pipeline-elements',
+        component: ComponentCreator('/docs/0.91.0/use-install-pipeline-elements', '16f'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/use-managing-pipelines',
+        component: ComponentCreator('/docs/0.91.0/use-managing-pipelines', '6fd'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/use-notifications',
+        component: ComponentCreator('/docs/0.91.0/use-notifications', 'b9a'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
+        path: '/docs/0.91.0/use-pipeline-editor',
+        component: ComponentCreator('/docs/0.91.0/use-pipeline-editor', 'c77'),
+        exact: true,
+        sidebar: "documentation"
+      },
+      {
         path: '/docs/0.91.0/user-guide-first-steps',
         component: ComponentCreator('/docs/0.91.0/user-guide-first-steps', '054'),
         exact: true
@@ -8306,8 +3457,9 @@
       },
       {
         path: '/docs/0.91.0/user-guide-introduction',
-        component: ComponentCreator('/docs/0.91.0/user-guide-introduction', 'b47'),
-        exact: true
+        component: ComponentCreator('/docs/0.91.0/user-guide-introduction', 'fbc'),
+        exact: true,
+        sidebar: "documentation"
       },
       {
         path: '/docs/0.91.0/user-guide-introduction-old',
@@ -9441,7 +4593,7 @@
   },
   {
     path: '/docs',
-    component: ComponentCreator('/docs', 'c7e'),
+    component: ComponentCreator('/docs', 'c40'),
     routes: [
       {
         path: '/docs/community-contribute',
@@ -9521,11 +4673,26 @@
         sidebar: "documentation"
       },
       {
+        path: '/docs/dev-guide-archetype',
+        component: ComponentCreator('/docs/dev-guide-archetype', 'd1a'),
+        exact: true
+      },
+      {
         path: '/docs/dev-guide-introduction',
         component: ComponentCreator('/docs/dev-guide-introduction', '3b8'),
         exact: true
       },
       {
+        path: '/docs/dev-guide-sdk-guide-processors',
+        component: ComponentCreator('/docs/dev-guide-sdk-guide-processors', '2c5'),
+        exact: true
+      },
+      {
+        path: '/docs/dev-guide-sdk-guide-sinks',
+        component: ComponentCreator('/docs/dev-guide-sdk-guide-sinks', '547'),
+        exact: true
+      },
+      {
         path: '/docs/extend-archetypes',
         component: ComponentCreator('/docs/extend-archetypes', '2de'),
         exact: true,
@@ -10317,6 +5484,11 @@
         sidebar: "documentation"
       },
       {
+        path: '/docs/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt',
+        component: ComponentCreator('/docs/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt', 'f51'),
+        exact: true
+      },
+      {
         path: '/docs/pe/org.apache.streampipes.sinks.brokers.jvm.nats',
         component: ComponentCreator('/docs/pe/org.apache.streampipes.sinks.brokers.jvm.nats', 'bfb'),
         exact: true,
diff --git a/website-v2/.docusaurus/routesChunkNames.json b/website-v2/.docusaurus/routesChunkNames.json
index 5a23d4b..d5347f3 100644
--- a/website-v2/.docusaurus/routesChunkNames.json
+++ b/website-v2/.docusaurus/routesChunkNames.json
@@ -296,5152 +296,10 @@
     },
     "config": "config---versions-5-e-9-c5a"
   },
-  "/docs/0.55.2-pre-asf-75a": {
-    "__comp": "__comp---theme-doc-page-1-be-9be",
-    "__context": {
-      "plugin": "plugin---docs-0-55-2-pre-asf-49-f-cdc"
-    },
-    "versionMetadata": "versionMetadata---docs-0-55-2-pre-asf-009-9d2"
-  },
-  "/docs/0.55.2-pre-asf/dev-guide-archetype-2ac": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-dev-guide-archetypec-87-d4b"
-  },
-  "/docs/0.55.2-pre-asf/dev-guide-architecture-a5c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-dev-guide-architecture-19-b-4fa"
-  },
-  "/docs/0.55.2-pre-asf/dev-guide-configuration-b2c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-dev-guide-configuration-522-b59"
-  },
-  "/docs/0.55.2-pre-asf/dev-guide-development-environment-e87": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-dev-guide-development-environmente-03-e32"
-  },
-  "/docs/0.55.2-pre-asf/dev-guide-event-model-4f3": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-dev-guide-event-modeldc-5-5be"
-  },
-  "/docs/0.55.2-pre-asf/dev-guide-introduction-98d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-dev-guide-introduction-44-e-1ba"
-  },
-  "/docs/0.55.2-pre-asf/dev-guide-migration-718": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-dev-guide-migrationbf-9-00d"
-  },
-  "/docs/0.55.2-pre-asf/dev-guide-output-strategies-79c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-dev-guide-output-strategies-10-c-581"
-  },
-  "/docs/0.55.2-pre-asf/dev-guide-sdk-guide-processors-dbe": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-dev-guide-sdk-guide-processorsc-26-32d"
-  },
-  "/docs/0.55.2-pre-asf/dev-guide-sdk-guide-sinks-e6d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-dev-guide-sdk-guide-sinks-578-ecc"
-  },
-  "/docs/0.55.2-pre-asf/dev-guide-sdk-guide-sources-3aa": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-dev-guide-sdk-guide-sources-0-fa-3c0"
-  },
-  "/docs/0.55.2-pre-asf/dev-guide-ssl-457": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-dev-guide-ssl-195-fc4"
-  },
-  "/docs/0.55.2-pre-asf/dev-guide-static-properties-19a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-dev-guide-static-propertiese-8-d-246"
-  },
-  "/docs/0.55.2-pre-asf/dev-guide-stream-requirements-205": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-dev-guide-stream-requirementsa-88-12b"
-  },
-  "/docs/0.55.2-pre-asf/dev-guide-tutorial-processors-79a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-dev-guide-tutorial-processors-421-b8e"
-  },
-  "/docs/0.55.2-pre-asf/dev-guide-tutorial-sources-2b2": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-dev-guide-tutorial-sources-303-a98"
-  },
-  "/docs/0.55.2-pre-asf/faq-common-problems-102": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-faq-common-problems-20-b-3b2"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processor.geo.flink/version-0.62.0-org.streampipes.processor.geo.flink-2e6": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processor-geo-flink-version-0-62-0-org-streampipes-processor-geo-flink-36-f-db6"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification-9df": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processor-imageclassification-jvm-generic-image-classification-version-0-62-0-org-streampipes-processor-imageclassification-jvm-generic-image-classificationa-1-d-ec2"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher-08f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processor-imageclassification-jvm-image-enricher-version-0-62-0-org-streampipes-processor-imageclassification-jvm-image-enricherf-02-c80"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processor.imageclassification.qrcode/version-0.62.0-org.streampipes.processor.imageclassification.qrcode-7cb": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processor-imageclassification-qrcode-version-0-62-0-org-streampipes-processor-imageclassification-qrcodeacb-3e5"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation-5ee": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processors-aggregation-flink-aggregation-version-0-62-0-org-streampipes-processors-aggregation-flink-aggregationd-4-a-2e4"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processors.aggregation.flink.rate/version-0.62.0-org.streampipes.processors.aggregation.flink.rate-ded": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processors-aggregation-flink-rate-version-0-62-0-org-streampipes-processors-aggregation-flink-rate-6-b-1-a32"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop-498": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processors-enricher-flink-processor-math-mathop-version-0-62-0-org-streampipes-processors-enricher-flink-processor-math-mathop-03-b-4fd"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop-609": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processors-enricher-flink-processor-math-staticmathop-version-0-62-0-org-streampipes-processors-enricher-flink-processor-math-staticmathopc-4-e-b15"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry-e2b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processors-enricher-flink-processor-trigonometry-version-0-62-0-org-streampipes-processors-enricher-flink-processor-trigonometryaef-dbb"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing-6f6": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processors-enricher-flink-processor-urldereferencing-version-0-62-0-org-streampipes-processors-enricher-flink-processor-urldereferencing-72-e-8b3"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processors.enricher.flink.timestamp/version-0.62.0-org.streampipes.processors.enricher.flink.timestamp-aaf": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processors-enricher-flink-timestamp-version-0-62-0-org-streampipes-processors-enricher-flink-timestamp-63-e-8e7"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processors.filters.jvm.compose/version-0.62.0-org.streampipes.processors.filters.jvm.compose-35c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processors-filters-jvm-compose-version-0-62-0-org-streampipes-processors-filters-jvm-compose-257-156"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter-ae6": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processors-filters-jvm-numericalfilter-version-0-62-0-org-streampipes-processors-filters-jvm-numericalfiltere-46-05b"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processors.filters.jvm.project/version-0.62.0-org.streampipes.processors.filters.jvm.project-70f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processors-filters-jvm-project-version-0-62-0-org-streampipes-processors-filters-jvm-projectb-17-81f"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processors.filters.jvm.textfilter/version-0.62.0-org.streampipes.processors.filters.jvm.textfilter-2cd": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processors-filters-jvm-textfilter-version-0-62-0-org-streampipes-processors-filters-jvm-textfilter-078-6d2"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection-a47": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processors-pattern-detection-flink-peak-detection-version-0-62-0-org-streampipes-processors-pattern-detection-flink-peak-detectionf-44-570"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processors.siddhi.frequency/version-0.62.0-org.streampipes.processors.siddhi.frequency-bcc": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processors-siddhi-frequency-version-0-62-0-org-streampipes-processors-siddhi-frequencybe-8-831"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processors.siddhi.frequencychange/version-0.62.0-org.streampipes.processors.siddhi.frequencychange-c19": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processors-siddhi-frequencychange-version-0-62-0-org-streampipes-processors-siddhi-frequencychange-6-fe-728"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processors.siddhi.increase/version-0.62.0-org.streampipes.processors.siddhi.increase-026": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processors-siddhi-increase-version-0-62-0-org-streampipes-processors-siddhi-increaseccb-e66"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processors.siddhi.numericalfilter/version-0.62.0-org.streampipes.processors.siddhi.numericalfilter-87b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processors-siddhi-numericalfilter-version-0-62-0-org-streampipes-processors-siddhi-numericalfiltere-64-852"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processors.siddhi.sequence/version-0.62.0-org.streampipes.processors.siddhi.sequence-a11": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processors-siddhi-sequence-version-0-62-0-org-streampipes-processors-siddhi-sequencecb-0-94e"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processors.siddhi.stop/version-0.62.0-org.streampipes.processors.siddhi.stop-22a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processors-siddhi-stop-version-0-62-0-org-streampipes-processors-siddhi-stop-8-f-1-921"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection-913": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processors-textmining-flink-languagedetection-version-0-62-0-org-streampipes-processors-textmining-flink-languagedetection-577-124"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processors.textmining.flink.wordcount/version-0.62.0-org.streampipes.processors.textmining.flink.wordcount-72f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processors-textmining-flink-wordcount-version-0-62-0-org-streampipes-processors-textmining-flink-wordcount-5-c-2-c48"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-converter/version-0.62.0-org.streampipes.processors.transformation.flink.field-converter-768": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-flink-field-converter-version-0-62-0-org-streampipes-processors-transformation-flink-field-convertere-91-656"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper-06b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-flink-field-mapper-version-0-62-0-org-streampipes-processors-transformation-flink-field-mapperf-82-891"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer-d88": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-flink-field-renamer-version-0-62-0-org-streampipes-processors-transformation-flink-field-renamer-3-f-1-b83"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher-242": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-flink-fieldhasher-version-0-62-0-org-streampipes-processors-transformation-flink-fieldhashere-90-765"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter-173": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-flink-measurement-unit-converter-version-0-62-0-org-streampipes-processors-transformation-flink-measurement-unit-converter-96-b-3f7"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate-0f5": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-flink-processor-boilerplate-version-0-62-0-org-streampipes-processors-transformation-flink-processor-boilerplateaa-2-550"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value-7f8": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-jvm-changed-value-version-0-62-0-org-streampipes-processors-transformation-jvm-changed-valuec-00-41e"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.count-array/version-0.62.0-org.streampipes.processors.transformation.jvm.count-array-8af": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-jvm-count-array-version-0-62-0-org-streampipes-processors-transformation-jvm-count-array-271-2dd"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value-2b8": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-jvm-duration-value-version-0-62-0-org-streampipes-processors-transformation-jvm-duration-valuece-4-cfe"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor-990": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-jvm-processor-timestampextractor-version-0-62-0-org-streampipes-processors-transformation-jvm-processor-timestampextractor-4-d-7-1b3"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.split-array/version-0.62.0-org.streampipes.processors.transformation.jvm.split-array-52c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-processors-transformation-jvm-split-array-version-0-62-0-org-streampipes-processors-transformation-jvm-split-array-238-519"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.jms/version-0.62.0-org.streampipes.sinks.brokers.jvm.jms-cf5": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-sinks-brokers-jvm-jms-version-0-62-0-org-streampipes-sinks-brokers-jvm-jms-818-328"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka-d28": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-sinks-brokers-jvm-kafka-version-0-62-0-org-streampipes-sinks-brokers-jvm-kafka-492-d09"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq-e4c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-sinks-brokers-jvm-rabbitmq-version-0-62-0-org-streampipes-sinks-brokers-jvm-rabbitmq-8-bf-609"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.rest/version-0.62.0-org.streampipes.sinks.brokers.jvm.rest-213": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-sinks-brokers-jvm-rest-version-0-62-0-org-streampipes-sinks-brokers-jvm-restc-27-2ae"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch-bdd": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-sinks-databases-flink-elasticsearch-version-0-62-0-org-streampipes-sinks-databases-flink-elasticsearch-4-d-2-0a7"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb-684": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-sinks-databases-jvm-couchdb-version-0-62-0-org-streampipes-sinks-databases-jvm-couchdb-789-3e7"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb-7da": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-sinks-databases-jvm-influxdb-version-0-62-0-org-streampipes-sinks-databases-jvm-influxdbcd-4-5e4"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql-3a5": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-sinks-databases-jvm-postgresql-version-0-62-0-org-streampipes-sinks-databases-jvm-postgresql-480-838"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard-9fd": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-sinks-internal-jvm-dashboard-version-0-62-0-org-streampipes-sinks-internal-jvm-dashboardde-8-799"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.sinks.internal.jvm.notification/version-0.62.0-org.streampipes.sinks.internal.jvm.notification-4c0": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-sinks-internal-jvm-notification-version-0-62-0-org-streampipes-sinks-internal-jvm-notification-633-f71"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.email/version-0.62.0-org.streampipes.sinks.notifications.jvm.email-e08": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-sinks-notifications-jvm-email-version-0-62-0-org-streampipes-sinks-notifications-jvm-email-8-df-515"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal-592": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-sinks-notifications-jvm-onesignal-version-0-62-0-org-streampipes-sinks-notifications-jvm-onesignal-094-3e9"
-  },
-  "/docs/0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.slack/version-0.62.0-org.streampipes.sinks.notifications.jvm.slack-27f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-org-streampipes-sinks-notifications-jvm-slack-version-0-62-0-org-streampipes-sinks-notifications-jvm-slackc-92-f39"
-  },
-  "/docs/0.55.2-pre-asf/privacy-af6": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-privacy-278-9e4"
-  },
-  "/docs/0.55.2-pre-asf/user-guide-getting-started-b0b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-user-guide-getting-startede-61-b5f"
-  },
-  "/docs/0.55.2-pre-asf/user-guide-installation-7e8": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-user-guide-installation-159-12c"
-  },
-  "/docs/0.55.2-pre-asf/user-guide-introduction-33e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-user-guide-introduction-6-ef-640"
-  },
-  "/docs/0.55.2-pre-asf/user-guide-processing-elements-587": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-user-guide-processing-elements-4-c-8-b64"
-  },
-  "/docs/0.55.2-pre-asf/user-guide-software-components-d99": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-user-guide-software-components-554-cec"
-  },
-  "/docs/0.55.2-pre-asf/user-guide-tour-b42": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-55-2-pre-asf-user-guide-tourf-4-d-f05"
-  },
-  "/docs/0.61.0-pre-asf-ce4": {
-    "__comp": "__comp---theme-doc-page-1-be-9be",
-    "__context": {
-      "plugin": "plugin---docs-0-55-2-pre-asf-49-f-cdc"
-    },
-    "versionMetadata": "versionMetadata---docs-0-61-0-pre-asf-06-b-d92"
-  },
-  "/docs/0.61.0-pre-asf/dev-guide-archetype-889": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-dev-guide-archetype-995-dd2"
-  },
-  "/docs/0.61.0-pre-asf/dev-guide-architecture-8f2": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-dev-guide-architecturee-27-4f0"
-  },
-  "/docs/0.61.0-pre-asf/dev-guide-configuration-d70": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-dev-guide-configuration-805-ec0"
-  },
-  "/docs/0.61.0-pre-asf/dev-guide-development-environment-bda": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-dev-guide-development-environment-4-d-0-46c"
-  },
-  "/docs/0.61.0-pre-asf/dev-guide-event-model-a2a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-dev-guide-event-modela-6-e-51e"
-  },
-  "/docs/0.61.0-pre-asf/dev-guide-migration-36c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-dev-guide-migration-573-fdd"
-  },
-  "/docs/0.61.0-pre-asf/dev-guide-output-strategies-616": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-dev-guide-output-strategiesbdc-1cf"
-  },
-  "/docs/0.61.0-pre-asf/dev-guide-sdk-guide-processors-d2c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-dev-guide-sdk-guide-processors-6-e-1-0b1"
-  },
-  "/docs/0.61.0-pre-asf/dev-guide-sdk-guide-sinks-377": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-dev-guide-sdk-guide-sinks-4-c-3-95f"
-  },
-  "/docs/0.61.0-pre-asf/dev-guide-ssl-eb2": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-dev-guide-ssl-1-e-8-a90"
-  },
-  "/docs/0.61.0-pre-asf/dev-guide-static-properties-290": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-dev-guide-static-propertiese-15-0f1"
-  },
-  "/docs/0.61.0-pre-asf/dev-guide-stream-requirements-7aa": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-dev-guide-stream-requirementscf-7-b55"
-  },
-  "/docs/0.61.0-pre-asf/dev-guide-tutorial-processors-c97": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-dev-guide-tutorial-processorsde-1-a0b"
-  },
-  "/docs/0.61.0-pre-asf/dev-guide-tutorial-sinks-3b4": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-dev-guide-tutorial-sinks-25-f-147"
-  },
-  "/docs/0.61.0-pre-asf/dev-guide-tutorial-sources-a2a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-dev-guide-tutorial-sources-162-b79"
-  },
-  "/docs/0.61.0-pre-asf/faq-common-problems-f32": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-faq-common-problemsf-33-ba2"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processor.geo.flink/version-0.62.0-org.streampipes.processor.geo.flink-647": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processor-geo-flink-version-0-62-0-org-streampipes-processor-geo-flinkf-21-1d5"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification-1c1": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processor-imageclassification-jvm-generic-image-classification-version-0-62-0-org-streampipes-processor-imageclassification-jvm-generic-image-classificationbc-3-f87"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher-f5e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processor-imageclassification-jvm-image-enricher-version-0-62-0-org-streampipes-processor-imageclassification-jvm-image-enricher-6-dd-1d9"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processor.imageclassification.qrcode/version-0.62.0-org.streampipes.processor.imageclassification.qrcode-ded": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processor-imageclassification-qrcode-version-0-62-0-org-streampipes-processor-imageclassification-qrcodebf-1-a71"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation-4ce": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processors-aggregation-flink-aggregation-version-0-62-0-org-streampipes-processors-aggregation-flink-aggregation-34-a-44c"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processors.aggregation.flink.rate/version-0.62.0-org.streampipes.processors.aggregation.flink.rate-c21": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processors-aggregation-flink-rate-version-0-62-0-org-streampipes-processors-aggregation-flink-rate-36-d-ff6"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop-961": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processors-enricher-flink-processor-math-mathop-version-0-62-0-org-streampipes-processors-enricher-flink-processor-math-mathope-6-a-799"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop-937": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processors-enricher-flink-processor-math-staticmathop-version-0-62-0-org-streampipes-processors-enricher-flink-processor-math-staticmathop-6-ae-926"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry-3f2": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processors-enricher-flink-processor-trigonometry-version-0-62-0-org-streampipes-processors-enricher-flink-processor-trigonometryc-7-c-ce4"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing-3cc": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processors-enricher-flink-processor-urldereferencing-version-0-62-0-org-streampipes-processors-enricher-flink-processor-urldereferencingbcb-97e"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processors.enricher.flink.timestamp/version-0.62.0-org.streampipes.processors.enricher.flink.timestamp-96f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processors-enricher-flink-timestamp-version-0-62-0-org-streampipes-processors-enricher-flink-timestampce-2-ac1"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processors.filters.jvm.compose/version-0.62.0-org.streampipes.processors.filters.jvm.compose-ac8": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processors-filters-jvm-compose-version-0-62-0-org-streampipes-processors-filters-jvm-compose-1-d-1-f96"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter-9f4": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processors-filters-jvm-numericalfilter-version-0-62-0-org-streampipes-processors-filters-jvm-numericalfilter-7-c-5-dc2"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processors.filters.jvm.project/version-0.62.0-org.streampipes.processors.filters.jvm.project-a4b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processors-filters-jvm-project-version-0-62-0-org-streampipes-processors-filters-jvm-project-273-b83"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processors.filters.jvm.textfilter/version-0.62.0-org.streampipes.processors.filters.jvm.textfilter-3a0": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processors-filters-jvm-textfilter-version-0-62-0-org-streampipes-processors-filters-jvm-textfiltere-7-d-8b0"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection-32a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processors-pattern-detection-flink-peak-detection-version-0-62-0-org-streampipes-processors-pattern-detection-flink-peak-detection-500-c9e"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processors.siddhi.frequency/version-0.62.0-org.streampipes.processors.siddhi.frequency-e2d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processors-siddhi-frequency-version-0-62-0-org-streampipes-processors-siddhi-frequency-68-b-6ba"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processors.siddhi.frequencychange/version-0.62.0-org.streampipes.processors.siddhi.frequencychange-6d7": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processors-siddhi-frequencychange-version-0-62-0-org-streampipes-processors-siddhi-frequencychange-0-b-8-b17"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processors.siddhi.increase/version-0.62.0-org.streampipes.processors.siddhi.increase-daa": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processors-siddhi-increase-version-0-62-0-org-streampipes-processors-siddhi-increase-80-f-b01"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processors.siddhi.numericalfilter/version-0.62.0-org.streampipes.processors.siddhi.numericalfilter-d35": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processors-siddhi-numericalfilter-version-0-62-0-org-streampipes-processors-siddhi-numericalfilter-6-fc-58f"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processors.siddhi.sequence/version-0.62.0-org.streampipes.processors.siddhi.sequence-385": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processors-siddhi-sequence-version-0-62-0-org-streampipes-processors-siddhi-sequence-477-bee"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processors.siddhi.stop/version-0.62.0-org.streampipes.processors.siddhi.stop-454": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processors-siddhi-stop-version-0-62-0-org-streampipes-processors-siddhi-stop-85-d-861"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection-53f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processors-textmining-flink-languagedetection-version-0-62-0-org-streampipes-processors-textmining-flink-languagedetectionbd-8-c4e"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processors.textmining.flink.wordcount/version-0.62.0-org.streampipes.processors.textmining.flink.wordcount-322": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processors-textmining-flink-wordcount-version-0-62-0-org-streampipes-processors-textmining-flink-wordcount-350-8e1"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-converter/version-0.62.0-org.streampipes.processors.transformation.flink.field-converter-85b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-flink-field-converter-version-0-62-0-org-streampipes-processors-transformation-flink-field-converter-57-d-137"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper-c0d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-flink-field-mapper-version-0-62-0-org-streampipes-processors-transformation-flink-field-mapper-5-fe-cab"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer-35d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-flink-field-renamer-version-0-62-0-org-streampipes-processors-transformation-flink-field-renamerd-49-9bd"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher-fdf": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-flink-fieldhasher-version-0-62-0-org-streampipes-processors-transformation-flink-fieldhasher-2-f-1-d5e"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter-833": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-flink-measurement-unit-converter-version-0-62-0-org-streampipes-processors-transformation-flink-measurement-unit-converter-956-f3f"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate-579": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-flink-processor-boilerplate-version-0-62-0-org-streampipes-processors-transformation-flink-processor-boilerplate-62-f-cfc"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value-7be": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-jvm-changed-value-version-0-62-0-org-streampipes-processors-transformation-jvm-changed-value-265-3be"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.count-array/version-0.62.0-org.streampipes.processors.transformation.jvm.count-array-925": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-jvm-count-array-version-0-62-0-org-streampipes-processors-transformation-jvm-count-array-25-a-1ea"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value-dca": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-jvm-duration-value-version-0-62-0-org-streampipes-processors-transformation-jvm-duration-value-6-d-6-3f8"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor-c06": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-jvm-processor-timestampextractor-version-0-62-0-org-streampipes-processors-transformation-jvm-processor-timestampextractor-654-0bf"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.split-array/version-0.62.0-org.streampipes.processors.transformation.jvm.split-array-151": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-processors-transformation-jvm-split-array-version-0-62-0-org-streampipes-processors-transformation-jvm-split-array-595-442"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.jms/version-0.62.0-org.streampipes.sinks.brokers.jvm.jms-4eb": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-sinks-brokers-jvm-jms-version-0-62-0-org-streampipes-sinks-brokers-jvm-jms-9-c-9-a06"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka-8a9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-sinks-brokers-jvm-kafka-version-0-62-0-org-streampipes-sinks-brokers-jvm-kafkaa-5-a-e40"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq-2eb": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-sinks-brokers-jvm-rabbitmq-version-0-62-0-org-streampipes-sinks-brokers-jvm-rabbitmqc-52-5b9"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.rest/version-0.62.0-org.streampipes.sinks.brokers.jvm.rest-0dd": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-sinks-brokers-jvm-rest-version-0-62-0-org-streampipes-sinks-brokers-jvm-reste-47-dac"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch-8c1": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-sinks-databases-flink-elasticsearch-version-0-62-0-org-streampipes-sinks-databases-flink-elasticsearch-1-f-9-050"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb-27c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-sinks-databases-jvm-couchdb-version-0-62-0-org-streampipes-sinks-databases-jvm-couchdb-9-eb-849"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb-fdc": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-sinks-databases-jvm-influxdb-version-0-62-0-org-streampipes-sinks-databases-jvm-influxdb-9-c-3-8a4"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql-28a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-sinks-databases-jvm-postgresql-version-0-62-0-org-streampipes-sinks-databases-jvm-postgresql-644-565"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard-87c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-sinks-internal-jvm-dashboard-version-0-62-0-org-streampipes-sinks-internal-jvm-dashboardbf-0-df9"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.sinks.internal.jvm.notification/version-0.62.0-org.streampipes.sinks.internal.jvm.notification-9a6": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-sinks-internal-jvm-notification-version-0-62-0-org-streampipes-sinks-internal-jvm-notification-876-84f"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.email/version-0.62.0-org.streampipes.sinks.notifications.jvm.email-6b8": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-sinks-notifications-jvm-email-version-0-62-0-org-streampipes-sinks-notifications-jvm-email-392-25d"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal-29e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-sinks-notifications-jvm-onesignal-version-0-62-0-org-streampipes-sinks-notifications-jvm-onesignal-4-a-0-ff4"
-  },
-  "/docs/0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.slack/version-0.62.0-org.streampipes.sinks.notifications.jvm.slack-299": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-org-streampipes-sinks-notifications-jvm-slack-version-0-62-0-org-streampipes-sinks-notifications-jvm-slack-6-cc-d47"
-  },
-  "/docs/0.61.0-pre-asf/user-guide-first-steps-77c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-user-guide-first-steps-4-f-2-935"
-  },
-  "/docs/0.61.0-pre-asf/user-guide-installation-1c1": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-user-guide-installation-26-c-4f1"
-  },
-  "/docs/0.61.0-pre-asf/user-guide-processing-elements-68f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-user-guide-processing-elements-61-f-ae2"
-  },
-  "/docs/0.61.0-pre-asf/user-guide-software-components-995": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-user-guide-software-components-4-ea-225"
-  },
-  "/docs/0.61.0-pre-asf/user-guide-tour-82b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-61-0-pre-asf-user-guide-tour-4-a-9-2fa"
-  },
-  "/docs/0.62.0-pre-asf-7ff": {
-    "__comp": "__comp---theme-doc-page-1-be-9be",
-    "__context": {
-      "plugin": "plugin---docs-0-55-2-pre-asf-49-f-cdc"
-    },
-    "versionMetadata": "versionMetadata---docs-0-62-0-pre-asfad-1-1f9"
-  },
-  "/docs/0.62.0-pre-asf/dev-guide-archetype-55f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-dev-guide-archetypef-4-d-ed9"
-  },
-  "/docs/0.62.0-pre-asf/dev-guide-configuration-411": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-dev-guide-configurationcec-40c"
-  },
-  "/docs/0.62.0-pre-asf/dev-guide-development-environment-9e1": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-dev-guide-development-environment-447-466"
-  },
-  "/docs/0.62.0-pre-asf/dev-guide-tutorial-processors-710": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-dev-guide-tutorial-processors-819-756"
-  },
-  "/docs/0.62.0-pre-asf/dev-guide-tutorial-sinks-556": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-dev-guide-tutorial-sinksa-68-ad2"
-  },
-  "/docs/0.62.0-pre-asf/dev-guide-tutorial-sources-ed9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-dev-guide-tutorial-sources-5-ae-4dd"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processor.geo.flink/version-0.62.0-org.streampipes.processor.geo.flink-5bc": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processor-geo-flink-version-0-62-0-org-streampipes-processor-geo-flink-40-b-81c"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification-b81": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processor-imageclassification-jvm-generic-image-classification-version-0-62-0-org-streampipes-processor-imageclassification-jvm-generic-image-classification-267-7d3"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher-1ff": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processor-imageclassification-jvm-image-enricher-version-0-62-0-org-streampipes-processor-imageclassification-jvm-image-enricher-39-e-18b"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processor.imageclassification.qrcode/version-0.62.0-org.streampipes.processor.imageclassification.qrcode-d8d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processor-imageclassification-qrcode-version-0-62-0-org-streampipes-processor-imageclassification-qrcode-91-a-096"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation-3ad": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processors-aggregation-flink-aggregation-version-0-62-0-org-streampipes-processors-aggregation-flink-aggregationfb-8-402"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processors.aggregation.flink.rate/version-0.62.0-org.streampipes.processors.aggregation.flink.rate-ec0": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processors-aggregation-flink-rate-version-0-62-0-org-streampipes-processors-aggregation-flink-ratefa-1-ecb"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop-c24": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processors-enricher-flink-processor-math-mathop-version-0-62-0-org-streampipes-processors-enricher-flink-processor-math-mathop-83-b-4c1"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop-393": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processors-enricher-flink-processor-math-staticmathop-version-0-62-0-org-streampipes-processors-enricher-flink-processor-math-staticmathop-23-b-de6"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry-b74": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processors-enricher-flink-processor-trigonometry-version-0-62-0-org-streampipes-processors-enricher-flink-processor-trigonometryd-95-8fa"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing-027": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processors-enricher-flink-processor-urldereferencing-version-0-62-0-org-streampipes-processors-enricher-flink-processor-urldereferencing-841-8c5"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processors.enricher.flink.timestamp/version-0.62.0-org.streampipes.processors.enricher.flink.timestamp-b8f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processors-enricher-flink-timestamp-version-0-62-0-org-streampipes-processors-enricher-flink-timestamp-4-c-4-5a9"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processors.filters.jvm.compose/version-0.62.0-org.streampipes.processors.filters.jvm.compose-8df": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processors-filters-jvm-compose-version-0-62-0-org-streampipes-processors-filters-jvm-compose-8-d-8-092"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter-9be": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processors-filters-jvm-numericalfilter-version-0-62-0-org-streampipes-processors-filters-jvm-numericalfilter-7-be-da5"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processors.filters.jvm.project/version-0.62.0-org.streampipes.processors.filters.jvm.project-acb": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processors-filters-jvm-project-version-0-62-0-org-streampipes-processors-filters-jvm-projectfb-1-1e7"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processors.filters.jvm.textfilter/version-0.62.0-org.streampipes.processors.filters.jvm.textfilter-6f4": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processors-filters-jvm-textfilter-version-0-62-0-org-streampipes-processors-filters-jvm-textfilter-1-fc-b33"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection-19b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processors-pattern-detection-flink-peak-detection-version-0-62-0-org-streampipes-processors-pattern-detection-flink-peak-detection-747-d07"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processors.siddhi.frequency/version-0.62.0-org.streampipes.processors.siddhi.frequency-4fd": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processors-siddhi-frequency-version-0-62-0-org-streampipes-processors-siddhi-frequencyd-54-1f0"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processors.siddhi.frequencychange/version-0.62.0-org.streampipes.processors.siddhi.frequencychange-b41": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processors-siddhi-frequencychange-version-0-62-0-org-streampipes-processors-siddhi-frequencychange-18-f-680"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processors.siddhi.increase/version-0.62.0-org.streampipes.processors.siddhi.increase-7ee": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processors-siddhi-increase-version-0-62-0-org-streampipes-processors-siddhi-increase-8-aa-96a"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processors.siddhi.numericalfilter/version-0.62.0-org.streampipes.processors.siddhi.numericalfilter-145": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processors-siddhi-numericalfilter-version-0-62-0-org-streampipes-processors-siddhi-numericalfilter-844-4fc"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processors.siddhi.sequence/version-0.62.0-org.streampipes.processors.siddhi.sequence-a67": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processors-siddhi-sequence-version-0-62-0-org-streampipes-processors-siddhi-sequenceb-1-b-e02"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processors.siddhi.stop/version-0.62.0-org.streampipes.processors.siddhi.stop-d5d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processors-siddhi-stop-version-0-62-0-org-streampipes-processors-siddhi-stopb-09-4e4"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection-85b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processors-textmining-flink-languagedetection-version-0-62-0-org-streampipes-processors-textmining-flink-languagedetection-77-c-fac"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processors.textmining.flink.wordcount/version-0.62.0-org.streampipes.processors.textmining.flink.wordcount-9f4": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processors-textmining-flink-wordcount-version-0-62-0-org-streampipes-processors-textmining-flink-wordcount-501-9a3"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-converter/version-0.62.0-org.streampipes.processors.transformation.flink.field-converter-176": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-flink-field-converter-version-0-62-0-org-streampipes-processors-transformation-flink-field-converter-7-ac-b19"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper-088": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-flink-field-mapper-version-0-62-0-org-streampipes-processors-transformation-flink-field-mapperc-4-c-396"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer-64d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-flink-field-renamer-version-0-62-0-org-streampipes-processors-transformation-flink-field-renamer-0-a-5-a61"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher-796": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-flink-fieldhasher-version-0-62-0-org-streampipes-processors-transformation-flink-fieldhasher-672-e3d"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter-3a7": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-flink-measurement-unit-converter-version-0-62-0-org-streampipes-processors-transformation-flink-measurement-unit-converter-655-4eb"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate-dcd": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-flink-processor-boilerplate-version-0-62-0-org-streampipes-processors-transformation-flink-processor-boilerplatea-6-e-b10"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value-17a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-jvm-changed-value-version-0-62-0-org-streampipes-processors-transformation-jvm-changed-value-927-dbc"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.count-array/version-0.62.0-org.streampipes.processors.transformation.jvm.count-array-59c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-jvm-count-array-version-0-62-0-org-streampipes-processors-transformation-jvm-count-arrayc-18-435"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value-fe1": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-jvm-duration-value-version-0-62-0-org-streampipes-processors-transformation-jvm-duration-value-8-a-8-3bd"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor-05b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-jvm-processor-timestampextractor-version-0-62-0-org-streampipes-processors-transformation-jvm-processor-timestampextractorb-99-612"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.split-array/version-0.62.0-org.streampipes.processors.transformation.jvm.split-array-0d2": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-processors-transformation-jvm-split-array-version-0-62-0-org-streampipes-processors-transformation-jvm-split-array-939-50d"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.jms/version-0.62.0-org.streampipes.sinks.brokers.jvm.jms-909": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-sinks-brokers-jvm-jms-version-0-62-0-org-streampipes-sinks-brokers-jvm-jmse-6-d-83e"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka-c64": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-sinks-brokers-jvm-kafka-version-0-62-0-org-streampipes-sinks-brokers-jvm-kafkaaa-9-8a1"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq-187": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-sinks-brokers-jvm-rabbitmq-version-0-62-0-org-streampipes-sinks-brokers-jvm-rabbitmq-06-c-b47"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.rest/version-0.62.0-org.streampipes.sinks.brokers.jvm.rest-c3d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-sinks-brokers-jvm-rest-version-0-62-0-org-streampipes-sinks-brokers-jvm-rest-958-6f7"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch-d10": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-sinks-databases-flink-elasticsearch-version-0-62-0-org-streampipes-sinks-databases-flink-elasticsearchc-4-b-1a0"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb-d95": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-sinks-databases-jvm-couchdb-version-0-62-0-org-streampipes-sinks-databases-jvm-couchdb-762-f2e"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb-8e4": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-sinks-databases-jvm-influxdb-version-0-62-0-org-streampipes-sinks-databases-jvm-influxdb-4-bf-15c"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql-eb2": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-sinks-databases-jvm-postgresql-version-0-62-0-org-streampipes-sinks-databases-jvm-postgresql-584-e39"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard-0e4": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-sinks-internal-jvm-dashboard-version-0-62-0-org-streampipes-sinks-internal-jvm-dashboard-3-b-9-cb4"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.sinks.internal.jvm.notification/version-0.62.0-org.streampipes.sinks.internal.jvm.notification-8b4": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-sinks-internal-jvm-notification-version-0-62-0-org-streampipes-sinks-internal-jvm-notification-04-d-709"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.email/version-0.62.0-org.streampipes.sinks.notifications.jvm.email-38a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-sinks-notifications-jvm-email-version-0-62-0-org-streampipes-sinks-notifications-jvm-email-833-801"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal-ce1": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-sinks-notifications-jvm-onesignal-version-0-62-0-org-streampipes-sinks-notifications-jvm-onesignalec-5-854"
-  },
-  "/docs/0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.slack/version-0.62.0-org.streampipes.sinks.notifications.jvm.slack-f5d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-org-streampipes-sinks-notifications-jvm-slack-version-0-62-0-org-streampipes-sinks-notifications-jvm-slack-96-e-9c6"
-  },
-  "/docs/0.62.0-pre-asf/user-guide-first-steps-2d0": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-user-guide-first-stepsa-73-39e"
-  },
-  "/docs/0.62.0-pre-asf/user-guide-installation-655": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-user-guide-installation-111-5e3"
-  },
-  "/docs/0.62.0-pre-asf/user-guide-tour-9da": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-62-0-pre-asf-user-guide-tour-31-f-c80"
-  },
-  "/docs/0.63.0-pre-asf-00e": {
-    "__comp": "__comp---theme-doc-page-1-be-9be",
-    "__context": {
-      "plugin": "plugin---docs-0-55-2-pre-asf-49-f-cdc"
-    },
-    "versionMetadata": "versionMetadata---docs-0-63-0-pre-asfe-63-130"
-  },
-  "/docs/0.63.0-pre-asf/dev-guide-archetype-7f5": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-dev-guide-archetype-8-e-5-115"
-  },
-  "/docs/0.63.0-pre-asf/dev-guide-configuration-25e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-dev-guide-configuration-8-c-7-b67"
-  },
-  "/docs/0.63.0-pre-asf/dev-guide-development-environment-a82": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-dev-guide-development-environment-2-f-9-349"
-  },
-  "/docs/0.63.0-pre-asf/dev-guide-output-strategies-148": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-dev-guide-output-strategiese-16-90b"
-  },
-  "/docs/0.63.0-pre-asf/dev-guide-static-properties-028": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-dev-guide-static-properties-11-d-a77"
-  },
-  "/docs/0.63.0-pre-asf/dev-guide-stream-requirements-7ea": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-dev-guide-stream-requirementsb-63-618"
-  },
-  "/docs/0.63.0-pre-asf/dev-guide-tutorial-processors-8f0": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-dev-guide-tutorial-processorsc-4-c-3be"
-  },
-  "/docs/0.63.0-pre-asf/dev-guide-tutorial-sinks-2f7": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-dev-guide-tutorial-sinksd-04-063"
-  },
-  "/docs/0.63.0-pre-asf/dev-guide-tutorial-sources-114": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-dev-guide-tutorial-sources-2-b-0-f6f"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processor.geo.flink/org.apache.streampipes.processor.geo.flink-a04": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processor-geo-flink-org-apache-streampipes-processor-geo-flinke-61-902"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/org.apache.streampipes.processor.geo.jvm.geocoding-6fd": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processor-geo-jvm-geocoding-org-apache-streampipes-processor-geo-jvm-geocoding-6-b-1-c6e"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/org.apache.streampipes.processor.geo.jvm.reversegeocoding-aa3": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processor-geo-jvm-reversegeocoding-org-apache-streampipes-processor-geo-jvm-reversegeocoding-35-f-368"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/org.apache.streampipes.processor.geo.jvm.staticgeocoding-d41": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processor-geo-jvm-staticgeocoding-org-apache-streampipes-processor-geo-jvm-staticgeocoding-19-f-4b9"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification-71a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-632-84a"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/org.apache.streampipes.processor.imageclassification.jvm.image-enricher-a69": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processor-imageclassification-jvm-image-enricher-org-apache-streampipes-processor-imageclassification-jvm-image-enricher-4-f-0-07b"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/org.apache.streampipes.processor.imageclassification.qrcode-462": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processor-imageclassification-qrcode-org-apache-streampipes-processor-imageclassification-qrcodeb-90-69b"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/org.apache.streampipes.processors.aggregation.flink.aggregation-e9a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-aggregation-flink-aggregation-org-apache-streampipes-processors-aggregation-flink-aggregationc-84-638"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/org.apache.streampipes.processors.aggregation.flink.eventcount-3de": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-aggregation-flink-eventcount-org-apache-streampipes-processors-aggregation-flink-eventcount-480-f97"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/org.apache.streampipes.processors.aggregation.flink.rate-c6d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-aggregation-flink-rate-org-apache-streampipes-processors-aggregation-flink-ratebf-1-908"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/org.apache.streampipes.processors.enricher.flink.processor.math.mathop-7f5": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-org-apache-streampipes-processors-enricher-flink-processor-math-mathopfc-6-7d5"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop-a05": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathop-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathope-36-8f1"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/org.apache.streampipes.processors.enricher.flink.processor.trigonometry-694": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-trigonometry-org-apache-streampipes-processors-enricher-flink-processor-trigonometryb-27-f4f"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing-999": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-urldereferencing-org-apache-streampipes-processors-enricher-flink-processor-urldereferencing-007-1ec"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/org.apache.streampipes.processors.enricher.flink.timestamp-84b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-enricher-flink-timestamp-org-apache-streampipes-processors-enricher-flink-timestamp-32-b-c2c"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/org.apache.streampipes.processors.enricher.jvm.sizemeasure-6d3": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-enricher-jvm-sizemeasure-org-apache-streampipes-processors-enricher-jvm-sizemeasure-63-c-e6c"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/org.apache.streampipes.processors.filters.jvm.compose-438": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-filters-jvm-compose-org-apache-streampipes-processors-filters-jvm-compose-4-f-2-dfe"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/org.apache.streampipes.processors.filters.jvm.enrich-900": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-filters-jvm-enrich-org-apache-streampipes-processors-filters-jvm-enrichb-53-608"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/org.apache.streampipes.processors.filters.jvm.merge-40e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-filters-jvm-merge-org-apache-streampipes-processors-filters-jvm-merged-8-d-483"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/org.apache.streampipes.processors.filters.jvm.numericalfilter-707": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-filters-jvm-numericalfilter-org-apache-streampipes-processors-filters-jvm-numericalfilterfb-6-399"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/org.apache.streampipes.processors.filters.jvm.numericaltextfilter-77a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-filters-jvm-numericaltextfilter-org-apache-streampipes-processors-filters-jvm-numericaltextfilterf-4-c-616"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/org.apache.streampipes.processors.filters.jvm.project-3c0": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-filters-jvm-project-org-apache-streampipes-processors-filters-jvm-project-8-fb-a2d"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/org.apache.streampipes.processors.filters.jvm.textfilter-9fa": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-filters-jvm-textfilter-org-apache-streampipes-processors-filters-jvm-textfilterc-2-c-a90"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/org.apache.streampipes.processors.filters.jvm.threshold-ffb": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-filters-jvm-threshold-org-apache-streampipes-processors-filters-jvm-thresholdf-5-f-a5f"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator-d44": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-349-982"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/org.apache.streampipes.processors.pattern-detection.flink.peak-detection-f90": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-org-apache-streampipes-processors-pattern-detection-flink-peak-detectionaf-2-5e2"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/org.apache.streampipes.processors.siddhi.frequency-41c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-siddhi-frequency-org-apache-streampipes-processors-siddhi-frequency-355-ee3"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/org.apache.streampipes.processors.siddhi.frequencychange-c23": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-siddhi-frequencychange-org-apache-streampipes-processors-siddhi-frequencychange-87-f-a22"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/org.apache.streampipes.processors.siddhi.increase-492": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-siddhi-increase-org-apache-streampipes-processors-siddhi-increase-27-c-ea9"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/org.apache.streampipes.processors.siddhi.numericalfilter-8bd": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-siddhi-numericalfilter-org-apache-streampipes-processors-siddhi-numericalfilterc-4-f-799"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/org.apache.streampipes.processors.siddhi.sequence-457": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-siddhi-sequence-org-apache-streampipes-processors-siddhi-sequencea-41-337"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/org.apache.streampipes.processors.siddhi.stop-ec4": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-siddhi-stop-org-apache-streampipes-processors-siddhi-stopadf-ab2"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/org.apache.streampipes.processors.textmining.flink.languagedetection-e0d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-textmining-flink-languagedetection-org-apache-streampipes-processors-textmining-flink-languagedetection-684-3e4"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/org.apache.streampipes.processors.textmining.flink.wordcount-68d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-textmining-flink-wordcount-org-apache-streampipes-processors-textmining-flink-wordcountcbe-1bd"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/org.apache.streampipes.processors.textmining.jvm.chunker-04f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-chunker-org-apache-streampipes-processors-textmining-jvm-chunkerd-42-2e1"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/org.apache.streampipes.processors.textmining.jvm.languagedetection-97c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-languagedetection-org-apache-streampipes-processors-textmining-jvm-languagedetectioned-5-f68"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/org.apache.streampipes.processors.textmining.jvm.namefinder-baf": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-namefinder-org-apache-streampipes-processors-textmining-jvm-namefinder-33-e-37f"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/org.apache.streampipes.processors.textmining.jvm.partofspeech-ea3": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-partofspeech-org-apache-streampipes-processors-textmining-jvm-partofspeechb-4-b-112"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/org.apache.streampipes.processors.textmining.jvm.sentencedetection-556": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-sentencedetection-org-apache-streampipes-processors-textmining-jvm-sentencedetectioncd-2-4ff"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/org.apache.streampipes.processors.textmining.jvm.tokenizer-3c1": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-tokenizer-org-apache-streampipes-processors-textmining-jvm-tokenizer-3-e-8-3ce"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/org.apache.streampipes.processors.transformation.flink.field-converter-8a5": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-flink-field-converter-org-apache-streampipes-processors-transformation-flink-field-converterade-4fb"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/org.apache.streampipes.processors.transformation.flink.field-mapper-3fb": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-flink-field-mapper-org-apache-streampipes-processors-transformation-flink-field-mapper-1-b-6-2b5"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/org.apache.streampipes.processors.transformation.flink.field-renamer-80c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-flink-field-renamer-org-apache-streampipes-processors-transformation-flink-field-renamer-053-0c6"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/org.apache.streampipes.processors.transformation.flink.fieldhasher-6cf": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-flink-fieldhasher-org-apache-streampipes-processors-transformation-flink-fieldhasher-64-c-d7f"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter-114": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-org-apache-streampipes-processors-transformation-flink-measurement-unit-converterb-85-4df"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/org.apache.streampipes.processors.transformation.flink.processor.boilerplate-e81": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-flink-processor-boilerplate-org-apache-streampipes-processors-transformation-flink-processor-boilerplate-887-655"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/org.apache.streampipes.processors.transformation.jvm.booloperator.counter-2de": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-97-e-3f8"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter-a9a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-inverter-org-apache-streampipes-processors-transformation-jvm-booloperator-inverter-04-d-8b9"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping-9ba": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeeping-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeeping-7-df-017"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/org.apache.streampipes.processors.transformation.jvm.booloperator.timer-ad6": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-timer-org-apache-streampipes-processors-transformation-jvm-booloperator-timerbeb-aa9"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/org.apache.streampipes.processors.transformation.jvm.changed-value-17c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-changed-value-org-apache-streampipes-processors-transformation-jvm-changed-value-0-ae-9d7"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/org.apache.streampipes.processors.transformation.jvm.count-array-8b4": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-count-array-org-apache-streampipes-processors-transformation-jvm-count-array-717-67e"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/org.apache.streampipes.processors.transformation.jvm.csvmetadata-8ec": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-csvmetadata-org-apache-streampipes-processors-transformation-jvm-csvmetadatadb-8-e1d"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/org.apache.streampipes.processors.transformation.jvm.duration-value-4d9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-duration-value-org-apache-streampipes-processors-transformation-jvm-duration-valuec-5-a-b29"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor-e8e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractor-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractord-4-d-aec"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/org.apache.streampipes.processors.transformation.jvm.split-array-1cf": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-split-array-org-apache-streampipes-processors-transformation-jvm-split-arraya-68-0a5"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/org.apache.streampipes.processors.transformation.jvm.taskduration-b07": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-taskduration-org-apache-streampipes-processors-transformation-jvm-taskduration-7-cf-20d"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean-150": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-transform-to-boolean-org-apache-streampipes-processors-transformation-jvm-transform-to-boolean-35-a-cd7"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/org.apache.streampipes.sinks.brokers.jvm.bufferrest-0af": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-bufferrest-org-apache-streampipes-sinks-brokers-jvm-bufferrest-1-b-3-230"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/org.apache.streampipes.sinks.brokers.jvm.jms-d59": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-jms-org-apache-streampipes-sinks-brokers-jvm-jms-49-b-a8c"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/org.apache.streampipes.sinks.brokers.jvm.kafka-56d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-kafka-org-apache-streampipes-sinks-brokers-jvm-kafka-637-fec"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/org.apache.streampipes.sinks.brokers.jvm.pulsar-522": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-pulsar-org-apache-streampipes-sinks-brokers-jvm-pulsar-12-e-d1d"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/org.apache.streampipes.sinks.brokers.jvm.rabbitmq-f4a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-org-apache-streampipes-sinks-brokers-jvm-rabbitmqfd-2-309"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/org.apache.streampipes.sinks.brokers.jvm.rest-514": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-rest-org-apache-streampipes-sinks-brokers-jvm-rest-5-e-2-d26"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/org.apache.streampipes.sinks.databases.ditto-693": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-databases-ditto-org-apache-streampipes-sinks-databases-dittod-4-d-7e4"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/org.apache.streampipes.sinks.databases.flink.elasticsearch-82d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-databases-flink-elasticsearch-org-apache-streampipes-sinks-databases-flink-elasticsearch-061-ea6"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/org.apache.streampipes.sinks.databases.jvm.couchdb-957": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-couchdb-org-apache-streampipes-sinks-databases-jvm-couchdb-3-c-2-2a9"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/org.apache.streampipes.sinks.databases.jvm.influxdb-d1d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-influxdb-org-apache-streampipes-sinks-databases-jvm-influxdbb-39-2ec"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/org.apache.streampipes.sinks.databases.jvm.iotdb-f03": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-iotdb-org-apache-streampipes-sinks-databases-jvm-iotdbbbb-620"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/org.apache.streampipes.sinks.databases.jvm.opcua-6e7": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-opcua-org-apache-streampipes-sinks-databases-jvm-opcuad-41-77a"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/org.apache.streampipes.sinks.databases.jvm.postgresql-767": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-postgresql-org-apache-streampipes-sinks-databases-jvm-postgresql-8-e-2-65b"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/org.apache.streampipes.sinks.internal.jvm.dashboard-5dc": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-internal-jvm-dashboard-org-apache-streampipes-sinks-internal-jvm-dashboard-3-be-e47"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/org.apache.streampipes.sinks.internal.jvm.datalake-52c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-internal-jvm-datalake-org-apache-streampipes-sinks-internal-jvm-datalakee-02-dc0"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/org.apache.streampipes.sinks.internal.jvm.notification-e1c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-internal-jvm-notification-org-apache-streampipes-sinks-internal-jvm-notification-607-57d"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/org.apache.streampipes.sinks.notifications.jvm.email-319": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-notifications-jvm-email-org-apache-streampipes-sinks-notifications-jvm-emaila-3-b-c72"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/org.apache.streampipes.sinks.notifications.jvm.onesignal-c1d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-notifications-jvm-onesignal-org-apache-streampipes-sinks-notifications-jvm-onesignala-41-837"
-  },
-  "/docs/0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/org.apache.streampipes.sinks.notifications.jvm.slack-244": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-org-apache-streampipes-sinks-notifications-jvm-slack-org-apache-streampipes-sinks-notifications-jvm-slack-35-c-549"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk-8d6": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-coindeskff-2-759"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt-10d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-gdelt-28-b-e6e"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news-c57": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-iex-news-72-f-524"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks-945": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-iex-stocksf-48-fdb"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set-864": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-image-set-447-e0d"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream-b9d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-image-stream-5-cd-dc7"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set-d72": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-influxdb-sete-10-4f5"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream-950": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-influxdb-stream-9-f-3-bd9"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss-33e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-isscec-3a6"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set-cf5": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-mysql-set-69-d-2fe"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream-9cd": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-mysql-stream-9-e-4-e4a"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt-8e8": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-netio-mqtt-844-c0e"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest-7a0": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-netio-rest-10-d-1eb"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera-dff": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-nswaustralia-trafficcamerae-08-906"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua-072": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-opcuaed-6-bc5"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7-f0a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-plc-4-x-s-7422-987"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros-e8c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-ros-7-e-1-13a"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset-4e3": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-simulator-randomdataset-942-ba9"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream-5e4": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-simulator-randomdatastream-9-f-4-4eb"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack-582": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-slack-984-f73"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti-8ac": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-tia-70-2d0"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit-dda": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-wikipedia-edit-93-f-efb"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new-d31": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-adapters-wikipedia-new-150-2d7"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file-6d1": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-file-55-b-8e5"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http-6d8": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-httpd-39-dad"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka-9fc": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-kafka-544-ea6"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt-438": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-mqttd-45-ed6"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar-bae": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-pulsare-89-868"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink-16d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processor-geo-flink-657-855"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding-25f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processor-geo-jvm-geocoding-3-d-5-d7f"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding-a96": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processor-geo-jvm-reversegeocoding-350-7e3"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding-f40": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processor-geo-jvm-staticgeocoding-519-5a5"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification-aae": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-07-a-29f"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper-b3b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-jvm-image-cropper-217-2ef"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher-05a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-jvm-image-enrichera-0-f-e82"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode-fb5": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-qrcode-8-c-2-64b"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation-a13": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-aggregation-7-a-3-363"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count-749": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-countdfb-3b3"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount-797": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-eventcount-8-fb-8f9"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate-88c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-rate-390-8b0"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop-0dd": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-math-mathopdd-8-8cb"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop-9fa": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathop-463-b80"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry-def": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-trigonometry-65-a-510"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing-751": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-urldereferencingf-80-d46"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp-e18": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-timestamp-024-40d"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure-cdf": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-enricher-jvm-sizemeasurea-16-407"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose-d74": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-compose-519-441"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich-506": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-enrich-40-d-a2d"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge-509": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-mergebf-7-1fa"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter-726": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-numericalfilter-7-bf-01f"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter-58c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-numericaltextfilterad-4-faf"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project-d39": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-projectcc-4-564"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter-063": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-textfilter-222-aab"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold-cf0": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-thresholdec-2-5b8"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo-fd8": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-lat-lng-to-geo-5-e-6-e60"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG-77d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-set-epsg-20-b-a0b"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory-1fd": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-trajectory-0-bb-d2b"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator-fc0": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-processor-distancecalculatorf-2-c-876"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed-b62": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-processor-speedc-48-861"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator-f5b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-processor-staticdistancecalculator-46-e-506"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence-a5f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-absence-8-b-7-1a2"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and-278": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-andde-8-b23"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection-bb6": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-15-d-64d"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence-23f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-sequence-1-b-2-38c"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency-910": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-frequencyddd-98b"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange-59e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-frequencychangee-96-eb4"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase-fe1": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-increase-296-903"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter-1a6": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-numericalfilter-0-f-0-506"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence-89b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-sequenceebd-5bf"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop-a5a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-stop-7-e-3-330"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary-c6e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-statistics-flink-statistics-summary-3-dd-c27"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection-4d9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-textmining-flink-languagedetection-2-c-6-54a"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount-50c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-textmining-flink-wordcounta-7-f-712"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker-7a9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-chunker-829-57a"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection-318": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-languagedetectionc-5-c-b9c"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder-459": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-namefinderc-22-660"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech-a26": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-partofspeech-1-e-0-331"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection-ac9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-sentencedetectionb-6-c-4b9"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer-5e6": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-tokenizer-1-c-5-77c"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter-c51": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-field-converter-526-d82"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper-dd2": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-field-mapperd-15-3d7"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer-05e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-field-renamer-463-639"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher-59e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-fieldhasher-1-a-7-59c"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter-0a8": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-1-d-7-6b1"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate-70e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-processor-boilerplate-7-f-6-789"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter-94f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-5-c-4-b9d"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter-3a3": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-invertera-9-f-d49"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping-c12": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeepingf-2-e-045"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer-211": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timer-956-506"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value-0ef": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-changed-value-1-e-7-ea7"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array-979": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-count-arrayeb-3-e3a"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata-55c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-csvmetadata-8-ef-e47"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value-8a5": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-duration-value-587-3ab"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor-426": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractor-82-e-cce"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array-fbd": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-split-array-3-f-7-bb2"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter-40f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-counter-1-d-2-813"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer-823": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-timer-876-0e2"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration-38b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-taskduration-77-a-09f"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean-1ac": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-transform-to-boolean-570-7b0"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.protocol.set.file-ba3": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-protocol-set-file-75-b-c25"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.protocol.set.http-a59": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-protocol-set-http-2-ae-e4d"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest-a0d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-bufferrest-1-ff-fd6"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms-119": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-jms-442-969"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka-dc2": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-kafka-705-9b0"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt-143": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-mqtt-116-caa"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar-bac": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-pulsarf-1-e-e5c"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq-0ca": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-624-d46"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest-398": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-rest-8-cd-6df"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto-d95": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-databases-ditto-95-f-333"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch-518": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-databases-flink-elasticsearch-873-1e6"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb-356": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-couchdba-06-a3e"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb-6fb": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-influxdb-8-eb-db1"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb-e9d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-iotdb-200-fa3"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua-090": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-opcua-11-e-619"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql-79d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-postgresqlc-7-f-1ac"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard-8bb": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-internal-jvm-dashboard-2-ea-a86"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake-7f7": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-internal-jvm-datalakeede-e2d"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification-9ba": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-internal-jvm-notification-96-b-f37"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email-c3c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-notifications-jvm-emaild-10-1d7"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal-2ce": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-notifications-jvm-onesignal-60-d-204"
-  },
-  "/docs/0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack-91a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-pe-org-apache-streampipes-sinks-notifications-jvm-slack-6-cf-490"
-  },
-  "/docs/0.63.0-pre-asf/user-guide-first-steps-54d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-user-guide-first-steps-8-d-0-de5"
-  },
-  "/docs/0.63.0-pre-asf/user-guide-installation-2d1": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-user-guide-installationf-30-4b4"
-  },
-  "/docs/0.63.0-pre-asf/user-guide-tour-648": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-63-0-pre-asf-user-guide-tour-70-b-109"
-  },
-  "/docs/0.64.0-pre-asf-597": {
-    "__comp": "__comp---theme-doc-page-1-be-9be",
-    "__context": {
-      "plugin": "plugin---docs-0-55-2-pre-asf-49-f-cdc"
-    },
-    "versionMetadata": "versionMetadata---docs-0-64-0-pre-asf-57-a-c59"
-  },
-  "/docs/0.64.0-pre-asf/dev-guide-archetype-32d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-dev-guide-archetype-530-962"
-  },
-  "/docs/0.64.0-pre-asf/dev-guide-configuration-bc1": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-dev-guide-configuration-9-b-5-913"
-  },
-  "/docs/0.64.0-pre-asf/dev-guide-development-environment-4c9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-dev-guide-development-environmentaf-5-907"
-  },
-  "/docs/0.64.0-pre-asf/dev-guide-output-strategies-ec8": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-dev-guide-output-strategiesed-8-29c"
-  },
-  "/docs/0.64.0-pre-asf/dev-guide-static-properties-ffc": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-dev-guide-static-properties-3-ab-958"
-  },
-  "/docs/0.64.0-pre-asf/dev-guide-stream-requirements-02c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-dev-guide-stream-requirements-32-f-5f7"
-  },
-  "/docs/0.64.0-pre-asf/dev-guide-tutorial-processors-867": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-dev-guide-tutorial-processorsb-32-5fe"
-  },
-  "/docs/0.64.0-pre-asf/dev-guide-tutorial-sinks-090": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-dev-guide-tutorial-sinks-648-842"
-  },
-  "/docs/0.64.0-pre-asf/dev-guide-tutorial-sources-e21": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-dev-guide-tutorial-sources-04-b-c77"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processor.geo.flink/org.apache.streampipes.processor.geo.flink-ae1": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processor-geo-flink-org-apache-streampipes-processor-geo-flink-94-d-6fc"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/org.apache.streampipes.processor.geo.jvm.geocoding-57d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processor-geo-jvm-geocoding-org-apache-streampipes-processor-geo-jvm-geocoding-62-c-32b"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/org.apache.streampipes.processor.geo.jvm.reversegeocoding-c06": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processor-geo-jvm-reversegeocoding-org-apache-streampipes-processor-geo-jvm-reversegeocoding-3-fd-2b3"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/org.apache.streampipes.processor.geo.jvm.staticgeocoding-f43": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processor-geo-jvm-staticgeocoding-org-apache-streampipes-processor-geo-jvm-staticgeocoding-24-b-8e4"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification-52a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-7-e-2-e9e"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/org.apache.streampipes.processor.imageclassification.jvm.image-enricher-18b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processor-imageclassification-jvm-image-enricher-org-apache-streampipes-processor-imageclassification-jvm-image-enrichera-82-a7c"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/org.apache.streampipes.processor.imageclassification.qrcode-622": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processor-imageclassification-qrcode-org-apache-streampipes-processor-imageclassification-qrcode-72-f-a2e"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/org.apache.streampipes.processors.aggregation.flink.aggregation-5cc": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-aggregation-flink-aggregation-org-apache-streampipes-processors-aggregation-flink-aggregation-2-b-2-ed8"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/org.apache.streampipes.processors.aggregation.flink.eventcount-2df": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-aggregation-flink-eventcount-org-apache-streampipes-processors-aggregation-flink-eventcountbf-5-734"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/org.apache.streampipes.processors.aggregation.flink.rate-861": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-aggregation-flink-rate-org-apache-streampipes-processors-aggregation-flink-rate-1-bc-17c"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/org.apache.streampipes.processors.enricher.flink.processor.math.mathop-bfc": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-1-ed-824"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop-d0a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathop-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathopd-2-a-37d"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/org.apache.streampipes.processors.enricher.flink.processor.trigonometry-31e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-trigonometry-org-apache-streampipes-processors-enricher-flink-processor-trigonometry-650-08f"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing-f1d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-urldereferencing-org-apache-streampipes-processors-enricher-flink-processor-urldereferencing-0-d-5-78e"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/org.apache.streampipes.processors.enricher.flink.timestamp-98b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-enricher-flink-timestamp-org-apache-streampipes-processors-enricher-flink-timestamp-133-b0d"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/org.apache.streampipes.processors.enricher.jvm.sizemeasure-04b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-enricher-jvm-sizemeasure-org-apache-streampipes-processors-enricher-jvm-sizemeasured-5-b-72e"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/org.apache.streampipes.processors.filters.jvm.compose-89d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-filters-jvm-compose-org-apache-streampipes-processors-filters-jvm-compose-545-5a9"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/org.apache.streampipes.processors.filters.jvm.enrich-313": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-filters-jvm-enrich-org-apache-streampipes-processors-filters-jvm-enrich-952-630"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/org.apache.streampipes.processors.filters.jvm.merge-58a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-filters-jvm-merge-org-apache-streampipes-processors-filters-jvm-merge-034-cc3"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/org.apache.streampipes.processors.filters.jvm.numericalfilter-e60": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-filters-jvm-numericalfilter-org-apache-streampipes-processors-filters-jvm-numericalfilter-0-c-1-415"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/org.apache.streampipes.processors.filters.jvm.numericaltextfilter-8f5": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-filters-jvm-numericaltextfilter-org-apache-streampipes-processors-filters-jvm-numericaltextfilter-617-cd8"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/org.apache.streampipes.processors.filters.jvm.project-5a5": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-filters-jvm-project-org-apache-streampipes-processors-filters-jvm-project-9-fb-ccf"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/org.apache.streampipes.processors.filters.jvm.textfilter-6f5": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-filters-jvm-textfilter-org-apache-streampipes-processors-filters-jvm-textfiltera-11-2b8"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/org.apache.streampipes.processors.filters.jvm.threshold-22a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-filters-jvm-threshold-org-apache-streampipes-processors-filters-jvm-threshold-36-f-0c6"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator-db2": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-4-d-7-147"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/org.apache.streampipes.processors.pattern-detection.flink.peak-detection-573": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-190-7b7"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/org.apache.streampipes.processors.siddhi.frequency-ad3": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-siddhi-frequency-org-apache-streampipes-processors-siddhi-frequency-69-e-428"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/org.apache.streampipes.processors.siddhi.frequencychange-335": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-siddhi-frequencychange-org-apache-streampipes-processors-siddhi-frequencychange-25-b-da5"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/org.apache.streampipes.processors.siddhi.increase-9a0": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-siddhi-increase-org-apache-streampipes-processors-siddhi-increase-008-9c5"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/org.apache.streampipes.processors.siddhi.numericalfilter-5dd": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-siddhi-numericalfilter-org-apache-streampipes-processors-siddhi-numericalfilter-680-64e"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/org.apache.streampipes.processors.siddhi.sequence-a1b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-siddhi-sequence-org-apache-streampipes-processors-siddhi-sequence-84-e-016"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/org.apache.streampipes.processors.siddhi.stop-5cd": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-siddhi-stop-org-apache-streampipes-processors-siddhi-stop-11-a-328"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/org.apache.streampipes.processors.textmining.flink.languagedetection-e1a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-textmining-flink-languagedetection-org-apache-streampipes-processors-textmining-flink-languagedetection-46-d-35e"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/org.apache.streampipes.processors.textmining.flink.wordcount-7c0": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-textmining-flink-wordcount-org-apache-streampipes-processors-textmining-flink-wordcount-068-672"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/org.apache.streampipes.processors.textmining.jvm.chunker-0cc": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-chunker-org-apache-streampipes-processors-textmining-jvm-chunker-13-a-cf4"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/org.apache.streampipes.processors.textmining.jvm.languagedetection-a89": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-languagedetection-org-apache-streampipes-processors-textmining-jvm-languagedetectiona-9-a-b1a"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/org.apache.streampipes.processors.textmining.jvm.namefinder-478": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-namefinder-org-apache-streampipes-processors-textmining-jvm-namefinder-1-d-1-de4"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/org.apache.streampipes.processors.textmining.jvm.partofspeech-c17": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-partofspeech-org-apache-streampipes-processors-textmining-jvm-partofspeech-98-b-761"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/org.apache.streampipes.processors.textmining.jvm.sentencedetection-b6a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-sentencedetection-org-apache-streampipes-processors-textmining-jvm-sentencedetectione-1-c-1fb"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/org.apache.streampipes.processors.textmining.jvm.tokenizer-ca4": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-tokenizer-org-apache-streampipes-processors-textmining-jvm-tokenizer-27-b-5ea"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/org.apache.streampipes.processors.transformation.flink.field-converter-452": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-flink-field-converter-org-apache-streampipes-processors-transformation-flink-field-converter-39-c-05c"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/org.apache.streampipes.processors.transformation.flink.field-mapper-cd5": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-flink-field-mapper-org-apache-streampipes-processors-transformation-flink-field-mapper-349-8b1"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/org.apache.streampipes.processors.transformation.flink.field-renamer-4bf": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-flink-field-renamer-org-apache-streampipes-processors-transformation-flink-field-renamer-1-f-0-ae4"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/org.apache.streampipes.processors.transformation.flink.fieldhasher-c68": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-flink-fieldhasher-org-apache-streampipes-processors-transformation-flink-fieldhasherd-5-e-025"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter-99f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-org-apache-streampipes-processors-transformation-flink-measurement-unit-converterbf-3-3e2"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/org.apache.streampipes.processors.transformation.flink.processor.boilerplate-731": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-flink-processor-boilerplate-org-apache-streampipes-processors-transformation-flink-processor-boilerplatead-3-4b9"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/org.apache.streampipes.processors.transformation.jvm.booloperator.counter-a8d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-011-97e"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter-ded": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-inverter-org-apache-streampipes-processors-transformation-jvm-booloperator-inverterce-7-0ab"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping-ae5": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeeping-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeepinge-27-934"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/org.apache.streampipes.processors.transformation.jvm.booloperator.timer-d7a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-timer-org-apache-streampipes-processors-transformation-jvm-booloperator-timer-598-122"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/org.apache.streampipes.processors.transformation.jvm.changed-value-6b5": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-changed-value-org-apache-streampipes-processors-transformation-jvm-changed-value-34-c-5cb"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/org.apache.streampipes.processors.transformation.jvm.count-array-217": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-count-array-org-apache-streampipes-processors-transformation-jvm-count-arrayfc-7-82a"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/org.apache.streampipes.processors.transformation.jvm.csvmetadata-143": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-csvmetadata-org-apache-streampipes-processors-transformation-jvm-csvmetadata-89-f-420"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/org.apache.streampipes.processors.transformation.jvm.duration-value-9f8": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-duration-value-org-apache-streampipes-processors-transformation-jvm-duration-valuef-57-78f"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor-501": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractor-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractor-8-b-4-c53"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/org.apache.streampipes.processors.transformation.jvm.split-array-7d2": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-split-array-org-apache-streampipes-processors-transformation-jvm-split-array-359-361"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/org.apache.streampipes.processors.transformation.jvm.taskduration-53c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-taskduration-org-apache-streampipes-processors-transformation-jvm-taskduration-682-d70"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean-a3a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-transform-to-boolean-org-apache-streampipes-processors-transformation-jvm-transform-to-booleana-04-8b8"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/org.apache.streampipes.sinks.brokers.jvm.bufferrest-833": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-bufferrest-org-apache-streampipes-sinks-brokers-jvm-bufferrest-41-c-0fb"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/org.apache.streampipes.sinks.brokers.jvm.jms-677": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-jms-org-apache-streampipes-sinks-brokers-jvm-jms-44-e-80c"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/org.apache.streampipes.sinks.brokers.jvm.kafka-2f2": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-kafka-org-apache-streampipes-sinks-brokers-jvm-kafkaf-97-029"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/org.apache.streampipes.sinks.brokers.jvm.pulsar-f2d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-pulsar-org-apache-streampipes-sinks-brokers-jvm-pulsar-753-bef"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/org.apache.streampipes.sinks.brokers.jvm.rabbitmq-c34": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-4-b-7-9e3"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/org.apache.streampipes.sinks.brokers.jvm.rest-f47": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-rest-org-apache-streampipes-sinks-brokers-jvm-restbfd-4ea"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/org.apache.streampipes.sinks.databases.ditto-529": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-databases-ditto-org-apache-streampipes-sinks-databases-ditto-30-b-065"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/org.apache.streampipes.sinks.databases.flink.elasticsearch-72c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-databases-flink-elasticsearch-org-apache-streampipes-sinks-databases-flink-elasticsearch-8-ec-1e2"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/org.apache.streampipes.sinks.databases.jvm.couchdb-533": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-couchdb-org-apache-streampipes-sinks-databases-jvm-couchdb-6-ee-27a"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/org.apache.streampipes.sinks.databases.jvm.influxdb-91c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-influxdb-org-apache-streampipes-sinks-databases-jvm-influxdbf-04-9af"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/org.apache.streampipes.sinks.databases.jvm.iotdb-3cb": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-iotdb-org-apache-streampipes-sinks-databases-jvm-iotdba-41-63e"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/org.apache.streampipes.sinks.databases.jvm.opcua-ef8": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-opcua-org-apache-streampipes-sinks-databases-jvm-opcuaf-44-b93"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/org.apache.streampipes.sinks.databases.jvm.postgresql-0bf": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-postgresql-org-apache-streampipes-sinks-databases-jvm-postgresql-747-99f"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/org.apache.streampipes.sinks.internal.jvm.dashboard-772": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-internal-jvm-dashboard-org-apache-streampipes-sinks-internal-jvm-dashboard-8-b-5-dbf"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/org.apache.streampipes.sinks.internal.jvm.datalake-0eb": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-internal-jvm-datalake-org-apache-streampipes-sinks-internal-jvm-datalakedc-4-392"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/org.apache.streampipes.sinks.internal.jvm.notification-ef6": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-internal-jvm-notification-org-apache-streampipes-sinks-internal-jvm-notification-576-e21"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/org.apache.streampipes.sinks.notifications.jvm.email-481": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-notifications-jvm-email-org-apache-streampipes-sinks-notifications-jvm-email-8-cb-a52"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/org.apache.streampipes.sinks.notifications.jvm.onesignal-e69": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-notifications-jvm-onesignal-org-apache-streampipes-sinks-notifications-jvm-onesignale-1-d-a09"
-  },
-  "/docs/0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/org.apache.streampipes.sinks.notifications.jvm.slack-7aa": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-org-apache-streampipes-sinks-notifications-jvm-slack-org-apache-streampipes-sinks-notifications-jvm-slacke-96-219"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk-5e0": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-coindesk-3-ed-926"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt-c3a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-gdelt-934-063"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news-48d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-iex-news-1-ce-d3f"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks-013": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-iex-stocks-42-f-34c"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set-09d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-image-set-0-cd-631"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream-a21": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-image-stream-31-d-a50"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set-01d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-influxdb-setf-71-380"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream-796": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-influxdb-streamfb-0-a7a"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss-e08": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-iss-1-ea-279"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set-9fb": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-mysql-set-78-c-6c1"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream-d38": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-mysql-stream-1-fc-9b8"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt-d07": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-netio-mqtt-07-b-bd9"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest-99a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-netio-rest-1-f-6-b33"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera-58e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-nswaustralia-trafficcamera-58-c-b6d"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua-869": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-opcuadad-612"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7-271": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-plc-4-x-s-7-d-87-f40"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros-f71": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-ros-975-09f"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset-121": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-simulator-randomdataset-807-1f9"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream-44f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-simulator-randomdatastream-35-e-8fa"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack-fca": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-slack-721-f5c"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti-f35": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-tia-9-f-3cd"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit-17a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-wikipedia-editc-08-6f0"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new-f08": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-adapters-wikipedia-newc-00-ea6"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file-e04": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-filefe-3-e56"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http-fd2": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-http-094-784"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka-c23": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-kafkabb-6-bbd"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt-091": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-mqttc-2-e-418"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar-12e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-pulsara-72-cba"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink-92f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processor-geo-flinkcd-2-974"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding-710": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processor-geo-jvm-geocodingb-0-c-296"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding-570": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processor-geo-jvm-reversegeocoding-37-c-863"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding-95a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processor-geo-jvm-staticgeocoding-049-a8b"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification-5bb": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-5-f-1-81d"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper-3c0": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-jvm-image-cropper-0-f-1-254"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher-882": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-jvm-image-enricher-2-fb-971"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode-e45": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-qrcoded-03-ec5"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation-567": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-aggregation-631-4ff"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count-814": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-count-79-d-cab"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount-38e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-eventcount-603-144"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate-a63": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-rate-7-bf-2ed"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop-a32": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-95-f-1f5"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop-212": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathopd-9-a-c0b"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry-f42": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-trigonometrydb-0-a94"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing-75b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-urldereferencinga-0-f-497"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp-5fa": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-timestamp-960-4e1"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure-93f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-enricher-jvm-sizemeasure-803-75d"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose-626": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-compose-1-e-5-ee6"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich-815": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-enrichd-0-d-73d"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge-4a8": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-mergefb-3-504"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter-2f5": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-numericalfilterb-9-d-84a"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter-55a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-numericaltextfilterecf-d96"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project-847": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-project-640-657"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter-c72": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-textfilterc-3-e-1d4"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold-271": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-thresholde-27-cd5"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo-254": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-lat-lng-to-geo-546-d33"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG-5aa": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-set-epsg-64-f-58d"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory-50e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-trajectory-77-e-3a8"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator-c57": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-processor-distancecalculatorbc-7-b4d"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed-25a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-processor-speedc-73-710"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator-49a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-processor-staticdistancecalculator-38-b-885"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence-1ae": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-absence-431-a97"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and-c59": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-and-75-c-f01"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection-17c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-11-d-e56"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence-80c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-sequencedd-9-960"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency-b62": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-frequencyc-89-e81"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange-758": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-frequencychangeadf-3a4"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase-d44": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-increasec-63-ba0"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter-6f2": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-numericalfilter-22-d-3a1"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence-f0c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-sequence-706-afe"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop-a5f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-stopcef-c8a"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary-6dd": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-statistics-flink-statistics-summary-8-cb-76e"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection-699": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-textmining-flink-languagedetection-7-b-5-156"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount-a81": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-textmining-flink-wordcountefd-7b7"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker-2ec": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-chunker-204-61a"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection-935": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-languagedetection-4-ae-42a"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder-579": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-namefinder-22-b-d20"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech-1fb": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-partofspeechddb-d05"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection-2b4": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-sentencedetection-43-e-f89"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer-3e5": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-tokenizer-7-ed-a5a"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter-de7": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-field-converter-3-a-8-ef6"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper-e1b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-field-mapper-568-caa"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer-3cf": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-field-renamerd-71-496"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher-ce7": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-fieldhasher-7-ce-fba"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter-9b5": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-62-c-79c"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate-edb": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-processor-boilerplateb-09-de3"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter-28f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-9-d-4-406"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter-774": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-inverterfeb-686"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping-a78": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeeping-9-ad-bef"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer-985": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timerd-0-d-b80"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value-f01": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-changed-valuef-27-609"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array-a48": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-count-array-1-ed-686"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata-72b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-csvmetadata-909-00a"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value-002": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-duration-valueab-0-b7a"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor-d71": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractord-0-e-efb"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array-679": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-split-arraydd-5-27a"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter-696": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-counterc-87-297"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer-58a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-timerb-83-502"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration-f95": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-taskduration-8-ed-e75"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean-d06": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-transform-to-boolean-7-a-2-430"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.protocol.set.file-de0": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-protocol-set-fileba-1-6cd"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.protocol.set.http-3cf": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-protocol-set-http-352-052"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest-0a8": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-bufferrestc-6-f-689"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms-b51": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-jmsdb-0-ce7"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka-56c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-kafkabeb-a30"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt-d50": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-mqtt-4-e-9-275"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar-f73": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-pulsar-344-9c9"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq-fca": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmqef-9-868"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest-368": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-rest-403-74b"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto-068": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-databases-ditto-062-d47"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch-830": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-databases-flink-elasticsearch-727-6f4"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb-846": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-couchdbea-8-b4b"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb-b19": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-influxdb-3-a-6-34c"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb-3ab": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-iotdb-4-de-d89"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua-e9e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-opcua-933-2b3"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql-363": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-postgresqlb-71-a81"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard-a6c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-internal-jvm-dashboarde-86-b9c"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake-8c7": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-internal-jvm-datalake-710-59d"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification-57a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-internal-jvm-notificationcde-8f2"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email-26c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-notifications-jvm-email-832-978"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal-465": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-notifications-jvm-onesignal-68-b-77a"
-  },
-  "/docs/0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack-8c7": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-pe-org-apache-streampipes-sinks-notifications-jvm-slack-873-ebf"
-  },
-  "/docs/0.64.0-pre-asf/user-guide-first-steps-ccd": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-user-guide-first-steps-5-db-a72"
-  },
-  "/docs/0.64.0-pre-asf/user-guide-installation-f06": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-user-guide-installation-45-a-4b2"
-  },
-  "/docs/0.64.0-pre-asf/user-guide-tour-d2a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-64-0-pre-asf-user-guide-tour-4-ee-b62"
-  },
-  "/docs/0.65.0-pre-asf-197": {
-    "__comp": "__comp---theme-doc-page-1-be-9be",
-    "__context": {
-      "plugin": "plugin---docs-0-55-2-pre-asf-49-f-cdc"
-    },
-    "versionMetadata": "versionMetadata---docs-0-65-0-pre-asf-0-e-2-13e"
-  },
-  "/docs/0.65.0-pre-asf/community-get-help-77c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-community-get-helpdb-4-04b"
-  },
-  "/docs/0.65.0-pre-asf/dev-guide-archetype-789": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-dev-guide-archetypef-98-988"
-  },
-  "/docs/0.65.0-pre-asf/dev-guide-configuration-893": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-dev-guide-configurationf-8-f-06b"
-  },
-  "/docs/0.65.0-pre-asf/dev-guide-development-environment-99e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-dev-guide-development-environmente-22-668"
-  },
-  "/docs/0.65.0-pre-asf/dev-guide-output-strategies-d99": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-dev-guide-output-strategies-86-c-4aa"
-  },
-  "/docs/0.65.0-pre-asf/dev-guide-static-properties-84b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-dev-guide-static-propertiesa-83-b8e"
-  },
-  "/docs/0.65.0-pre-asf/dev-guide-stream-requirements-b42": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-dev-guide-stream-requirements-379-a6c"
-  },
-  "/docs/0.65.0-pre-asf/dev-guide-tutorial-processors-709": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-dev-guide-tutorial-processors-53-f-125"
-  },
-  "/docs/0.65.0-pre-asf/dev-guide-tutorial-sinks-2c2": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-dev-guide-tutorial-sinks-4-bf-1ee"
-  },
-  "/docs/0.65.0-pre-asf/dev-guide-tutorial-sources-4ae": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-dev-guide-tutorial-sourcese-8-e-9ca"
-  },
-  "/docs/0.65.0-pre-asf/extend-sdk-event-model-c43": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-extend-sdk-event-modelabc-802"
-  },
-  "/docs/0.65.0-pre-asf/extend-sdk-stream-requirements-316": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-extend-sdk-stream-requirementsf-2-f-014"
-  },
-  "/docs/0.65.0-pre-asf/extend-setup-3fe": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-extend-setup-964-ebd"
-  },
-  "/docs/0.65.0-pre-asf/extend-tutorial-data-processors-db1": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-extend-tutorial-data-processors-1-d-6-522"
-  },
-  "/docs/0.65.0-pre-asf/extend-tutorial-data-sinks-b9f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-extend-tutorial-data-sinks-7-f-2-416"
-  },
-  "/docs/0.65.0-pre-asf/extend-tutorial-data-sources-a0f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-extend-tutorial-data-sources-212-394"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processor.geo.flink/org.apache.streampipes.processor.geo.flink-723": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processor-geo-flink-org-apache-streampipes-processor-geo-flinkd-46-29d"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/org.apache.streampipes.processor.geo.jvm.geocoding-a09": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processor-geo-jvm-geocoding-org-apache-streampipes-processor-geo-jvm-geocoding-92-e-343"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/org.apache.streampipes.processor.geo.jvm.reversegeocoding-ba0": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processor-geo-jvm-reversegeocoding-org-apache-streampipes-processor-geo-jvm-reversegeocoding-3-bb-874"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/org.apache.streampipes.processor.geo.jvm.staticgeocoding-ede": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processor-geo-jvm-staticgeocoding-org-apache-streampipes-processor-geo-jvm-staticgeocoding-00-c-c55"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification-83b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-352-b38"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/org.apache.streampipes.processor.imageclassification.jvm.image-enricher-e75": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processor-imageclassification-jvm-image-enricher-org-apache-streampipes-processor-imageclassification-jvm-image-enricherb-9-c-50b"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/org.apache.streampipes.processor.imageclassification.qrcode-e92": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processor-imageclassification-qrcode-org-apache-streampipes-processor-imageclassification-qrcode-32-e-3c2"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/org.apache.streampipes.processors.aggregation.flink.aggregation-694": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-aggregation-flink-aggregation-org-apache-streampipes-processors-aggregation-flink-aggregationc-1-f-cd5"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/org.apache.streampipes.processors.aggregation.flink.eventcount-0f5": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-aggregation-flink-eventcount-org-apache-streampipes-processors-aggregation-flink-eventcount-8-ee-21b"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/org.apache.streampipes.processors.aggregation.flink.rate-0d6": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-aggregation-flink-rate-org-apache-streampipes-processors-aggregation-flink-rate-2-e-0-acd"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/org.apache.streampipes.processors.enricher.flink.processor.math.mathop-2e9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-3-f-4-b1e"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop-391": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathop-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathop-450-866"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/org.apache.streampipes.processors.enricher.flink.processor.trigonometry-dd4": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-trigonometry-org-apache-streampipes-processors-enricher-flink-processor-trigonometry-636-ee5"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing-e99": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-enricher-flink-processor-urldereferencing-org-apache-streampipes-processors-enricher-flink-processor-urldereferencing-71-f-f3c"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/org.apache.streampipes.processors.enricher.flink.timestamp-338": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-enricher-flink-timestamp-org-apache-streampipes-processors-enricher-flink-timestamp-64-e-969"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/org.apache.streampipes.processors.enricher.jvm.sizemeasure-5ce": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-enricher-jvm-sizemeasure-org-apache-streampipes-processors-enricher-jvm-sizemeasurebfd-185"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/org.apache.streampipes.processors.filters.jvm.compose-61a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-filters-jvm-compose-org-apache-streampipes-processors-filters-jvm-compose-3-d-8-e91"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/org.apache.streampipes.processors.filters.jvm.enrich-8d9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-filters-jvm-enrich-org-apache-streampipes-processors-filters-jvm-enrichc-2-f-ee4"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/org.apache.streampipes.processors.filters.jvm.merge-076": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-filters-jvm-merge-org-apache-streampipes-processors-filters-jvm-mergeb-51-7d5"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/org.apache.streampipes.processors.filters.jvm.numericalfilter-ad7": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-filters-jvm-numericalfilter-org-apache-streampipes-processors-filters-jvm-numericalfilterebd-d1b"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/org.apache.streampipes.processors.filters.jvm.numericaltextfilter-3ee": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-filters-jvm-numericaltextfilter-org-apache-streampipes-processors-filters-jvm-numericaltextfilterca-3-0ce"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/org.apache.streampipes.processors.filters.jvm.project-954": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-filters-jvm-project-org-apache-streampipes-processors-filters-jvm-project-377-982"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/org.apache.streampipes.processors.filters.jvm.textfilter-269": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-filters-jvm-textfilter-org-apache-streampipes-processors-filters-jvm-textfilter-492-155"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/org.apache.streampipes.processors.filters.jvm.threshold-a32": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-filters-jvm-threshold-org-apache-streampipes-processors-filters-jvm-threshold-5-ac-e95"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator-b64": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-033-929"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/org.apache.streampipes.processors.pattern-detection.flink.peak-detection-6c7": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-org-apache-streampipes-processors-pattern-detection-flink-peak-detectionae-8-449"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/org.apache.streampipes.processors.siddhi.frequency-a4a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-siddhi-frequency-org-apache-streampipes-processors-siddhi-frequency-967-6c0"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/org.apache.streampipes.processors.siddhi.frequencychange-774": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-siddhi-frequencychange-org-apache-streampipes-processors-siddhi-frequencychange-650-4e1"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/org.apache.streampipes.processors.siddhi.increase-ab6": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-siddhi-increase-org-apache-streampipes-processors-siddhi-increase-963-f23"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/org.apache.streampipes.processors.siddhi.numericalfilter-231": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-siddhi-numericalfilter-org-apache-streampipes-processors-siddhi-numericalfilter-681-d44"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/org.apache.streampipes.processors.siddhi.sequence-260": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-siddhi-sequence-org-apache-streampipes-processors-siddhi-sequencef-7-e-7c8"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/org.apache.streampipes.processors.siddhi.stop-158": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-siddhi-stop-org-apache-streampipes-processors-siddhi-stop-54-a-b12"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/org.apache.streampipes.processors.textmining.flink.languagedetection-6d9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-textmining-flink-languagedetection-org-apache-streampipes-processors-textmining-flink-languagedetection-64-f-8ae"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/org.apache.streampipes.processors.textmining.flink.wordcount-111": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-textmining-flink-wordcount-org-apache-streampipes-processors-textmining-flink-wordcount-120-ce8"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/org.apache.streampipes.processors.textmining.jvm.chunker-f73": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-chunker-org-apache-streampipes-processors-textmining-jvm-chunkercbf-1a9"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/org.apache.streampipes.processors.textmining.jvm.languagedetection-3d7": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-languagedetection-org-apache-streampipes-processors-textmining-jvm-languagedetection-954-0be"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/org.apache.streampipes.processors.textmining.jvm.namefinder-225": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-namefinder-org-apache-streampipes-processors-textmining-jvm-namefindere-06-df0"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/org.apache.streampipes.processors.textmining.jvm.partofspeech-700": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-partofspeech-org-apache-streampipes-processors-textmining-jvm-partofspeechd-5-f-806"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/org.apache.streampipes.processors.textmining.jvm.sentencedetection-015": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-sentencedetection-org-apache-streampipes-processors-textmining-jvm-sentencedetection-410-a78"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/org.apache.streampipes.processors.textmining.jvm.tokenizer-e95": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-textmining-jvm-tokenizer-org-apache-streampipes-processors-textmining-jvm-tokenizer-7-ed-dd5"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/org.apache.streampipes.processors.transformation.flink.field-converter-bac": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-flink-field-converter-org-apache-streampipes-processors-transformation-flink-field-converterc-95-f15"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/org.apache.streampipes.processors.transformation.flink.field-mapper-4b3": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-flink-field-mapper-org-apache-streampipes-processors-transformation-flink-field-mapperfc-2-ac0"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/org.apache.streampipes.processors.transformation.flink.field-renamer-48a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-flink-field-renamer-org-apache-streampipes-processors-transformation-flink-field-renamer-789-49c"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/org.apache.streampipes.processors.transformation.flink.fieldhasher-abc": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-flink-fieldhasher-org-apache-streampipes-processors-transformation-flink-fieldhasher-11-b-802"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter-5e2": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-388-156"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/org.apache.streampipes.processors.transformation.flink.processor.boilerplate-20d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-flink-processor-boilerplate-org-apache-streampipes-processors-transformation-flink-processor-boilerplate-15-e-1cf"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/org.apache.streampipes.processors.transformation.jvm.booloperator.counter-336": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-org-apache-streampipes-processors-transformation-jvm-booloperator-counterf-1-b-53e"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter-7c0": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-inverter-org-apache-streampipes-processors-transformation-jvm-booloperator-inverter-380-757"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping-3d2": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeeping-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeepinge-55-311"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/org.apache.streampipes.processors.transformation.jvm.booloperator.timer-d75": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-booloperator-timer-org-apache-streampipes-processors-transformation-jvm-booloperator-timera-3-e-c26"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/org.apache.streampipes.processors.transformation.jvm.changed-value-30a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-changed-value-org-apache-streampipes-processors-transformation-jvm-changed-value-76-c-bb5"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/org.apache.streampipes.processors.transformation.jvm.count-array-7e5": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-count-array-org-apache-streampipes-processors-transformation-jvm-count-arraya-4-c-a78"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/org.apache.streampipes.processors.transformation.jvm.csvmetadata-380": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-csvmetadata-org-apache-streampipes-processors-transformation-jvm-csvmetadata-70-d-e45"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/org.apache.streampipes.processors.transformation.jvm.duration-value-140": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-duration-value-org-apache-streampipes-processors-transformation-jvm-duration-value-233-05b"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor-a50": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractor-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractor-308-9ba"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/org.apache.streampipes.processors.transformation.jvm.split-array-30c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-split-array-org-apache-streampipes-processors-transformation-jvm-split-array-1-dd-4e3"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/org.apache.streampipes.processors.transformation.jvm.taskduration-00d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-taskduration-org-apache-streampipes-processors-transformation-jvm-taskduration-2-f-5-738"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean-af5": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-processors-transformation-jvm-transform-to-boolean-org-apache-streampipes-processors-transformation-jvm-transform-to-boolean-07-d-5e6"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/org.apache.streampipes.sinks.brokers.jvm.bufferrest-162": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-bufferrest-org-apache-streampipes-sinks-brokers-jvm-bufferrestb-9-c-db0"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/org.apache.streampipes.sinks.brokers.jvm.jms-5be": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-jms-org-apache-streampipes-sinks-brokers-jvm-jms-97-e-902"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/org.apache.streampipes.sinks.brokers.jvm.kafka-7c6": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-kafka-org-apache-streampipes-sinks-brokers-jvm-kafka-086-a54"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/org.apache.streampipes.sinks.brokers.jvm.pulsar-575": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-pulsar-org-apache-streampipes-sinks-brokers-jvm-pulsar-214-c49"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/org.apache.streampipes.sinks.brokers.jvm.rabbitmq-21c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-77-b-26d"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/org.apache.streampipes.sinks.brokers.jvm.rest-fad": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-brokers-jvm-rest-org-apache-streampipes-sinks-brokers-jvm-restc-85-7ba"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/org.apache.streampipes.sinks.databases.ditto-c66": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-databases-ditto-org-apache-streampipes-sinks-databases-dittoc-2-a-5d8"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/org.apache.streampipes.sinks.databases.flink.elasticsearch-b8d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-databases-flink-elasticsearch-org-apache-streampipes-sinks-databases-flink-elasticsearch-7-fa-e54"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/org.apache.streampipes.sinks.databases.jvm.couchdb-3bf": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-couchdb-org-apache-streampipes-sinks-databases-jvm-couchdb-5-ae-64f"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/org.apache.streampipes.sinks.databases.jvm.influxdb-729": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-influxdb-org-apache-streampipes-sinks-databases-jvm-influxdb-5-c-2-a43"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/org.apache.streampipes.sinks.databases.jvm.iotdb-5c9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-iotdb-org-apache-streampipes-sinks-databases-jvm-iotdb-002-3b5"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/org.apache.streampipes.sinks.databases.jvm.opcua-187": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-opcua-org-apache-streampipes-sinks-databases-jvm-opcua-387-a4d"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/org.apache.streampipes.sinks.databases.jvm.postgresql-f89": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-databases-jvm-postgresql-org-apache-streampipes-sinks-databases-jvm-postgresql-0-c-0-002"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/org.apache.streampipes.sinks.internal.jvm.dashboard-4ce": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-internal-jvm-dashboard-org-apache-streampipes-sinks-internal-jvm-dashboard-81-d-c9a"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/org.apache.streampipes.sinks.internal.jvm.datalake-342": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-internal-jvm-datalake-org-apache-streampipes-sinks-internal-jvm-datalakee-62-0d7"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/org.apache.streampipes.sinks.internal.jvm.notification-ffe": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-internal-jvm-notification-org-apache-streampipes-sinks-internal-jvm-notificationef-0-351"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/org.apache.streampipes.sinks.notifications.jvm.email-1d2": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-notifications-jvm-email-org-apache-streampipes-sinks-notifications-jvm-email-3-f-4-7b8"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/org.apache.streampipes.sinks.notifications.jvm.onesignal-685": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-notifications-jvm-onesignal-org-apache-streampipes-sinks-notifications-jvm-onesignal-321-58f"
-  },
-  "/docs/0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/org.apache.streampipes.sinks.notifications.jvm.slack-16c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-org-apache-streampipes-sinks-notifications-jvm-slack-org-apache-streampipes-sinks-notifications-jvm-slack-66-d-f85"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk-7db": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-coindeskd-22-10e"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt-c31": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-gdelt-540-b19"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news-dbd": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-iex-news-47-c-5cd"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks-7f4": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-iex-stocksc-16-e41"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set-59e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-image-setc-02-c72"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream-3ee": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-image-stream-352-489"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set-e46": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-influxdb-set-993-a74"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream-35a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-influxdb-stream-789-2a8"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss-9e0": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-iss-36-f-3d6"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set-151": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-mysql-setbd-3-183"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream-f99": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-mysql-streama-49-d7c"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt-ed7": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-netio-mqttd-81-ab0"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest-661": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-netio-rest-89-d-8ce"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera-376": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-nswaustralia-trafficcamera-693-794"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua-687": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-opcua-4-af-da5"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7-b98": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-plc-4-x-s-7698-b22"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros-1eb": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-ros-0-b-9-f29"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset-36b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-simulator-randomdatasetbd-8-2dd"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream-247": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-simulator-randomdatastream-3-a-1-3b2"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack-711": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-slack-783-4fa"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti-0b8": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-ti-000-fe5"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit-235": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-wikipedia-edit-153-828"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new-40a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-adapters-wikipedia-new-446-79e"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file-77e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-filebc-1-13d"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http-77a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-http-552-aad"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka-2bd": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-kafka-814-ce9"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt-d7f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-mqtt-3-dd-d43"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar-dbd": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-connect-protocol-stream-pulsar-309-9ae"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink-6e3": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processor-geo-flink-08-e-14f"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding-6d5": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processor-geo-jvm-geocoding-69-f-2b4"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding-6fb": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processor-geo-jvm-reversegeocodinge-88-147"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding-930": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processor-geo-jvm-staticgeocoding-811-84d"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification-895": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classificationcd-2-059"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper-a1c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-jvm-image-cropper-7-a-3-30e"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher-c8e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-jvm-image-enrichere-19-347"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode-15d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processor-imageclassification-qrcode-045-411"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation-f38": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-aggregation-77-c-971"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count-fd2": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-count-3-fc-1f6"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount-de9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-eventcount-8-ca-1a6"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate-995": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-aggregation-flink-rate-0-f-4-d73"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop-eff": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-math-mathopbb-5-961"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop-e59": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathopfc-5-45a"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry-d52": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-trigonometryb-44-60e"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing-0e3": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-processor-urldereferencingac-7-9ec"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp-d42": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-enricher-flink-timestamp-41-d-ae2"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure-be3": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-enricher-jvm-sizemeasureb-53-498"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose-a57": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-composedfd-7b6"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich-fd0": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-enriche-0-b-856"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge-3a9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-mergeafa-523"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter-243": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-numericalfilterfe-3-d5a"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter-d61": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-numericaltextfilter-0-b-4-423"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project-746": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-project-2-c-8-239"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter-a55": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-textfiltere-56-fc3"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold-97c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-filters-jvm-thresholde-81-33e"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo-a6d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-lat-lng-to-geo-04-b-5fc"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG-6bc": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-set-epsg-242-a5e"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory-2c9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-trajectory-0-f-9-43d"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator-851": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-327-842"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed-d4c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-processor-speed-45-b-a4e"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator-ddb": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-geo-jvm-processor-staticdistancecalculator-458-be7"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence-557": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-absence-643-ef5"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and-aca": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-andf-66-e2b"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection-d8f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-23-a-b7c"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence-efa": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-pattern-detection-flink-sequence-9-ea-e6d"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency-ba8": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-frequency-544-302"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange-6a1": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-frequencychangea-4-e-298"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase-456": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-increase-2-fd-bcd"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter-850": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-numericalfilter-0-f-0-636"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence-f80": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-sequenced-8-c-b0b"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop-d6e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-siddhi-stop-7-b-3-db4"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary-baf": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-statistics-flink-statistics-summary-4-e-0-be9"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection-a3c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-textmining-flink-languagedetectionc-01-5ee"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount-b49": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-textmining-flink-wordcount-4-a-8-07f"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker-f8d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-chunkerbb-1-688"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection-ddc": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-languagedetection-36-b-0d2"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder-031": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-namefinder-465-ebc"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech-2ce": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-partofspeechac-1-878"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection-391": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-sentencedetection-5-da-048"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer-650": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-textmining-jvm-tokenizer-834-625"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter-9cc": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-field-converter-6-d-7-2e1"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper-0e2": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-field-mapperf-70-652"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer-2d7": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-field-renamer-666-999"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher-c91": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-fieldhasherc-06-117"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter-a21": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-7-be-358"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate-d3a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-flink-processor-boilerplate-0-f-2-cfe"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter-a62": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-counterf-7-d-552"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter-aaa": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-inverterc-18-326"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping-a17": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeepingb-38-4b1"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer-fde": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timerfdd-f45"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value-1d4": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-changed-valuedff-0b0"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array-192": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-count-array-50-d-c9b"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata-174": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-csvmetadatacf-6-154"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value-67e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-duration-valuee-48-d7b"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor-06c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractor-86-f-dd2"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array-f7b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-split-array-3-ff-eb8"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter-c58": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-counterf-33-810"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer-d3c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-timerfd-7-c25"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration-8c3": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-taskdurationd-66-150"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean-c5e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-processors-transformation-jvm-transform-to-booleane-1-e-83b"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.protocol.set.file-121": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-protocol-set-file-390-ef6"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.protocol.set.http-a0a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-protocol-set-http-8-de-753"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest-a96": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-bufferrest-02-e-752"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms-0c0": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-jmsb-81-6b5"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka-dac": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-kafka-652-a78"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt-7d3": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-mqtt-820-dcb"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar-130": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-pulsar-7-df-3ad"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq-bf2": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-755-475"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest-1e9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-brokers-jvm-rest-575-33d"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto-5f5": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-databases-ditto-440-ae6"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch-38b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-databases-flink-elasticsearch-6-cb-7a4"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb-34a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-couchdb-383-646"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb-441": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-influxdbed-5-c7b"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb-cbd": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-iotdbdc-5-bcf"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua-256": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-opcua-3-d-4-d6c"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql-3be": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-databases-jvm-postgresqld-9-b-e8b"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard-d0e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-internal-jvm-dashboardd-1-b-526"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake-640": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-internal-jvm-datalake-4-ec-043"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification-de7": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-internal-jvm-notification-119-405"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email-f2f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-notifications-jvm-email-871-f19"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal-3c3": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-notifications-jvm-onesignal-44-a-775"
-  },
-  "/docs/0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack-f52": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-org-apache-streampipes-sinks-notifications-jvm-slack-12-c-2df"
-  },
-  "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.connect.adapters.flic.mqtt-c18": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-connect-adapters-flic-mqtt-126-31c"
-  },
-  "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.connect.adapters.plc4x.modbus-f87": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-connect-adapters-plc-4-x-modbus-90-e-a36"
-  },
-  "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.connect.adapters.simulator.machine-0a9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-connect-adapters-simulator-machine-65-b-b2b"
-  },
-  "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.connect.protocol.stream.httpserver-07c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-connect-protocol-stream-httpserver-990-519"
-  },
-  "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.changedetection.jvm.cusum-764": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-processors-changedetection-jvm-cusum-9-a-5-5cb"
-  },
-  "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.filters.jvm.limit-1c7": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-processors-filters-jvm-limita-3-f-e4e"
-  },
-  "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge-95b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-edge-2-f-8-ca9"
-  },
-  "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state-2fb": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-state-690-34b"
-  },
-  "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.buffer-2e9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-state-buffer-7-e-3-1d9"
-  },
-  "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer-e11": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-buffera-7-c-af6"
-  },
-  "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number-fbd": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-number-922-4ad"
-  },
-  "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state-c1d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-stringoperator-stateece-222"
-  },
-  "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.sinks.brokers.jvm.nats-308": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-sinks-brokers-jvm-natsad-3-add"
-  },
-  "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.sinks.databases.jvm.mysql-852": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-sinks-databases-jvm-mysql-94-d-a10"
-  },
-  "/docs/0.65.0-pre-asf/pe/version-0.68.0-org.apache.streampipes.sinks.notifications.jvm.telegram-55e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-pe-version-0-68-0-org-apache-streampipes-sinks-notifications-jvm-telegram-6-fd-a85"
-  },
-  "/docs/0.65.0-pre-asf/user-guide-first-steps-465": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-user-guide-first-steps-042-ab7"
-  },
-  "/docs/0.65.0-pre-asf/user-guide-installation-538": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-user-guide-installation-3-b-8-145"
-  },
-  "/docs/0.65.0-pre-asf/user-guide-tour-23f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-user-guide-tourbb-5-37c"
-  },
-  "/docs/0.65.0-pre-asf/version-0.67.0-community-contribute-b0e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-version-0-67-0-community-contribute-2-ab-5fb"
-  },
-  "/docs/0.65.0-pre-asf/version-0.67.0-concepts-adapter-03e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-version-0-67-0-concepts-adapterd-07-57b"
-  },
-  "/docs/0.65.0-pre-asf/version-0.67.0-concepts-data-streams-951": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-version-0-67-0-concepts-data-streams-945-4de"
-  },
-  "/docs/0.65.0-pre-asf/version-0.67.0-concepts-glossary-fe5": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-version-0-67-0-concepts-glossarye-7-e-2fc"
-  },
-  "/docs/0.65.0-pre-asf/version-0.67.0-concepts-overview-4cc": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-version-0-67-0-concepts-overview-4-c-3-435"
-  },
-  "/docs/0.65.0-pre-asf/version-0.67.0-concepts-pipelines-f6f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-version-0-67-0-concepts-pipelines-5-d-9-71a"
-  },
-  "/docs/0.65.0-pre-asf/version-0.67.0-debugging-debugging-2c1": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-version-0-67-0-debugging-debugging-6-a-1-3cc"
-  },
-  "/docs/0.65.0-pre-asf/version-0.67.0-debugging-monitoring-625": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-version-0-67-0-debugging-monitoring-611-924"
-  },
-  "/docs/0.65.0-pre-asf/version-0.67.0-deploy-docker-9b5": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-version-0-67-0-deploy-docker-49-c-536"
-  },
-  "/docs/0.65.0-pre-asf/version-0.67.0-deploy-kubernetes-13b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-version-0-67-0-deploy-kubernetesa-2-f-1de"
-  },
-  "/docs/0.65.0-pre-asf/version-0.67.0-deploy-use-ssl-e6c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-version-0-67-0-deploy-use-ssl-7-f-7-1fc"
-  },
-  "/docs/0.65.0-pre-asf/version-0.67.0-extend-archetypes-795": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-version-0-67-0-extend-archetypesd-2-c-d3c"
-  },
-  "/docs/0.65.0-pre-asf/version-0.67.0-extend-cli-3b0": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-version-0-67-0-extend-clia-01-1fe"
-  },
-  "/docs/0.65.0-pre-asf/version-0.67.0-extend-sdk-output-strategies-aba": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-version-0-67-0-extend-sdk-output-strategies-724-225"
-  },
-  "/docs/0.65.0-pre-asf/version-0.67.0-extend-sdk-static-properties-0e1": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-version-0-67-0-extend-sdk-static-properties-218-e50"
-  },
-  "/docs/0.65.0-pre-asf/version-0.67.0-technicals-architecture-945": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-version-0-67-0-technicals-architecture-6-dd-961"
-  },
-  "/docs/0.65.0-pre-asf/version-0.67.0-technicals-configuration-1b0": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-version-0-67-0-technicals-configurationb-5-b-746"
-  },
-  "/docs/0.65.0-pre-asf/version-0.67.0-technicals-messaging-6ce": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-version-0-67-0-technicals-messaging-824-673"
-  },
-  "/docs/0.65.0-pre-asf/version-0.67.0-technicals-runtime-wrappers-a8e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-version-0-67-0-technicals-runtime-wrappers-9-f-9-d3b"
-  },
-  "/docs/0.65.0-pre-asf/version-0.67.0-technicals-user-guidance-6a8": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-version-0-67-0-technicals-user-guidance-6-dd-1e7"
-  },
-  "/docs/0.65.0-pre-asf/version-0.67.0-try-installation-5d1": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-version-0-67-0-try-installationc-36-e1e"
-  },
-  "/docs/0.65.0-pre-asf/version-0.67.0-try-tutorial-2d9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-version-0-67-0-try-tutorialadd-7c3"
-  },
-  "/docs/0.65.0-pre-asf/version-0.67.0-use-configurations-dd0": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-version-0-67-0-use-configurations-770-3bc"
-  },
-  "/docs/0.65.0-pre-asf/version-0.67.0-use-connect-56c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-version-0-67-0-use-connect-042-06f"
-  },
-  "/docs/0.65.0-pre-asf/version-0.67.0-use-dashboard-9e9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-version-0-67-0-use-dashboard-966-d33"
-  },
-  "/docs/0.65.0-pre-asf/version-0.67.0-use-data-explorer-6ad": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-version-0-67-0-use-data-explorerc-2-d-f9c"
-  },
-  "/docs/0.65.0-pre-asf/version-0.67.0-use-install-pipeline-elements-731": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-version-0-67-0-use-install-pipeline-elements-790-7d1"
-  },
-  "/docs/0.65.0-pre-asf/version-0.67.0-use-managing-pipelines-196": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-version-0-67-0-use-managing-pipelines-56-a-c2c"
-  },
-  "/docs/0.65.0-pre-asf/version-0.67.0-use-notifications-c91": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-version-0-67-0-use-notifications-07-b-ea6"
-  },
-  "/docs/0.65.0-pre-asf/version-0.67.0-use-pipeline-editor-6a2": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-version-0-67-0-use-pipeline-editorf-13-141"
-  },
-  "/docs/0.65.0-pre-asf/version-0.67.0-user-guide-introduction-2e2": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-version-0-67-0-user-guide-introduction-64-b-05a"
-  },
-  "/docs/0.65.0-pre-asf/version-0.67.0-user-guide-introduction-old-2d8": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-65-0-pre-asf-version-0-67-0-user-guide-introduction-old-56-a-0b2"
-  },
-  "/docs/0.66.0-d0b": {
-    "__comp": "__comp---theme-doc-page-1-be-9be",
-    "__context": {
-      "plugin": "plugin---docs-0-55-2-pre-asf-49-f-cdc"
-    },
-    "versionMetadata": "versionMetadata---docs-0-66-0-fb-5-553"
-  },
-  "/docs/0.66.0/community-contribute-55c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-community-contributed-9-b-e65"
-  },
-  "/docs/0.66.0/community-get-help-971": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-community-get-help-279-f7f"
-  },
-  "/docs/0.66.0/concepts-adapter-819": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-concepts-adapter-35-a-6c1"
-  },
-  "/docs/0.66.0/concepts-data-streams-c77": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-concepts-data-streamsb-20-438"
-  },
-  "/docs/0.66.0/concepts-glossary-5c9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-concepts-glossarya-8-f-512"
-  },
-  "/docs/0.66.0/concepts-overview-434": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-concepts-overviewe-24-c93"
-  },
-  "/docs/0.66.0/concepts-pipelines-569": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-concepts-pipelines-53-d-5f0"
-  },
-  "/docs/0.66.0/debugging-debugging-3e2": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-debugging-debugging-2-a-3-725"
-  },
-  "/docs/0.66.0/debugging-monitoring-3a9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-debugging-monitoringf-16-10c"
-  },
-  "/docs/0.66.0/deploy-docker-872": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-deploy-dockerfb-2-ff7"
-  },
-  "/docs/0.66.0/deploy-kubernetes-b65": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-deploy-kubernetes-43-d-c93"
-  },
-  "/docs/0.66.0/deploy-security-374": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-deploy-security-414-cb6"
-  },
-  "/docs/0.66.0/deploy-use-ssl-c77": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-deploy-use-sslb-02-427"
-  },
-  "/docs/0.66.0/dev-guide-archetype-c55": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-dev-guide-archetype-170-ad2"
-  },
-  "/docs/0.66.0/dev-guide-configuration-7f8": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-dev-guide-configurationfc-9-98c"
-  },
-  "/docs/0.66.0/dev-guide-development-environment-752": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-dev-guide-development-environment-978-0a5"
-  },
-  "/docs/0.66.0/dev-guide-output-strategies-15b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-dev-guide-output-strategiesf-37-f52"
-  },
-  "/docs/0.66.0/dev-guide-static-properties-dd0": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-dev-guide-static-properties-3-e-5-5fa"
-  },
-  "/docs/0.66.0/dev-guide-stream-requirements-ce6": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-dev-guide-stream-requirements-475-0c7"
-  },
-  "/docs/0.66.0/dev-guide-tutorial-sources-e16": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-dev-guide-tutorial-sources-1-e-3-3fc"
-  },
-  "/docs/0.66.0/extend-archetypes-24b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-extend-archetypes-758-292"
-  },
-  "/docs/0.66.0/extend-cli-a8a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-extend-cli-156-33a"
-  },
-  "/docs/0.66.0/extend-first-processor-4ab": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-extend-first-processorc-3-c-722"
-  },
-  "/docs/0.66.0/extend-sdk-event-model-ea5": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-extend-sdk-event-model-2-e-6-5ad"
-  },
-  "/docs/0.66.0/extend-sdk-migration-service-discovery-c8a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-extend-sdk-migration-service-discoveryddd-8b9"
-  },
-  "/docs/0.66.0/extend-sdk-output-strategies-ea8": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-extend-sdk-output-strategies-777-d0b"
-  },
-  "/docs/0.66.0/extend-sdk-static-properties-63c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-extend-sdk-static-propertiesf-8-d-b64"
-  },
-  "/docs/0.66.0/extend-sdk-stream-requirements-7da": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-extend-sdk-stream-requirements-51-a-bb7"
-  },
-  "/docs/0.66.0/extend-setup-244": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-extend-setupb-7-b-f7e"
-  },
-  "/docs/0.66.0/extend-tutorial-data-processors-344": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-extend-tutorial-data-processorsca-0-9ab"
-  },
-  "/docs/0.66.0/extend-tutorial-data-sinks-366": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-extend-tutorial-data-sinksc-2-d-28b"
-  },
-  "/docs/0.66.0/extend-tutorial-data-sources-2d5": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-extend-tutorial-data-sources-7-f-1-f0c"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.coindesk-9d1": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-coindesk-5-f-4-8f2"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.gdelt-afa": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-gdeltee-7-9a7"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.iex.news-fe1": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-iex-news-340-e3a"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.iex.stocks-39f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-iex-stocks-4-df-a4c"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.image.set-eb7": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-image-set-490-66a"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.image.stream-ff1": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-image-stream-2-cc-9f8"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.influxdb.set-fff": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-influxdb-set-86-f-6c3"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream-cc0": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-influxdb-streamc-85-703"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.iss-1b4": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-iss-3-fe-b96"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.mysql.set-f87": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-mysql-set-74-a-c85"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.mysql.stream-caa": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-mysql-stream-37-d-a22"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt-473": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-netio-mqtt-4-e-9-356"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.netio.rest-490": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-netio-rest-619-86f"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera-fc5": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-nswaustralia-trafficcamera-8-f-1-096"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.opcua-d22": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-opcua-36-e-47a"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7-585": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-s-7611-062"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.ros-f4e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-rosa-4-c-a39"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset-ddc": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-simulator-randomdatasetb-6-f-be7"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream-c26": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-simulator-randomdatastream-374-b6d"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.slack-652": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-slack-2-f-4-852"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.ti-943": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-ti-009-81c"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit-004": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-wikipedia-editbab-2cb"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new-e4b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-connect-adapters-wikipedia-new-293-2ea"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.connect.protocol.stream.file-c93": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-connect-protocol-stream-filed-25-88d"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.connect.protocol.stream.http-afb": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-connect-protocol-stream-httpb-80-fbc"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.connect.protocol.stream.kafka-725": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-connect-protocol-stream-kafka-1-b-1-ea2"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt-338": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-connect-protocol-stream-mqttde-2-84a"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar-aad": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-connect-protocol-stream-pulsar-559-a10"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processor.geo.flink-298": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processor-geo-flinkb-7-e-b98"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding-00c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processor-geo-jvm-geocodingcfb-948"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding-f4b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processor-geo-jvm-reversegeocodinged-9-cc7"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding-891": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processor-geo-jvm-staticgeocoding-669-600"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification-c67": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classificatione-1-b-d0d"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper-09e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-cropperfce-932"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher-e64": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-enricheraa-0-c3c"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processor.imageclassification.qrcode-6bf": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processor-imageclassification-qrcode-3-d-5-8b9"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation-b32": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-aggregation-flink-aggregation-398-887"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.count-381": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-aggregation-flink-count-063-8e0"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount-c9b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-aggregation-flink-eventcount-096-87f"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.rate-1c4": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-aggregation-flink-ratee-57-ba5"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop-257": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-997-18c"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop-c18": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathop-7-a-4-b65"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry-67c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-enricher-flink-processor-trigonometry-006-777"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing-d71": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-enricher-flink-processor-urldereferencingdc-3-36c"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp-fc9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-enricher-flink-timestamp-10-f-eed"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure-eec": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-enricher-jvm-sizemeasure-9-f-1-626"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.compose-874": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-filters-jvm-compose-298-446"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.enrich-aa6": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-filters-jvm-enrichbc-9-203"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.merge-aa4": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-filters-jvm-merge-1-a-8-7fe"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter-e2a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-filters-jvm-numericalfilter-584-5a2"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter-d2a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-filters-jvm-numericaltextfilter-0-e-3-ecd"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.project-a4c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-filters-jvm-projectd-76-27e"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter-907": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-filters-jvm-textfilter-7-c-4-629"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.filters.jvm.threshold-868": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-filters-jvm-threshold-90-b-af7"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo-8f4": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-lat-lng-to-geo-9-e-0-800"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG-8ed": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-set-epsg-7-e-3-2b9"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory-51c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-trajectoryef-3-fe4"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator-cae": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-geo-jvm-processor-distancecalculatorb-86-cf9"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed-d55": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-geo-jvm-processor-speed-2-ce-ad2"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator-61d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-geo-jvm-processor-staticdistancecalculatorc-04-c47"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence-7f7": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-pattern-detection-flink-absenceece-458"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and-2ef": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-pattern-detection-flink-and-766-4fc"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection-810": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-030-fdb"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence-8f5": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-pattern-detection-flink-sequence-3-e-3-1b4"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.siddhi.frequency-30d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-siddhi-frequency-857-853"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.siddhi.frequencychange-7e3": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-siddhi-frequencychangede-6-6db"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.siddhi.increase-e03": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-siddhi-increasee-49-8e7"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter-d5c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-siddhi-numericalfilter-664-562"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.siddhi.sequence-c62": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-siddhi-sequenceb-8-c-656"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.siddhi.stop-bf9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-siddhi-stopf-10-c75"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary-ad2": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-statistics-flink-statistics-summaryb-9-b-475"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection-5d0": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-textmining-flink-languagedetectionf-54-bf1"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount-175": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-textmining-flink-wordcountc-1-b-545"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker-a2b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-textmining-jvm-chunker-5-a-1-370"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection-9a1": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-textmining-jvm-languagedetection-908-e1c"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder-792": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-textmining-jvm-namefinder-92-d-a7a"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech-d53": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-textmining-jvm-partofspeechda-5-1fb"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection-fe9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-textmining-jvm-sentencedetection-16-a-2e2"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer-c41": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-textmining-jvm-tokenizer-34-d-bbf"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter-bb6": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-flink-field-converter-014-36a"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper-112": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-flink-field-mapperf-0-f-441"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer-a63": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-flink-field-renamer-137-8a8"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher-086": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-flink-fieldhasher-1-b-2-453"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter-219": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-03-a-f6e"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate-df7": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-flink-processor-boilerplatef-56-62c"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter-415": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-77-d-4d0"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter-0e9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-inverter-2-fd-6f8"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping-769": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeeping-635-fd9"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer-790": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timerc-5-b-f15"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value-808": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-changed-value-1-bc-e30"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array-b3c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-count-array-3-cf-d1a"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata-69d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-csvmetadataaa-5-8ac"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value-2f6": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-duration-value-771-d9f"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor-7fc": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractorffe-ce2"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array-3c7": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-split-arrayc-28-647"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter-8ff": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-counter-618-4fc"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer-977": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-timer-25-b-63b"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration-1a8": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-taskduration-92-d-732"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean-909": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-processors-transformation-jvm-transform-to-booleana-8-a-232"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.protocol.set.file-18d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-protocol-set-filef-97-f5d"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.protocol.set.http-a29": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-protocol-set-http-0-e-6-c8a"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest-bd7": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-sinks-brokers-jvm-bufferrestac-3-139"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms-59e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-sinks-brokers-jvm-jms-40-d-92b"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka-3ba": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-sinks-brokers-jvm-kafka-919-75b"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt-7d4": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-sinks-brokers-jvm-mqtt-1-e-7-042"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar-527": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-sinks-brokers-jvm-pulsarcd-3-a0b"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq-b40": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-783-d61"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest-e10": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-sinks-brokers-jvm-rest-5-df-b8f"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.ditto-102": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-sinks-databases-dittodd-5-0e2"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch-e38": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-sinks-databases-flink-elasticsearch-512-76b"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb-01c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-sinks-databases-jvm-couchdb-2-ab-937"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb-355": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-sinks-databases-jvm-influxdbd-15-a6f"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb-1b5": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-sinks-databases-jvm-iotdb-65-e-404"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua-558": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-sinks-databases-jvm-opcuafa-8-ecf"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql-46b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-sinks-databases-jvm-postgresqle-73-82b"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard-fc4": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-sinks-internal-jvm-dashboard-9-b-0-8c9"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake-157": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-sinks-internal-jvm-datalake-447-739"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.notification-a09": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-sinks-internal-jvm-notification-225-c0a"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.email-455": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-sinks-notifications-jvm-emaila-29-44d"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal-678": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-sinks-notifications-jvm-onesignal-8-f-0-79c"
-  },
-  "/docs/0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack-71a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-org-apache-streampipes-sinks-notifications-jvm-slack-2-cf-3f6"
-  },
-  "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.connect.adapters.flic.mqtt-42f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-connect-adapters-flic-mqtt-365-145"
-  },
-  "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.connect.adapters.plc4x.modbus-1e5": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-connect-adapters-plc-4-x-modbusf-23-a8a"
-  },
-  "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.connect.adapters.simulator.machine-2c9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-connect-adapters-simulator-machine-37-e-b3b"
-  },
-  "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.connect.protocol.stream.httpserver-39a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-connect-protocol-stream-httpserver-0-e-8-412"
-  },
-  "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.changedetection.jvm.cusum-2ad": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-processors-changedetection-jvm-cusum-4-ba-906"
-  },
-  "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.filters.jvm.limit-a68": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-processors-filters-jvm-limitd-00-cee"
-  },
-  "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge-2e1": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-edge-30-e-ebe"
-  },
-  "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state-560": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-state-357-730"
-  },
-  "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.buffer-20e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-state-buffer-196-30c"
-  },
-  "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer-c7e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-buffer-0-bc-bb2"
-  },
-  "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number-0fa": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-numberfe-7-da9"
-  },
-  "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state-03f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-processors-transformation-jvm-processor-stringoperator-state-3-f-6-581"
-  },
-  "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.sinks.brokers.jvm.nats-bab": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-sinks-brokers-jvm-natsaea-7d9"
-  },
-  "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.sinks.databases.jvm.mysql-def": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-sinks-databases-jvm-mysql-4-d-1-226"
-  },
-  "/docs/0.66.0/pe/version-0.68.0-org.apache.streampipes.sinks.notifications.jvm.telegram-d33": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-pe-version-0-68-0-org-apache-streampipes-sinks-notifications-jvm-telegram-97-d-03a"
-  },
-  "/docs/0.66.0/technicals-architecture-b3c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-technicals-architecturebb-9-71f"
-  },
-  "/docs/0.66.0/technicals-configuration-e17": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-technicals-configurationd-68-111"
-  },
-  "/docs/0.66.0/technicals-messaging-e67": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-technicals-messaginge-3-b-489"
-  },
-  "/docs/0.66.0/technicals-runtime-wrappers-156": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-technicals-runtime-wrappersed-2-b15"
-  },
-  "/docs/0.66.0/technicals-user-guidance-320": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-technicals-user-guidance-830-7c8"
-  },
-  "/docs/0.66.0/try-installation-fe9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-try-installation-1-d-0-82b"
-  },
-  "/docs/0.66.0/try-tutorial-a54": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-try-tutorialbe-5-3fc"
-  },
-  "/docs/0.66.0/use-configurations-c16": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-use-configurations-191-b05"
-  },
-  "/docs/0.66.0/use-connect-2cb": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-use-connect-5-d-5-f32"
-  },
-  "/docs/0.66.0/use-dashboard-70b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-use-dashboard-125-9a0"
-  },
-  "/docs/0.66.0/use-data-explorer-3b9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-use-data-explorerf-85-55f"
-  },
-  "/docs/0.66.0/use-install-pipeline-elements-4be": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-use-install-pipeline-elements-863-60d"
-  },
-  "/docs/0.66.0/use-managing-pipelines-705": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-use-managing-pipelines-8-f-6-8b1"
-  },
-  "/docs/0.66.0/use-notifications-424": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-use-notificationsfbe-330"
-  },
-  "/docs/0.66.0/use-pipeline-editor-2bd": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-use-pipeline-editor-2-fb-e48"
-  },
-  "/docs/0.66.0/user-guide-first-steps-f12": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-user-guide-first-steps-766-dbb"
-  },
-  "/docs/0.66.0/user-guide-installation-65e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-user-guide-installation-8-b-6-539"
-  },
-  "/docs/0.66.0/user-guide-introduction-7f8": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-user-guide-introduction-0-da-d3f"
-  },
-  "/docs/0.66.0/user-guide-introduction-old-ab6": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-66-0-user-guide-introduction-oldd-52-928"
-  },
-  "/docs/0.67.0-610": {
-    "__comp": "__comp---theme-doc-page-1-be-9be",
-    "__context": {
-      "plugin": "plugin---docs-0-55-2-pre-asf-49-f-cdc"
-    },
-    "versionMetadata": "versionMetadata---docs-0-67-067-a-6c7"
-  },
-  "/docs/0.67.0/community-contribute-394": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-community-contribute-344-b70"
-  },
-  "/docs/0.67.0/community-get-help-7f9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-community-get-helpa-59-b90"
-  },
-  "/docs/0.67.0/concepts-adapter-b39": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-concepts-adapter-5-c-4-364"
-  },
-  "/docs/0.67.0/concepts-data-streams-aa7": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-concepts-data-streams-2-aa-a2f"
-  },
-  "/docs/0.67.0/concepts-glossary-03d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-concepts-glossaryc-5-c-3c9"
-  },
-  "/docs/0.67.0/concepts-overview-2d0": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-concepts-overview-33-a-8cd"
-  },
-  "/docs/0.67.0/concepts-pipelines-842": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-concepts-pipelines-14-f-745"
-  },
-  "/docs/0.67.0/debugging-debugging-3d9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-debugging-debuggingc-54-77b"
-  },
-  "/docs/0.67.0/debugging-monitoring-10e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-debugging-monitoring-461-f70"
-  },
-  "/docs/0.67.0/deploy-docker-817": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-deploy-docker-0-a-0-244"
-  },
-  "/docs/0.67.0/deploy-kubernetes-c7e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-deploy-kubernetes-4-c-5-52c"
-  },
-  "/docs/0.67.0/deploy-security-dda": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-deploy-security-918-5ea"
-  },
-  "/docs/0.67.0/deploy-use-ssl-6ee": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-deploy-use-ssl-2-b-3-540"
-  },
-  "/docs/0.67.0/dev-guide-archetype-d1d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-dev-guide-archetypea-4-a-8ae"
-  },
-  "/docs/0.67.0/dev-guide-sdk-guide-processors-e7c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-dev-guide-sdk-guide-processorsf-1-e-9d2"
-  },
-  "/docs/0.67.0/dev-guide-sdk-guide-sinks-d64": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-dev-guide-sdk-guide-sinksa-7-d-118"
-  },
-  "/docs/0.67.0/extend-archetypes-165": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-extend-archetypes-024-ea4"
-  },
-  "/docs/0.67.0/extend-cli-008": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-extend-clidc-3-931"
-  },
-  "/docs/0.67.0/extend-first-processor-65d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-extend-first-processor-247-9b3"
-  },
-  "/docs/0.67.0/extend-sdk-event-model-4c6": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-extend-sdk-event-model-88-b-f80"
-  },
-  "/docs/0.67.0/extend-sdk-functions-018": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-extend-sdk-functions-079-8ee"
-  },
-  "/docs/0.67.0/extend-sdk-migration-service-discovery-2b3": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-extend-sdk-migration-service-discoveryfd-3-d0d"
-  },
-  "/docs/0.67.0/extend-sdk-output-strategies-9b3": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-extend-sdk-output-strategiesb-93-24a"
-  },
-  "/docs/0.67.0/extend-sdk-static-properties-c83": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-extend-sdk-static-propertiesce-0-2f8"
-  },
-  "/docs/0.67.0/extend-sdk-stream-requirements-8cd": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-extend-sdk-stream-requirementsd-67-abd"
-  },
-  "/docs/0.67.0/extend-setup-b00": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-extend-setupe-12-286"
-  },
-  "/docs/0.67.0/extend-tutorial-data-processors-bd5": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-extend-tutorial-data-processorse-32-297"
-  },
-  "/docs/0.67.0/extend-tutorial-data-sinks-952": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-extend-tutorial-data-sinks-2-dd-f92"
-  },
-  "/docs/0.67.0/extend-tutorial-data-sources-4f7": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-extend-tutorial-data-sources-7-c-8-fff"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt-1e4": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-connect-adapters-flic-mqtt-13-a-3f0"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.connect.adapters.opcua-613": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-connect-adapters-opcuaddf-436"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus-f69": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-modbuscb-2-495"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.connect.adapters.simulator.machine-70f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-connect-adapters-simulator-machinecae-a58"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver-244": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-connect-protocol-stream-httpserver-357-d93"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding-bdb": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processor-geo-jvm-geocoding-46-a-0b0"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding-ead": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processor-geo-jvm-reversegeocoding-816-18e"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding-609": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processor-geo-jvm-staticgeocoding-35-a-d94"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification-e15": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-132-054"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher-9ff": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-enricherea-5-d47"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processor.imageclassification.qrcode-ca7": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processor-imageclassification-qrcodef-69-d5a"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation-fcb": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-aggregation-flink-aggregation-771-70f"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.count-f60": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-aggregation-flink-countc-31-b8f"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount-379": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-aggregation-flink-eventcount-81-f-220"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.rate-774": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-aggregation-flink-rate-4-f-2-0c6"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum-5e9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-changedetection-jvm-cusumdb-7-413"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.filters.jvm.limit-cad": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-filters-jvm-limit-2-ca-a08"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.filters.jvm.merge-7b4": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-filters-jvm-merge-2-d-8-0ae"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator-7b9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-42-f-f14"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator-c1a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-geo-jvm-processor-staticdistancecalculatorc-65-f9b"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence-a70": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-pattern-detection-flink-absenced-84-eec"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and-15f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-pattern-detection-flink-and-0-c-5-434"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection-3f8": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-97-b-e1f"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence-968": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-pattern-detection-flink-sequence-606-9f4"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.siddhi.frequency-e23": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-siddhi-frequency-568-dd9"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.siddhi.frequencychange-2b6": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-siddhi-frequencychange-6-d-3-ba7"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.siddhi.increase-28d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-siddhi-increase-626-230"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter-670": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-siddhi-numericalfilter-241-8f6"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.siddhi.stop-445": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-siddhi-stopd-9-e-365"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection-c02": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-textmining-flink-languagedetection-237-27e"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount-19c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-textmining-flink-wordcounte-86-c13"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter-2dd": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-flink-field-converterbc-3-c51"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer-d34": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-flink-field-renamer-82-f-5ea"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher-83e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-flink-fieldhasher-0-ef-669"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter-6fd": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-209-313"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter-03e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-counterfbc-a0d"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge-497": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-edgea-65-49b"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state-816": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-stateea-5-3c3"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer-06c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-bufferfc-0-d53"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer-a16": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-buffer-1-d-5-7b5"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number-65b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-number-7-ea-bf1"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state-509": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-stringoperator-state-304-add"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array-70a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-jvm-split-array-327-b9a"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer-10a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-timer-2-cc-ee2"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats-b13": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-sinks-brokers-jvm-nats-17-c-9c0"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq-839": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmqe-22-c2a"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.sinks.databases.ditto-0b3": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-sinks-databases-dittof-9-b-15d"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql-48d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-sinks-databases-jvm-mysql-5-f-5-19b"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.sinks.internal.jvm.notification-9dc": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-sinks-internal-jvm-notification-559-7f2"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack-6d4": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-sinks-notifications-jvm-slack-040-14c"
-  },
-  "/docs/0.67.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram-164": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-pe-org-apache-streampipes-sinks-notifications-jvm-telegramca-1-f29"
-  },
-  "/docs/0.67.0/technicals-architecture-246": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-technicals-architecturee-6-e-8a0"
-  },
-  "/docs/0.67.0/technicals-configuration-f2d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-technicals-configuration-592-3f4"
-  },
-  "/docs/0.67.0/technicals-messaging-289": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-technicals-messagingfa-8-f14"
-  },
-  "/docs/0.67.0/technicals-runtime-wrappers-032": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-technicals-runtime-wrappers-56-c-6fb"
-  },
-  "/docs/0.67.0/technicals-user-guidance-cea": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-technicals-user-guidance-979-4a2"
-  },
-  "/docs/0.67.0/try-installation-d0d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-try-installationb-48-197"
-  },
-  "/docs/0.67.0/try-tutorial-05d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-try-tutorialf-2-b-64b"
-  },
-  "/docs/0.67.0/use-configurations-1a8": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-use-configurations-46-a-21b"
-  },
-  "/docs/0.67.0/use-connect-1b6": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-use-connectbf-0-91e"
-  },
-  "/docs/0.67.0/use-dashboard-c14": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-use-dashboard-0-ea-035"
-  },
-  "/docs/0.67.0/use-data-explorer-49d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-use-data-explorerdc-4-cd4"
-  },
-  "/docs/0.67.0/use-install-pipeline-elements-e31": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-use-install-pipeline-elementsea-3-036"
-  },
-  "/docs/0.67.0/use-managing-pipelines-89b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-use-managing-pipelines-75-f-3de"
-  },
-  "/docs/0.67.0/use-notifications-fd9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-use-notifications-62-d-46b"
-  },
-  "/docs/0.67.0/use-pipeline-editor-86b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-use-pipeline-editor-618-f65"
-  },
-  "/docs/0.67.0/user-guide-installation-395": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-user-guide-installation-5-b-5-f45"
-  },
-  "/docs/0.67.0/user-guide-introduction-65d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-user-guide-introduction-34-b-f73"
-  },
-  "/docs/0.67.0/user-guide-introduction-old-206": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-67-0-user-guide-introduction-old-254-ee2"
-  },
-  "/docs/0.68.0-255": {
-    "__comp": "__comp---theme-doc-page-1-be-9be",
-    "__context": {
-      "plugin": "plugin---docs-0-55-2-pre-asf-49-f-cdc"
-    },
-    "versionMetadata": "versionMetadata---docs-0-68-06-e-5-aad"
-  },
-  "/docs/0.68.0/community-contribute-140": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-community-contributea-1-c-dc3"
-  },
-  "/docs/0.68.0/community-get-help-e91": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-community-get-helpe-83-b24"
-  },
-  "/docs/0.68.0/deploy-docker-d68": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-deploy-dockera-7-b-b06"
-  },
-  "/docs/0.68.0/deploy-security-2bb": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-deploy-securityb-9-d-dd0"
-  },
-  "/docs/0.68.0/dev-guide-sdk-guide-processors-9c9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-dev-guide-sdk-guide-processors-938-e7c"
-  },
-  "/docs/0.68.0/dev-guide-sdk-guide-sinks-58c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-dev-guide-sdk-guide-sinks-0-b-8-14b"
-  },
-  "/docs/0.68.0/extend-archetypes-a5c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-extend-archetypes-1-c-1-0e0"
-  },
-  "/docs/0.68.0/extend-cli-68e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-extend-clicf-1-686"
-  },
-  "/docs/0.68.0/extend-first-processor-e59": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-extend-first-processore-81-333"
-  },
-  "/docs/0.68.0/extend-sdk-event-model-7ed": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-extend-sdk-event-modelf-56-9f1"
-  },
-  "/docs/0.68.0/extend-sdk-functions-038": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-extend-sdk-functions-33-a-a08"
-  },
-  "/docs/0.68.0/extend-sdk-migration-service-discovery-90f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-extend-sdk-migration-service-discovery-1-d-0-0ff"
-  },
-  "/docs/0.68.0/extend-sdk-output-strategies-418": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-extend-sdk-output-strategies-08-d-efd"
-  },
-  "/docs/0.68.0/extend-sdk-static-properties-c79": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-extend-sdk-static-propertiesd-6-c-c27"
-  },
-  "/docs/0.68.0/extend-sdk-stream-requirements-1fa": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-extend-sdk-stream-requirements-181-e37"
-  },
-  "/docs/0.68.0/extend-setup-71a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-extend-setupd-45-32c"
-  },
-  "/docs/0.68.0/extend-tutorial-data-processors-8e9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-extend-tutorial-data-processors-979-44f"
-  },
-  "/docs/0.68.0/extend-tutorial-data-sinks-d1c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-extend-tutorial-data-sinks-19-d-c1e"
-  },
-  "/docs/0.68.0/extend-tutorial-data-sources-ead": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-extend-tutorial-data-sources-664-b3b"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt-345": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-connect-adapters-flic-mqttfee-c67"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.connect.adapters.opcua-024": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-connect-adapters-opcua-743-183"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus-a02": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-modbus-397-01e"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.connect.adapters.simulator.machine-424": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-connect-adapters-simulator-machine-453-a20"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver-78c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-connect-protocol-stream-httpserver-453-6f1"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding-498": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processor-geo-jvm-geocodingedc-a26"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding-390": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processor-geo-jvm-reversegeocoding-42-c-794"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding-270": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processor-geo-jvm-staticgeocoding-102-ea6"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification-b05": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classificationc-8-b-e4d"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher-466": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-enricher-995-c87"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processor.imageclassification.qrcode-dc8": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processor-imageclassification-qrcodee-66-f28"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation-fc7": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-aggregation-flink-aggregationebc-fef"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.count-a01": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-aggregation-flink-count-000-b14"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount-d77": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-aggregation-flink-eventcounte-2-f-2b9"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.rate-a05": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-aggregation-flink-rate-942-e43"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum-19e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-changedetection-jvm-cusumc-6-d-072"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.filters.jvm.limit-35e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-filters-jvm-limit-572-798"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.filters.jvm.merge-05c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-filters-jvm-mergeadf-ab7"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator-e29": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-2-ea-ef4"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator-36e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-geo-jvm-processor-staticdistancecalculator-601-0c3"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence-210": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-pattern-detection-flink-absence-51-a-5ff"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and-445": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-pattern-detection-flink-andfbe-fb4"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection-a6f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-pattern-detection-flink-peak-detection-347-4f9"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence-632": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-pattern-detection-flink-sequencec-7-c-6f9"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.siddhi.frequency-f99": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-siddhi-frequency-731-f10"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.siddhi.frequencychange-bba": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-siddhi-frequencychangec-17-423"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.siddhi.increase-faa": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-siddhi-increase-679-59c"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter-a43": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-siddhi-numericalfilterda-3-545"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.siddhi.stop-030": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-siddhi-stop-023-846"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection-ec7": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-textmining-flink-languagedetection-263-603"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount-643": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-textmining-flink-wordcount-188-776"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter-e8e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-flink-field-converter-43-b-a9b"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer-215": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-flink-field-renamer-148-a9b"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher-05e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-flink-fieldhasherab-2-f63"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter-c7d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-675-bde"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter-316": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-countere-79-550"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge-43c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-edgeeae-04f"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state-461": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-stateea-1-ed5"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer-50c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-buffer-6-d-9-9a2"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer-558": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-buffere-4-d-25e"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number-282": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-number-765-408"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state-2d7": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-stringoperator-state-468-c60"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array-eb2": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-jvm-split-array-30-d-e08"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer-3a8": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-timerc-60-54d"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats-e51": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-sinks-brokers-jvm-nats-60-a-09d"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq-7a6": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmqe-54-fc2"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.sinks.databases.ditto-c89": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-sinks-databases-ditto-44-f-ca9"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql-dca": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-sinks-databases-jvm-mysqlaab-985"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.sinks.internal.jvm.notification-2e8": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-sinks-internal-jvm-notification-8-e-0-404"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack-0bd": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-sinks-notifications-jvm-slackc-4-a-1f1"
-  },
-  "/docs/0.68.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram-1bd": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-pe-org-apache-streampipes-sinks-notifications-jvm-telegram-0-f-5-4b1"
-  },
-  "/docs/0.68.0/technicals-configuration-8da": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-technicals-configuratione-69-615"
-  },
-  "/docs/0.68.0/try-installation-47f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-try-installation-8-c-6-ed8"
-  },
-  "/docs/0.68.0/try-tutorial-f29": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-try-tutorialc-46-b88"
-  },
-  "/docs/0.68.0/use-configurations-526": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-use-configurations-59-c-42a"
-  },
-  "/docs/0.68.0/use-dashboard-d57": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-use-dashboard-3-bb-f21"
-  },
-  "/docs/0.68.0/use-data-explorer-e2c": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-68-0-use-data-explorerb-76-dfc"
-  },
-  "/docs/0.69.0-e8b": {
-    "__comp": "__comp---theme-doc-page-1-be-9be",
-    "__context": {
-      "plugin": "plugin---docs-0-55-2-pre-asf-49-f-cdc"
-    },
-    "versionMetadata": "versionMetadata---docs-0-69-0-dff-341"
-  },
-  "/docs/0.69.0/community-get-help-32b": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-69-0-community-get-helpfa-2-cbf"
-  },
-  "/docs/0.69.0/deploy-security-9e8": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-69-0-deploy-security-1-a-3-6dc"
-  },
-  "/docs/0.69.0/extend-archetypes-a90": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-69-0-extend-archetypes-916-444"
-  },
-  "/docs/0.69.0/extend-cli-087": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-69-0-extend-clie-59-16f"
-  },
-  "/docs/0.69.0/extend-first-processor-3b1": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-69-0-extend-first-processor-4-fb-fd5"
-  },
-  "/docs/0.69.0/extend-sdk-event-model-0b7": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-69-0-extend-sdk-event-model-16-f-7b8"
-  },
-  "/docs/0.69.0/extend-sdk-migration-service-discovery-6e2": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-69-0-extend-sdk-migration-service-discoveryafc-fbb"
-  },
-  "/docs/0.69.0/extend-sdk-stream-requirements-410": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-69-0-extend-sdk-stream-requirements-284-951"
-  },
-  "/docs/0.69.0/extend-setup-654": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-69-0-extend-setupd-0-e-2a4"
-  },
-  "/docs/0.69.0/extend-tutorial-data-processors-b62": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-69-0-extend-tutorial-data-processors-7-f-5-7cb"
-  },
-  "/docs/0.69.0/extend-tutorial-data-sinks-f1a": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-69-0-extend-tutorial-data-sinks-852-3ed"
-  },
-  "/docs/0.69.0/extend-tutorial-data-sources-80e": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-69-0-extend-tutorial-data-sources-2-c-8-ec6"
-  },
-  "/docs/0.69.0/try-installation-da2": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-69-0-try-installation-5-e-5-1a4"
-  },
-  "/docs/0.69.0/use-configurations-c8d": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-69-0-use-configurations-30-a-bfc"
-  },
-  "/docs/0.69.0/use-dashboard-7e2": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-69-0-use-dashboard-916-cd5"
-  },
-  "/docs/0.69.0/use-data-explorer-543": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-69-0-use-data-explorer-870-fcd"
-  },
-  "/docs/0.69.0/user-guide-introduction-663": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-69-0-user-guide-introductiond-54-e0b"
-  },
-  "/docs/0.69.0/version-0.90.0-community-contribute-bb6": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-69-0-version-0-90-0-community-contributed-78-b4a"
-  },
-  "/docs/0.69.0/version-0.90.0-extend-sdk-functions-edc": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-69-0-version-0-90-0-extend-sdk-functions-6-b-6-c14"
-  },
-  "/docs/0.69.0/version-0.90.0-extend-sdk-output-strategies-e5f": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-69-0-version-0-90-0-extend-sdk-output-strategiesdbd-67c"
-  },
-  "/docs/0.69.0/version-0.90.0-extend-sdk-static-properties-ffb": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-69-0-version-0-90-0-extend-sdk-static-propertiesb-6-f-5fc"
-  },
-  "/docs/0.69.0/version-0.90.0-technicals-configuration-8d1": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-69-0-version-0-90-0-technicals-configuration-9-e-3-2d6"
-  },
-  "/docs/0.69.0/version-0.90.0-use-connect-fd9": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-69-0-version-0-90-0-use-connect-85-a-70c"
-  },
-  "/docs/0.69.0/version-0.90.0-use-pipeline-editor-618": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-69-0-version-0-90-0-use-pipeline-editor-9-ee-3f4"
-  },
-  "/docs/0.69.0/version-0.90.0-user-guide-installation-ca6": {
-    "__comp": "__comp---theme-doc-item-178-a40",
-    "content": "content---docs-0-69-0-version-0-90-0-user-guide-installation-590-928"
-  },
   "/docs/0.70.0-37e": {
     "__comp": "__comp---theme-doc-page-1-be-9be",
     "__context": {
-      "plugin": "plugin---docs-0-55-2-pre-asf-49-f-cdc"
+      "plugin": "plugin---docs-0-70-049-f-693"
     },
     "versionMetadata": "versionMetadata---docs-0-70-0-f-10-a11"
   },
@@ -6181,274 +1039,734 @@
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-70-0-user-guide-introduction-old-2-fe-c29"
   },
-  "/docs/0.90.0-4a5": {
+  "/docs/0.90.0-545": {
     "__comp": "__comp---theme-doc-page-1-be-9be",
     "__context": {
-      "plugin": "plugin---docs-0-55-2-pre-asf-49-f-cdc"
+      "plugin": "plugin---docs-0-70-049-f-693"
     },
     "versionMetadata": "versionMetadata---docs-0-90-0636-6d8"
   },
-  "/docs/0.90.0/community-contribute-049": {
+  "/docs/0.90.0/community-contribute-c7b": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-community-contribute-486-4c7"
   },
-  "/docs/0.90.0/extend-cli-5a0": {
+  "/docs/0.90.0/community-get-help-cff": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-community-get-helpbd-0-291"
+  },
+  "/docs/0.90.0/concepts-adapter-1d0": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-concepts-adapterb-8-b-1ed"
+  },
+  "/docs/0.90.0/concepts-data-streams-994": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-concepts-data-streams-793-d1e"
+  },
+  "/docs/0.90.0/concepts-glossary-603": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-concepts-glossaryeff-2c2"
+  },
+  "/docs/0.90.0/concepts-overview-d34": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-concepts-overview-6-f-3-140"
+  },
+  "/docs/0.90.0/concepts-pipelines-5f5": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-concepts-pipelines-161-bb0"
+  },
+  "/docs/0.90.0/debugging-debugging-421": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-debugging-debugging-93-f-1dd"
+  },
+  "/docs/0.90.0/debugging-monitoring-89a": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-debugging-monitoring-8-da-7ba"
+  },
+  "/docs/0.90.0/deploy-docker-cda": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-deploy-dockercdb-533"
+  },
+  "/docs/0.90.0/deploy-kubernetes-fe4": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-deploy-kubernetes-123-092"
+  },
+  "/docs/0.90.0/deploy-security-a20": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-deploy-security-143-d29"
+  },
+  "/docs/0.90.0/deploy-use-ssl-2e4": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-deploy-use-ssl-7-b-8-f32"
+  },
+  "/docs/0.90.0/dev-guide-archetype-740": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-dev-guide-archetype-03-c-ae5"
+  },
+  "/docs/0.90.0/dev-guide-sdk-guide-processors-a3b": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-dev-guide-sdk-guide-processors-429-951"
+  },
+  "/docs/0.90.0/dev-guide-sdk-guide-sinks-1d4": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-dev-guide-sdk-guide-sinksb-58-784"
+  },
+  "/docs/0.90.0/extend-archetypes-1b2": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-extend-archetypes-61-f-631"
+  },
+  "/docs/0.90.0/extend-cli-604": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-extend-cli-79-d-6dc"
   },
-  "/docs/0.90.0/extend-sdk-functions-cf7": {
+  "/docs/0.90.0/extend-first-processor-1ef": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-extend-first-processoraa-9-be1"
+  },
+  "/docs/0.90.0/extend-sdk-event-model-cae": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-extend-sdk-event-model-7-de-e70"
+  },
+  "/docs/0.90.0/extend-sdk-functions-ba3": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-extend-sdk-functionsbdb-d93"
   },
-  "/docs/0.90.0/extend-sdk-migration-service-discovery-2d7": {
+  "/docs/0.90.0/extend-sdk-migration-service-discovery-8e1": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-extend-sdk-migration-service-discoverydb-1-2c4"
   },
-  "/docs/0.90.0/extend-sdk-output-strategies-64e": {
+  "/docs/0.90.0/extend-sdk-output-strategies-19a": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-extend-sdk-output-strategies-2-e-3-558"
   },
-  "/docs/0.90.0/extend-sdk-static-properties-137": {
+  "/docs/0.90.0/extend-sdk-static-properties-984": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-extend-sdk-static-properties-22-c-f44"
   },
-  "/docs/0.90.0/extend-sdk-stream-requirements-cfa": {
+  "/docs/0.90.0/extend-sdk-stream-requirements-048": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-extend-sdk-stream-requirements-34-f-86e"
   },
-  "/docs/0.90.0/extend-setup-e68": {
+  "/docs/0.90.0/extend-setup-50f": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-extend-setup-8-ed-32d"
   },
-  "/docs/0.90.0/extend-tutorial-data-processors-9b4": {
+  "/docs/0.90.0/extend-tutorial-data-processors-edb": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-extend-tutorial-data-processors-8-eb-af7"
   },
-  "/docs/0.90.0/extend-tutorial-data-sinks-8c2": {
+  "/docs/0.90.0/extend-tutorial-data-sinks-0bd": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-extend-tutorial-data-sinks-874-357"
   },
-  "/docs/0.90.0/extend-tutorial-data-sources-b7a": {
+  "/docs/0.90.0/extend-tutorial-data-sources-758": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-extend-tutorial-data-sourcesb-8-a-70e"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt-e76": {
+  "/docs/0.90.0/faq-common-problems-620": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-faq-common-problemsef-3-142"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.coindesk-2b8": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-coindesk-291-7ba"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt-8e1": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-flic-mqtt-219-2b6"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.opcua-563": {
+  "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.gdelt-493": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-gdelt-27-b-058"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iex.news-42d": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-iex-news-989-cf5"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iex.stocks-3e2": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-iex-stocks-470-983"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.image.set-df3": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-image-set-54-c-ffd"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.image.stream-db2": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-image-stream-73-a-be5"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.set-7cb": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-influxdb-set-83-a-26f"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream-23a": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-influxdb-streambbe-0b8"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.iss-9f2": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-issa-59-507"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.set-7a4": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-mysql-set-353-141"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.stream-63c": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-mysql-stream-6-bb-a32"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt-6df": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-netio-mqtt-6-d-6-a71"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.netio.rest-3a1": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-netio-rest-99-d-063"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera-6dd": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-nswaustralia-trafficcamerad-1-c-167"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.opcua-669": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-opcuabc-8-b06"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus-cdd": {
+  "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus-e7c": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-modbusb-54-a1d"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.machine-f2d": {
+  "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7-d2b": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-s-7-b-2-e-511"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.ros-84a": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-ros-80-c-492"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.machine-408": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-simulator-machineab-5-d9b"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver-863": {
+  "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset-226": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-simulator-randomdatasetc-43-1d5"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream-378": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-simulator-randomdatastream-891-195"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.slack-652": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-slack-965-ea3"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.ti-3bf": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-tif-2-c-ad9"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit-ccd": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-wikipedia-editb-82-079"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new-042": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-connect-adapters-wikipedia-new-3-b-6-215"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.file-26b": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-filee-7-b-c6c"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.http-dde": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-http-8-d-6-8dc"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver-010": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-httpserver-5-c-7-c80"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding-377": {
+  "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.kafka-52f": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-kafka-53-d-89c"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt-5da": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-mqtte-43-879"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar-c3a": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-connect-protocol-stream-pulsar-005-3c6"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.flink-2f9": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processor-geo-flinkac-2-487"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding-162": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processor-geo-jvm-geocoding-195-52f"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding-c14": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding-635": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processor-geo-jvm-reversegeocodingbf-7-4e8"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding-876": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding-31b": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processor-geo-jvm-staticgeocoding-583-da3"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification-980": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification-e83": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classification-4-f-0-520"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher-059": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper-7e0": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-cropper-873-155"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher-2b4": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-enricher-9-f-1-a55"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.qrcode-65e": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processor.imageclassification.qrcode-60b": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processor-imageclassification-qrcode-4-d-6-4b9"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation-9cd": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation-9e4": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-aggregation-flink-aggregationbab-cc1"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.count-def": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.count-185": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-aggregation-flink-count-66-d-1f1"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount-d95": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount-208": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-aggregation-flink-eventcount-84-e-5ca"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.rate-96e": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.aggregation.flink.rate-7a1": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-aggregation-flink-rate-54-d-784"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum-c72": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum-ae3": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-changedetection-jvm-cusum-6-ff-d84"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.limit-a30": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop-bbf": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-9-de-1b5"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop-bd4": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathopa-9-b-5f3"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry-d8a": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-enricher-flink-processor-trigonometrye-78-510"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing-304": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-enricher-flink-processor-urldereferencing-162-a06"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp-7d9": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-enricher-flink-timestampdb-8-31f"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure-c5d": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-enricher-jvm-sizemeasure-2-de-25e"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.compose-0c7": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-compose-587-af6"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.enrich-d34": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-enrich-468-905"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.limit-a4c": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-limit-807-5db"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.merge-916": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.merge-e1c": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-mergec-8-e-472"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator-9b0": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter-582": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-numericalfilter-1-ab-676"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter-191": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-numericaltextfilter-152-58c"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.project-6fd": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-project-178-1a4"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter-c5c": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-textfilter-321-cc6"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.filters.jvm.threshold-844": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-filters-jvm-thresholda-80-fa1"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo-233": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-lat-lng-to-geo-563-914"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG-69e": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-set-epsg-744-479"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory-378": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-trajectory-6-e-8-371"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator-040": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-0-d-7-787"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator-c75": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed-29e": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-processor-speed-829-793"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator-8e8": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-geo-jvm-processor-staticdistancecalculatorde-9-7ab"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence-4a0": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence-e68": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-pattern-detection-flink-absence-184-645"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and-574": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and-099": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-pattern-detection-flink-and-122-531"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection-ed4": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection-4f7": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-pattern-detection-flink-peak-detectionf-4-b-e20"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence-ea1": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence-c87": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-pattern-detection-flink-sequence-627-b7c"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.frequency-e69": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.frequency-f49": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-siddhi-frequency-340-d12"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.frequencychange-788": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.frequencychange-7d4": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-siddhi-frequencychange-49-d-152"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.increase-84f": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.increase-00f": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-siddhi-increase-487-99c"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter-0dd": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter-ebd": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-siddhi-numericalfilterc-58-353"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.stop-db0": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.sequence-237": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-siddhi-sequence-3-b-2-75d"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.siddhi.stop-2df": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-siddhi-stop-1-d-8-0ed"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection-170": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary-e0d": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-statistics-flink-statistics-summarybcc-31a"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection-da2": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-textmining-flink-languagedetection-51-a-632"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount-f06": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount-571": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-textmining-flink-wordcount-43-e-82a"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter-c21": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker-a97": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-chunker-3-a-3-5cb"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection-e3f": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-languagedetectionf-7-c-699"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder-ca9": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-namefinder-07-d-d72"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech-a97": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-partofspeechace-6c5"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection-7fb": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-sentencedetectioncd-0-25b"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer-94a": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-textmining-jvm-tokenizer-0-aa-eb8"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter-162": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-field-converter-559-fea"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer-599": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper-547": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-field-mapper-9-a-7-446"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer-84e": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-field-renamerc-31-edf"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher-d32": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher-a50": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-fieldhasher-614-956"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter-418": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter-162": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-measurement-unit-converter-64-f-43a"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter-a67": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate-ba1": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-flink-processor-boilerplate-06-e-836"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter-208": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-counterf-06-31c"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge-120": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter-8ea": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-inverter-140-1fd"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping-0f4": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeeping-239-cda"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer-814": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timerdb-6-ff6"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value-8b7": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-changed-valuecfb-4cb"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array-0dc": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-count-arrayf-2-f-bbe"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata-f97": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-csvmetadatac-4-c-c5f"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value-fca": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-duration-value-92-c-80d"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge-e9f": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-edge-7-b-9-814"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state-eb9": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state-790": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-statef-34-8d7"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer-a27": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer-ecb": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-bufferad-9-907"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer-618": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer-3f7": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-buffer-5-ad-31b"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number-7e6": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number-036": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-number-908-78c"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state-364": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state-791": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-stringoperator-state-675-dcb"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array-131": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor-99a": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractordff-51a"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array-4ab": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-split-array-798-8b9"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer-a31": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter-a7e": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-counter-517-414"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer-10c": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-timer-2-f-3-5c3"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats-50a": {
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration-15d": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-taskduration-61-d-e79"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean-44a": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-processors-transformation-jvm-transform-to-booleanf-2-d-ab5"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.protocol.set.file-aa1": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-protocol-set-file-40-a-9d9"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.protocol.set.http-854": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-protocol-set-httpd-0-a-03b"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest-df2": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-bufferrest-04-d-963"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms-589": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-jmsd-87-c82"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka-da8": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-kafka-428-f06"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt-4ad": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-mqtt-965-adf"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats-f75": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-nats-965-1c9"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq-9e4": {
+  "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar-19e": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-pulsar-4-e-0-391"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq-e36": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmqf-98-037"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.ditto-140": {
+  "/docs/0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest-8ea": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-sinks-brokers-jvm-rest-038-928"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.ditto-bfb": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-sinks-databases-dittof-9-d-9b9"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql-f41": {
+  "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch-c3f": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-sinks-databases-flink-elasticsearch-704-42c"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb-7b6": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-couchdb-368-fdb"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb-85c": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-influxdbb-13-d62"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb-a13": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-iotdb-584-e6f"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql-21c": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-mysql-86-d-d56"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.notification-3b5": {
+  "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua-8bb": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-opcuaecf-b0e"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql-5c7": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-sinks-databases-jvm-postgresql-0-c-9-2ac"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard-d91": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-sinks-internal-jvm-dashboard-73-b-be6"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake-5de": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-sinks-internal-jvm-datalake-453-8c3"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.notification-f0f": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-sinks-internal-jvm-notification-3-a-8-7c7"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack-680": {
+  "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.email-c51": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-sinks-notifications-jvm-email-339-680"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal-889": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-pe-org-apache-streampipes-sinks-notifications-jvm-onesignal-8-c-9-5a9"
+  },
+  "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack-ee8": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-sinks-notifications-jvm-slackc-7-a-3af"
   },
-  "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram-97e": {
+  "/docs/0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram-188": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-pe-org-apache-streampipes-sinks-notifications-jvm-telegram-7-b-2-03a"
   },
-  "/docs/0.90.0/technicals-configuration-486": {
+  "/docs/0.90.0/technicals-architecture-39b": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-technicals-architectureb-1-b-c6d"
+  },
+  "/docs/0.90.0/technicals-configuration-7bb": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-technicals-configuration-45-a-c87"
   },
-  "/docs/0.90.0/try-installation-a73": {
+  "/docs/0.90.0/technicals-messaging-a06": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-technicals-messagingc-5-b-9a4"
+  },
+  "/docs/0.90.0/technicals-runtime-wrappers-eab": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-technicals-runtime-wrappers-5-fa-c45"
+  },
+  "/docs/0.90.0/technicals-user-guidance-d7b": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-technicals-user-guidance-12-f-a55"
+  },
+  "/docs/0.90.0/try-installation-6a2": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-try-installation-4-ff-554"
   },
-  "/docs/0.90.0/use-connect-dab": {
+  "/docs/0.90.0/try-tutorial-6f1": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-try-tutorial-36-c-b1d"
+  },
+  "/docs/0.90.0/use-configurations-a6e": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-use-configurations-625-058"
+  },
+  "/docs/0.90.0/use-connect-a43": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-use-connect-0-a-4-114"
   },
-  "/docs/0.90.0/use-pipeline-editor-ad6": {
+  "/docs/0.90.0/use-dashboard-7d9": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-use-dashboard-481-b53"
+  },
+  "/docs/0.90.0/use-data-explorer-a4b": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-use-data-explorer-467-8eb"
+  },
+  "/docs/0.90.0/use-install-pipeline-elements-ed1": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-use-install-pipeline-elementsff-7-350"
+  },
+  "/docs/0.90.0/use-managing-pipelines-be0": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-use-managing-pipelines-5-f-4-712"
+  },
+  "/docs/0.90.0/use-notifications-cd9": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-90-0-use-notifications-946-584"
+  },
+  "/docs/0.90.0/use-pipeline-editor-6b0": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-use-pipeline-editor-9-b-3-c32"
   },
@@ -6460,7 +1778,7 @@
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-user-guide-installation-07-b-21e"
   },
-  "/docs/0.90.0/user-guide-introduction-a06": {
+  "/docs/0.90.0/user-guide-introduction-4e8": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-user-guide-introduction-11-b-351"
   },
@@ -6472,222 +1790,674 @@
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-90-0-user-guide-software-componentse-7-b-b8b"
   },
-  "/docs/0.91.0-421": {
+  "/docs/0.91.0-62f": {
     "__comp": "__comp---theme-doc-page-1-be-9be",
     "__context": {
-      "plugin": "plugin---docs-0-55-2-pre-asf-49-f-cdc"
+      "plugin": "plugin---docs-0-70-049-f-693"
     },
     "versionMetadata": "versionMetadata---docs-0-91-07-a-7-4f4"
   },
-  "/docs/0.91.0/extend-setup-1de": {
+  "/docs/0.91.0/community-contribute-57e": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-community-contributebf-4-3d1"
+  },
+  "/docs/0.91.0/community-get-help-884": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-community-get-helpf-7-f-759"
+  },
+  "/docs/0.91.0/concepts-adapter-d3c": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-concepts-adapter-5-f-9-50c"
+  },
+  "/docs/0.91.0/concepts-data-streams-5f3": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-concepts-data-streams-1-e-3-a74"
+  },
+  "/docs/0.91.0/concepts-glossary-da9": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-concepts-glossary-894-de1"
+  },
+  "/docs/0.91.0/concepts-overview-a10": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-concepts-overview-5-a-2-093"
+  },
+  "/docs/0.91.0/concepts-pipelines-6bf": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-concepts-pipelines-79-a-0b0"
+  },
+  "/docs/0.91.0/debugging-debugging-a08": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-debugging-debugging-667-df7"
+  },
+  "/docs/0.91.0/debugging-monitoring-d2c": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-debugging-monitoringc-97-22f"
+  },
+  "/docs/0.91.0/deploy-docker-315": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-deploy-docker-961-358"
+  },
+  "/docs/0.91.0/deploy-kubernetes-ec0": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-deploy-kubernetes-8-e-3-9d1"
+  },
+  "/docs/0.91.0/deploy-security-72d": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-deploy-securitybda-d51"
+  },
+  "/docs/0.91.0/deploy-use-ssl-0c5": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-deploy-use-ssl-3-fc-775"
+  },
+  "/docs/0.91.0/dev-guide-archetype-1e8": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-dev-guide-archetype-159-a78"
+  },
+  "/docs/0.91.0/dev-guide-sdk-guide-processors-4f5": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-dev-guide-sdk-guide-processors-32-b-34c"
+  },
+  "/docs/0.91.0/dev-guide-sdk-guide-sinks-698": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-dev-guide-sdk-guide-sinks-5-b-6-207"
+  },
+  "/docs/0.91.0/extend-archetypes-fe5": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-extend-archetypes-79-c-a95"
+  },
+  "/docs/0.91.0/extend-cli-ebe": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-extend-cli-235-488"
+  },
+  "/docs/0.91.0/extend-first-processor-77c": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-extend-first-processora-50-361"
+  },
+  "/docs/0.91.0/extend-sdk-event-model-983": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-extend-sdk-event-modele-87-c56"
+  },
+  "/docs/0.91.0/extend-sdk-functions-899": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-extend-sdk-functionsf-95-66a"
+  },
+  "/docs/0.91.0/extend-sdk-migration-service-discovery-6d8": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-extend-sdk-migration-service-discovery-070-870"
+  },
+  "/docs/0.91.0/extend-sdk-output-strategies-a4f": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-extend-sdk-output-strategiesf-88-863"
+  },
+  "/docs/0.91.0/extend-sdk-static-properties-157": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-extend-sdk-static-properties-3-e-4-6c9"
+  },
+  "/docs/0.91.0/extend-sdk-stream-requirements-6c8": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-extend-sdk-stream-requirementsef-3-150"
+  },
+  "/docs/0.91.0/extend-setup-0bf": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-extend-setup-223-978"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt-afe": {
+  "/docs/0.91.0/extend-tutorial-data-processors-2b8": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-extend-tutorial-data-processorsf-46-c6d"
+  },
+  "/docs/0.91.0/extend-tutorial-data-sinks-927": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-extend-tutorial-data-sinksfde-20d"
+  },
+  "/docs/0.91.0/extend-tutorial-data-sources-4cd": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-extend-tutorial-data-sourcesf-9-c-cdb"
+  },
+  "/docs/0.91.0/faq-common-problems-d4e": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-faq-common-problemsc-91-e1f"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.coindesk-d7f": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-coindeskab-8-343"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt-cb9": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-flic-mqtt-612-b73"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.opcua-90b": {
+  "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.gdelt-fc9": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-gdelte-91-ff9"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iex.news-8aa": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-iex-newse-79-126"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iex.stocks-0e9": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-iex-stocksd-77-9c7"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.image.set-f67": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-image-set-51-f-68e"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.image.stream-986": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-image-streama-65-d7f"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.set-fb7": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-influxdb-setd-65-016"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream-971": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-influxdb-streamb-34-edd"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.iss-b6f": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-iss-348-7b9"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.set-48b": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-mysql-set-81-c-cc8"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.stream-519": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-mysql-stream-78-b-ad1"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt-4ba": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-netio-mqttf-7-a-7a5"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.netio.rest-2af": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-netio-rest-0-fd-8b0"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera-224": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-nswaustralia-trafficcamera-1-ec-037"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.opcua-616": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-opcua-3-e-1-5cd"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus-5d9": {
+  "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus-d25": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-modbusd-80-6da"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.machine-416": {
+  "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7-830": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-plc-4-x-s-75-d-7-3d6"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.ros-417": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-rosd-34-cb5"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.machine-a22": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-simulator-machine-331-966"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver-790": {
+  "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset-3e3": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-simulator-randomdataset-35-c-28c"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream-a2d": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-simulator-randomdatastreameab-7a2"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.slack-8b8": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-slack-71-e-80e"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.ti-c11": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-tie-5-e-b07"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit-0b1": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-wikipedia-edit-13-e-4f0"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new-852": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-connect-adapters-wikipedia-new-0-d-1-dd0"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.file-5d3": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-file-8-e-0-263"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.http-a24": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-httpade-0e2"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver-150": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-httpserver-28-d-ec4"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding-b13": {
+  "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.kafka-e97": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-kafkaea-2-4b1"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt-d43": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-mqttb-21-7ed"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar-396": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-connect-protocol-stream-pulsar-5-da-7b6"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.flink-3bf": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processor-geo-flink-664-423"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding-f92": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processor-geo-jvm-geocodingc-37-f82"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding-2d8": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding-cd2": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processor-geo-jvm-reversegeocoding-76-e-4c0"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding-450": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding-eb0": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processor-geo-jvm-staticgeocoding-7-a-8-edb"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification-28d": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification-544": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processor-imageclassification-jvm-generic-image-classificationc-5-a-2ed"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher-f9d": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper-8a6": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-cropper-619-013"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher-d43": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processor-imageclassification-jvm-image-enricheree-2-51e"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.qrcode-39b": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processor.imageclassification.qrcode-bb7": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processor-imageclassification-qrcode-350-6ae"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation-dd6": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation-dfa": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-aggregation-flink-aggregationf-6-e-5fc"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.count-e2d": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.count-a88": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-aggregation-flink-count-159-970"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount-7b1": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount-93b": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-aggregation-flink-eventcount-8-d-7-12c"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.rate-7c9": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.aggregation.flink.rate-39e": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-aggregation-flink-ratef-04-184"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum-794": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum-4ed": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-changedetection-jvm-cusum-7-f-6-0c4"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.limit-673": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop-2fd": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-enricher-flink-processor-math-mathop-4-a-9-e75"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop-69f": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-enricher-flink-processor-math-staticmathopbe-3-6a7"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry-8cd": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-enricher-flink-processor-trigonometry-0-ec-0af"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing-667": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-enricher-flink-processor-urldereferencing-686-dbb"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp-c19": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-enricher-flink-timestamp-6-cd-626"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure-bc4": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-enricher-jvm-sizemeasureafe-401"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.compose-243": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-composed-53-366"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.enrich-b89": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-enriche-2-e-2e9"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.limit-6b6": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-limit-26-d-382"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.merge-405": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.merge-534": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-merge-7-d-1-dde"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator-052": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter-c7d": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-numericalfilter-8-c-0-8c3"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter-cd7": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-numericaltextfilter-161-e75"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.project-aac": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-project-87-c-126"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter-57b": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-textfiltercd-9-36c"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.filters.jvm.threshold-340": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-filters-jvm-thresholdd-28-395"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo-8d7": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-lat-lng-to-geo-81-e-81f"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG-420": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-set-epsg-2-d-2-38f"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory-7bd": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-jts-processor-trajectory-93-c-d13"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator-70c": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-processor-distancecalculator-422-533"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator-ac8": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed-2f7": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-processor-speedf-01-55b"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator-424": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-geo-jvm-processor-staticdistancecalculatorad-5-5a7"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence-889": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence-502": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-pattern-detection-flink-absence-84-f-b62"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and-054": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and-9b9": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-pattern-detection-flink-and-173-06c"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection-9a7": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection-32d": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-pattern-detection-flink-peak-detectionf-2-f-1b1"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence-035": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence-a0a": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-pattern-detection-flink-sequence-6-f-9-014"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.frequency-440": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.frequency-9dd": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-siddhi-frequency-91-b-d51"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.frequencychange-591": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.frequencychange-9d7": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-siddhi-frequencychangebf-9-deb"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.increase-b09": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.increase-b19": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-siddhi-increase-5-d-9-ca7"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter-055": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter-537": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-siddhi-numericalfilterf-28-de0"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.stop-6c0": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.sequence-80d": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-siddhi-sequence-449-20e"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.siddhi.stop-c53": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-siddhi-stop-04-e-791"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection-576": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary-3dd": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-statistics-flink-statistics-summaryf-67-be4"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection-226": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-textmining-flink-languagedetectiona-2-e-168"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount-3a3": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount-956": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-textmining-flink-wordcountb-8-f-b86"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter-933": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker-0fe": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-chunker-1-a-5-bc3"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection-9c8": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-languagedetectione-2-d-637"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder-8ae": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-namefinder-160-30a"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech-daa": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-partofspeechd-81-bae"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection-41b": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-sentencedetectionbaa-776"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer-c34": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-textmining-jvm-tokenizeraf-1-b89"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter-62b": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-field-converter-96-b-b2a"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer-c52": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper-061": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-field-mapper-34-f-ac1"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer-cc3": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-field-renamer-6-b-6-8da"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher-1f2": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher-ccd": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-fieldhasher-070-6d4"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter-027": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter-02b": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-measurement-unit-converterad-7-a4e"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter-fac": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate-55b": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-flink-processor-boilerplateef-0-6f4"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter-67d": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-counter-1-da-2e9"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge-783": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter-a64": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-inverterac-2-69a"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping-558": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timekeeping-3-e-6-02a"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer-9a2": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-booloperator-timerd-3-e-894"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value-969": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-changed-value-5-a-4-b1c"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array-e9e": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-count-array-411-138"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata-083": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-csvmetadatae-9-a-a8d"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value-e6c": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-duration-valuee-74-94e"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge-45f": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-edge-05-d-678"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state-9e2": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state-b12": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-booloperator-state-0-ce-821"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer-e85": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer-70c": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-buffer-550-e58"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer-c90": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer-d2c": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-bufferf-66-3b2"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number-8b5": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number-0f7": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-state-labeler-number-615-7ff"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state-70b": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state-7d6": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-stringoperator-state-27-c-4a6"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array-a4b": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor-ecd": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-processor-timestampextractor-1-e-6-07f"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array-cce": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-split-array-0-fb-f0b"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer-8da": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter-148": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-counter-24-d-feb"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer-2a7": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-stringoperator-timerd-49-e76"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats-9e7": {
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration-591": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-taskduration-526-c8d"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean-36b": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-processors-transformation-jvm-transform-to-boolean-700-b1c"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.protocol.set.file-635": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-protocol-set-fileaa-2-927"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.protocol.set.http-91c": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-protocol-set-http-886-096"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest-b83": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-bufferrest-168-56c"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms-5ec": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-jms-7-e-6-2d0"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka-257": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-kafka-19-f-758"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt-050": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-mqtt-5-ad-e18"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats-59a": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-nats-870-013"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq-d9f": {
+  "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar-6c2": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-pulsar-629-c5b"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq-807": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-rabbitmq-599-c08"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.ditto-6e3": {
+  "/docs/0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest-f72": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-sinks-brokers-jvm-rest-663-898"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.ditto-e1e": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-sinks-databases-ditto-18-c-723"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql-4c3": {
+  "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch-007": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-sinks-databases-flink-elasticsearchb-0-c-ca8"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb-80e": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-couchdbe-86-dbc"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb-15c": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-influxdb-997-304"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb-6ad": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-iotdbddf-401"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql-585": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-mysqled-2-63a"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.notification-c89": {
+  "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua-6ea": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-opcua-4-db-867"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql-7ba": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-sinks-databases-jvm-postgresql-6-e-4-81b"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard-be4": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-sinks-internal-jvm-dashboarde-40-2f3"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake-5de": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-sinks-internal-jvm-datalake-821-74f"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.notification-eb7": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-sinks-internal-jvm-notification-192-605"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal-084": {
+  "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.email-126": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-pe-org-apache-streampipes-sinks-notifications-jvm-emailb-4-f-f6a"
+  },
+  "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal-458": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-sinks-notifications-jvm-onesignal-044-4f0"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack-080": {
+  "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack-544": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-sinks-notifications-jvm-slack-378-d42"
   },
-  "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram-1ce": {
+  "/docs/0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram-516": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-pe-org-apache-streampipes-sinks-notifications-jvm-telegrambba-d01"
   },
@@ -6695,10 +2465,66 @@
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-privacyb-3-c-43c"
   },
-  "/docs/0.91.0/try-installation-3a8": {
+  "/docs/0.91.0/technicals-architecture-38d": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-technicals-architecture-015-325"
+  },
+  "/docs/0.91.0/technicals-configuration-edf": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-technicals-configuration-8-d-3-873"
+  },
+  "/docs/0.91.0/technicals-messaging-17c": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-technicals-messagingd-22-cf1"
+  },
+  "/docs/0.91.0/technicals-runtime-wrappers-7eb": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-technicals-runtime-wrappersb-1-a-700"
+  },
+  "/docs/0.91.0/technicals-user-guidance-9f1": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-technicals-user-guidancecbb-9e4"
+  },
+  "/docs/0.91.0/try-installation-02e": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-try-installation-334-52f"
   },
+  "/docs/0.91.0/try-tutorial-096": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-try-tutorial-72-b-ea0"
+  },
+  "/docs/0.91.0/use-configurations-135": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-use-configurationsfca-1a9"
+  },
+  "/docs/0.91.0/use-connect-3f9": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-use-connect-274-870"
+  },
+  "/docs/0.91.0/use-dashboard-3c8": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-use-dashboardd-7-f-31a"
+  },
+  "/docs/0.91.0/use-data-explorer-d5d": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-use-data-explorer-956-905"
+  },
+  "/docs/0.91.0/use-install-pipeline-elements-16f": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-use-install-pipeline-elementsea-5-bcf"
+  },
+  "/docs/0.91.0/use-managing-pipelines-6fd": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-use-managing-pipelinesfd-8-835"
+  },
+  "/docs/0.91.0/use-notifications-b9a": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-use-notifications-2-b-1-2cc"
+  },
+  "/docs/0.91.0/use-pipeline-editor-c77": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-0-91-0-use-pipeline-editore-3-d-695"
+  },
   "/docs/0.91.0/user-guide-first-steps-054": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-user-guide-first-steps-767-bd5"
@@ -6707,7 +2533,7 @@
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-user-guide-installation-661-26f"
   },
-  "/docs/0.91.0/user-guide-introduction-b47": {
+  "/docs/0.91.0/user-guide-introduction-fbc": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-0-91-0-user-guide-introduction-83-d-9ff"
   },
@@ -6726,7 +2552,7 @@
   "/docs/next-738": {
     "__comp": "__comp---theme-doc-page-1-be-9be",
     "__context": {
-      "plugin": "plugin---docs-0-55-2-pre-asf-49-f-cdc"
+      "plugin": "plugin---docs-0-70-049-f-693"
     },
     "versionMetadata": "versionMetadata---docs-next-935-7db"
   },
@@ -7478,10 +3304,10 @@
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-next-user-guide-tour-3-e-9-bae"
   },
-  "/docs-c7e": {
+  "/docs-c40": {
     "__comp": "__comp---theme-doc-page-1-be-9be",
     "__context": {
-      "plugin": "plugin---docs-0-55-2-pre-asf-49-f-cdc"
+      "plugin": "plugin---docs-0-70-049-f-693"
     },
     "versionMetadata": "versionMetadata---docsd-01-630"
   },
@@ -7541,10 +3367,22 @@
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-deploy-use-ssl-2-e-1-e1e"
   },
+  "/docs/dev-guide-archetype-d1a": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-dev-guide-archetype-59-b-4b6"
+  },
   "/docs/dev-guide-introduction-3b8": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-dev-guide-introductiona-01-980"
   },
+  "/docs/dev-guide-sdk-guide-processors-2c5": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-dev-guide-sdk-guide-processors-7-d-3-91f"
+  },
+  "/docs/dev-guide-sdk-guide-sinks-547": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-dev-guide-sdk-guide-sinksd-78-075"
+  },
   "/docs/extend-archetypes-2de": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-extend-archetypesd-6-d-afc"
@@ -8073,6 +3911,10 @@
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-pe-org-apache-streampipes-sinks-brokers-jvm-kafkae-02-44a"
   },
+  "/docs/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt-f51": {
+    "__comp": "__comp---theme-doc-item-178-a40",
+    "content": "content---docs-pe-org-apache-streampipes-sinks-brokers-jvm-mqttd-33-e76"
+  },
   "/docs/pe/org.apache.streampipes.sinks.brokers.jvm.nats-bfb": {
     "__comp": "__comp---theme-doc-item-178-a40",
     "content": "content---docs-pe-org-apache-streampipes-sinks-brokers-jvm-nats-5-b-4-a76"
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-archetype.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-archetype.md
deleted file mode 100644
index 769d09b..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-archetype.md
+++ /dev/null
@@ -1,143 +0,0 @@
----
-id: dev-guide-archetype
-title: Start Developing
-sidebar_label: Start Developing
-original_id: dev-guide-archetype
----
-
-In this tutorial we explain how you can use the Maven archetypes to develop your own StreamPipes processors and sinks.
-We use IntelliJ in this tutorial, but it works with any IDE of your choice.
-
-## Prerequisites
-You need to have Maven installed, further you need an up and running StreamPipes installation on your development computer.
-To ease the configuration of environment variables, we use the IntelliJ [env Plugin](https://plugins.jetbrains.com/plugin/7861-envfile).
-Install this in IntelliJ. The development also works without the plugin, then you have to set the environment variables manually instead of using the env configuration file.
-
-## Create Project
-To create a new project, we provide multiple Maven Archteypes.
-Currently, we have archetypes for the JVM and Flink wrappers, each for processors and sinks.
-The commands required to create a new pipeline element project can be found below. Make sure that you select a version compatible with your StreamPipes installation.
-Copy the command into your terminal to create a new project.
-The project will be created in the current folder.
-First, the ``groupId`` of the resulting Maven artifact must be set.
-We use ``groupId``: ``org.example`` and ``artifactId``: ``ExampleProcessor``.
-You can keep the default values for the other settings, confirm them by hitting enter.
-Now, a new folder with the name ``ExampleProcessor`` is generated.
-
-
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-processors-jvm  \
-  -DarchetypeVersion=0.62.0
-```
-<details class="info">
-    <summary>Select: [Processors / Sinks] [JVM / Flink]</summary>
-
-## Processors JVM
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-processors-jvm  \
-  -DarchetypeVersion=0.62.0
-```
-
-## Processors Flink
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-processors-flink  \
-  -DarchetypeVersion=0.62.0
-```
-
-## Sinks JVM
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-sinks-jvm  \
-  -DarchetypeVersion=0.62.0
-```
-
-## Sinks Flink
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-sinks-flink  \
-  -DarchetypeVersion=0.62.0
-```
-</details>
-
-
-## Edit Processor
-Open the project in your IDE.
-If everything worked, the structure should look similar to the following image.
-The *config* package contains all the configuration parameters of your processors / sinks.
-In the *main* package, it is defined which processors / sinks you want to activate and the *pe.processor.example* package contains three classes with the application logic.
-For details, have a look at the other parts of the Developer Guide, where these classes are explained in more depth.
-
-<img src="/img/archetype/project_structure.png" width="30%" alt="Project Structure"/>
-
-Open the class *Example* and edit the ``onEvent`` method to print the incoming event, log it to the console and send it to the next component without changing it.
-
-```java
-@Override
-public void onEvent(Map<String, Object> in, String sourceInfo, SpOutputCollector out) {
-    // Print the incoming event on the console
-    System.out.println(in);
-
-    // Hand the incoming event to the output collector without changing it.
-    out.onEvent(in);
-}
-```
-
-## Start Processor
-Before the processor can be started, you need to edit the *env* file in the *development* folder.
-Replace all local hosts in this file with the IP address or DNS name of your computer.
-This is relevant to make the mapping between the services running in Docker and your component running in the local IDE.
-After all updates are updated, this file is used by the envfile plugin to provide configuration parameters to the pipeline element.
-Alternatively, environment variables can also be set on your host or IDE.
-Now start the project by clicking on **(Run -> Edit Configuration)**.
-Add a new configuration in the Configuration menu by clicking on the + sign and select **Application**.
-Name the configuration *ExampleProcessor* and select the *Init* class as the 'Main class'.
-Then set *ExampleProcessor* in 'Use classpath of module'.
-
-
-As the last step, switch to the tab *EnvFile* and load the env file.
-Click on 'Enable EnvFile' to activate it and add the just edited env file by clicking on the + sign.
-Save all the changes by clicking *Apply*.
-Now you can start the processor.
-
-<div class="my-carousel">
-    <img src="/img/archetype/run_configuration.png" alt="Configuration View"/>
-    <img src="/img/archetype/run_env_configuration.png" alt="Environment Configuration View"/>
-</div>
-
-To check if the service is up and running, open the browser on *'localhost:6666'*. The machine-readable escription of the processor should be visible as shown below.
-
-<img src="/img/archetype/endpoint.png" width="90%" alt="Project Structure"/>
-
-
-<div class="admonition error">
-<div class="admonition-title">Common Problems</div>
-<p>
-If the service description is not shown on 'localhost:6666', you might have to change the port address.
-This needs to be done in the configuration of your service, further explained in the configurations part of the developer guide.
-
-If the service does not show up in the StreamPipes installation menu, click on 'MANAGE ENDPOINTS' and add 'http://<span></span>YOUR_IP_OR_DNS_NAME:6666'.
-Use the IP or DNS name you provided in the env file.
-After adding the endpoint, a new processor with the name *Example* should show up.
-</p>
-</div>
-
-Now you can go to StreamPipes.
-Your new processor *'Example'* should now show up in the installation menu.
-Install it, then switch to the pipeline view and create a simple pipeline that makes use of your newly created processor.
-In case you opened the StreamPipes installation for the first time, it should have been automatically installed during the setup process.
-
-<img src="/img/archetype/example_pipeline.png" width="80%" alt="Project Structure"/>
-
-Start this pipeline.
-Now you should see logging messages in your console and, once you've created a visualisation, you can also see the resulting events of your component in StreamPipes.
-
-Congratulations, you have just created your first processor!
-From here on you can start experimenting and implement your own algorithms.
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-architecture.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-architecture.md
deleted file mode 100644
index d8db1ab..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-architecture.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-id: dev-guide-architecture
-title: Architecture
-sidebar_label: Architecture
-original_id: dev-guide-architecture
----
-
-The following picture illustrates the high-level architecture of StreamPipes:
-
-<img src="/img/architecture/high-level-architecture.png" alt="High Level Architecture of StreamPipes"/>
-
-Users mainly interact (besides other UI components) with the _Pipeline Editor_ to create stream processing pipelines based on data streams, data processors and data sinks.
-These reusable pipeline elements are provided by self-contained _pipeline element containers_, each of them having a semantic description that specifies their characteristics (e.g., input, output and required user input for data processors).
-Each pipeline element container has a REST endpoint that provides these characteristics as a JSON-LD document.
-
-Pipeline element containers are built using one of several provided _wrappers_.
-Wrappers abstract from the underlying runtime stream processing framework.
-Currently, the StreamPipes framework provides wrappers for Apache Flink, Esper and algorithms running directly on the JVM.
-
-The _pipeline manager_ manages the definition and execution of pipelines.
-When creating pipelines, the manager continuously matches the pipeline against its semantic description and provides user guidance in form of recommendations.
-Once a pipeline is started, the pipeline manager invokes the corresponding pipeline element containers.
-The container prepares the actual execution logic and submits the program to the underlying execution engine, e.g., the program is deployed in the Apache Flink cluster.
-
-Pipeline elements exchange data using one or more message brokers and protocols (e.g., Kafka or MQTT).
-StreamPipes does not rely on a specific broker or message format, but negotiates suitable brokers based on the capabilities of connected pipeline elements.
-
-Thus, StreamPipes provides a higher-level abstraction of existing stream processing technology by leveraging domain experts to create streaming analytics pipelines in a self-service manner.
-
-## Semantic description
-Pipeline elements in StreamPipes are meant to be resuable:
-
-* Data processors and data sink are generic (or domain-specific) elements that express their requirements and are able to operate on any stream that satisfies these requirements.
-* Data processors and data sinks can be manually configured by offering possible configuration parameters which users can individually define when creating pipelines.
-* Data streams can be connected to any data processor or data sink that matches the capabilities of the stream.
-
-When users create pipelines by connecting a data stream with a data processor (or further processors), the pipeline manager _matches_ the input stream of a data processor against its requirements.
-This matching is performed based on the _semantic description of each element.
-The semantic description (technically an RDF graph serialized as JSON-LD) can be best understood by seeing it as an envelope around a pipeline element.
-It only provides metadata information, while we don't rely on any RDF at runtime for exchanging events between pipeline elements.
-While RDF-based metadata ensures good understanding of stream capabilities, lightweight event formats at runtime (such as JSON or Thrift) ensure fast processing of events.
-
-Let's look at an example stream that produces a continuous stream of vehicle positions as illustrated below:
-
-<img src="/img/architecture/semantic-description-stream.png" alt="Semantic description of data streams"/>
-
-While the runtime layer produces plain JSON by submitting actual values of the position and the vehicle's plate number, the description layer describes various characteristics of the stream:
-For instance, it defines the event schema (including, besides the data type and the runtime name of each property also a more fine-grained meaning of the property), quality aspects (e.g., the measurement unit of a property or the frequency) and the grounding (e.g., the format used at runtime and the communication protocol used for transmitting events).
-
-The same accounts for data processors and data sinks:
-
-<img src="/img/architecture/semantic-description-processor.png" alt="Semantic description of data processor"/>
-
-Data processors (and, with some differences, data sinks) are annotated by providing metadata information on their required input and output.
-For instance, we can define minimum schema requirements (such as geospatial coordinates that need to be provided by any stream that is connected to a processor), but also required (minimum or maximum) quality levels and supported transport protocols and formats.
-In addition, required configuration parameters users can define during the pipeline definition process are provided by the semantic description.
-
-Once new pipeline elements are imported into StreamPipes, we store all information provided by the description layer in a central repository and use this information to guide useres through the pipeline definition process.
-
-Don't worry - you will never be required to model RDF by yourself.
-Our SDK provides convenience methods that help creating the description automatically.
-
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-configuration.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-configuration.md
deleted file mode 100644
index 31f7829..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-configuration.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-id: dev-guide-configuration
-title: Configuration
-sidebar_label: Configuration
-original_id: dev-guide-configuration
----
-
-On this page we explain how the StreamPipes configuration works.
-StreamPipes allows the individual services (pipeline element containers and third-party services) to store configuration parameters in a distributed key-value store.
-This has the advantage that individual services do not need to store any configurations on the local file system, enabling us to run containers anywhere.
-As a key-value store we use [Consul](https://www.consul.io/), which is an essential service for all our services.
-
-<img src="/img/configuration/consul.png" width="50%" alt="Semantic description of data processor"/>
-
-
-## Edit Configurations
-All services in StreamPipes can have configuration parameters.
-You can either change them in the consul user interface (which is by default running on port 8500) or directly in the StreamPipes Configurations Page.
-Once a new  pipeline element container is started, it is registered in Consul and the parameters can be edited in the configuration page, as shown below.
-To store changes in Consul, the update button must be clicked.
-
-<div class="my-carousel">
-    <img src="/img/configuration/configuration_1.png" alt="Configuration View"/>
-    <img src="/img/configuration/configuration_2.png" alt="Open Configuration View"/>
-</div>
-
-## Configuration for Developers
-We provide a Configurations API for the use of configuration parameters in your services.
-Each processing element project has a “config” package [[Example]](https://github.com/streampipes/streampipes-pipeline-elements/tree/dev/streampipes-sinks-internal-jvm/src/main/java/org/streampipes/sinks/internal/jvm/config).
-This package usually contains two classes.
-One containing unique keys for the configuration values and one containing the getter and setter methods to access these values.
-For the naming of configuration keys, we recommend to use “SP” as a prefix.
-As we explain later, it is possible to set default configurations as environment variables, this prefix makes them unique on your server.
-A configuration entry needs a unique config key. For this key, a value can be specified containing the configuration, like for example the port number of the service.
-For each configuration, a description explaining the parameter can be provided, further the data type must be specified and whether it is a password or not.
-Below, the schema of a configuration item is shown on the left and an example of a port configuration on the right.
-
-<img src="/img/configuration/config_key.png" width="80%" alt="Semantic description of data processor"/>
-
-As a developer, you can add as many new configurations to services as you wish, but there are some that are required for all processing element containers.
-Those are **the host**, **the port**, and **the name** of the service.
-
-## Default Values
-You can provide default values for the configurations, which are used when a configuration is read for the first time.
-The first option is to register a configuration parameter in the Config class.
-This is a fallback value, which is used if nothing else is defined.
-Since this value is static, we offer a second option.
-It is possible to provide a default value by setting an environment variable.
-In this case, the convention is that the key of a configuration parameter must be used as the environment variable.
-Now, this value is used instead of the value defined in the Config class.
-During development, the configuration values often need to be changed for debugging purposes, therefore we provide an .env file in all processing element projects and archetypes.
-This file can be used by your IDE to set the environment variables. (e.g., [Intellij Plugin](https://plugins.jetbrains.com/plugin/7861-envfile))
-When you need to change the variable at runtime, you can do this in the StreamPipes configurations as explained before.
-Those changes take effect immediately without the need of a container restart.
-
-<div class="admonition warning">
-<div class="admonition-title">Installed pipeline elements</div>
-<p>Be cautious, when the configuration is used in the semantic description of a processing element which is already installed in StreamPipes, you have to reload this element in StreamPipes (my elements -> reload).
-   In addition, changes might affect already running pipelines.</p>
-</div>
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-environment.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-environment.md
deleted file mode 100644
index 37f4202..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-environment.md
+++ /dev/null
@@ -1,219 +0,0 @@
----
-id: dev-guide-development-environment
-title: Development Environment
-sidebar_label: Development Environment
-original_id: dev-guide-development-environment
----
-
-In this section, we describe our recommended minimum setup for locally setting up a development instance of StreamPipes needed to develop, run and test new pipeline elements.
-
-## IDE & required dev tools
-StreamPipes does not have specific requirements on the IDE - so feel free to choose the IDE of your choice.
-The only requirements in terms of development tools are that you have Java 8 and Maven installed.
-
-## Docker-based local StreamPipes instance
-In order to quickly test developed pipeline elements without needing to install all services required by StreamPipes, we provide a lightweight docker-compose file for development purposes.
-If you have Docker installed on your development machine, simply run the following docker-compose file, which has been successfully tested on both Linux and Windows-based operating systems.
-
-### Docker-Compose File
-<details class="info">
-<summary>docker-compose.yml</summary>
-#### Docker Compose
-```yaml
-version: "2"
-services:
-  consul:
-    image: consul
-    environment:
-      - "CONSUL_LOCAL_CONFIG={'{\"disable_update_check\": true}'}"
-      - "CONSUL_BIND_INTERFACE=eth0"
-      - "CONSUL_HTTP_ADDR=0.0.0.0"
-    entrypoint:
-      - consul
-      - agent
-      - -server
-      - -bootstrap-expect=1
-      - -data-dir=/consul/data
-      - -node=consul-one
-      - -bind={'{{ GetInterfaceIP "eth0" }}'}
-      - -client=0.0.0.0
-      - -enable-script-checks=true
-      - -ui
-    volumes:
-      - ./config/consul:/consul/data
-    ports:
-      - "8500:8500"
-      - "8600:8600"
-    networks:
-      spnet:
-        ipv4_address: 172.30.0.9
-
-  zookeeper:
-    image: wurstmeister/zookeeper
-    ports:
-      - "2181:2181"
-    networks:
-      spnet:
-
-  kafka:
-    image: wurstmeister/kafka:0.10.0.1
-    ports:
-      - "9092:9092"
-    environment:
-      KAFKA_ADVERTISED_HOST_NAME: ###TODO ADD HOSTNAME HERE ###
-      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
-    volumes:
-      - /var/run/docker.sock:/var/run/docker.sock
-    networks:
-      spnet:
-
-  backend:
-    image: ipe-wim-gitlab.fzi.de:5000/streampipes/ce/backend:SNAPSHOT
-    depends_on:
-      - "consul"
-    ports:
-      - "8030:8030"
-    volumes:
-      - ./config:/root/.streampipes
-      - ./config/aduna:/root/.aduna
-    networks:
-      spnet:
-
-  activemq:
-    image: ipe-wim-gitlab.fzi.de:5000/streampipes/services/activemq
-    ports:
-      - "61616:61616"
-      - "61614:61614"
-      - "8161:8161"
-    networks:
-      spnet:
-
-  couchdb:
-    image: couchdb
-    ports:
-      - "5984:5984"
-    volumes:
-      - ./config/couchdb/data:/usr/local/var/lib/couchdb
-    networks:
-      spnet:
-
-  jobmanager:
-    image: ipe-wim-gitlab.fzi.de:5000/streampipes/services/flink
-    ports:
-      - "8081:8099"
-    command: jobmanager
-    networks:
-      spnet:
-
-  taskmanager:
-    image: ipe-wim-gitlab.fzi.de:5000/streampipes/services/flink
-    command: taskmanager
-    environment:
-      - FLINK_NUM_SLOTS=20
-    networks:
-      spnet:
-
-  nginx:
-    image: ipe-wim-gitlab.fzi.de:5000/streampipes/ui/dev
-    ports:
-      - "80:80"
-    depends_on:
-      - backend
-    networks:
-      spnet:
-
-networks:
-  spnet:
-    driver: bridge
-    ipam:
-     config:
-       - subnet: 172.30.0.0/16
-         gateway: 172.30.0.1
-```
-</details>
-
-Do not forget to replace the ##Add HOSTNAME## variable in the compose file with the hostname of your machine!
-
-## Starter projects
-
-Now, once you've started the development instance, you are ready to develop your very first pipeline element.
-Instead of starting from scratch, we recommend using either one of our sample projects as a starting point or one of our provided maven archetypes:
-
-### Sample projects
-
-We provide basic skeletons for defining data sources, data processors and data sinks in form of sample projects.
-These are available on Github as defined below. Just clone the project and change the corresponding groupId and artifactId as you like.
-
-*   templates-sources (https://github.com/streampipes/templates-sources)
-    This sample project can be used to connect new data streams with StreamPipes.
-
-*   templates-flink (https://github.com/streampipes/templates-flink)
-    This sample project can be used to define new data processors and data sinks for StreamPipes that are executed in an Apache Flink cluster.
-
-### Maven archetypes
-(coming soon)
-
-### Starting from scratch
-
-In order to develop a new pipeline element from scratch, you need to create a new Maven project and import the following dependencies:
-
-<details class="info">
-<summary>pom.xml</summary>
-```
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-container-standalone</artifactId>
-    <version>0.50.0</version>
-</dependency>
-
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-sdk</artifactId>
-    <version>0.50.0</version>
-</dependency>
-
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-vocabulary</artifactId>
-    <version>0.50.0</version>
-</dependency>
-
-<!-- This dependency needs to be imported if you plan to connect a new data stream with StreamPipes -->
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-sources</artifactId>
-    <version>0.50.0</version>
-</dependency>
-
-<!-- This dependency needs to be imported if you plan to develop a new data processor or data sink using the Apache Flink wrapper -->
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-wrapper-flink</artifactId>
-    <version>0.50.0</version>
-</dependency>
-
-<!-- This dependency needs to be imported if you plan to develop a new data processor or data sink which is running directly on the JVM -->
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-wrapper-standalone</artifactId>
-    <version>0.50.0</version>
-</dependency>
-```
-</details>
-
-The following three dependencies are mandatory:
-
-* `streampipes-container-standalone`, defines that we are going to create a new pipeline element where the description will be accessible through an embedded web server.
-* `streampipes-sdk` imports the SDK which provides many convencience functions to create new pipeline elements.
-* `streampipes-vocabulary` imports various RDF vocabularies which are used by the SDK to auto-generate the semantic description of pipeline elements.
-
-The following three dependencies might be optional depending on the pipeline element type you plan to create:
-
-*  `streampipes-sources` should be used in case you plan to connect a new data stream with StreamPipes.
-*  `streampipes-wrapper-flink` should be used in case you plan to connect a new data processor or data sink that uses Apache Flink for processing events at runtime.
-*  `streampipes-wrapper-standalone` should be used in case you plan to connect a new data processor or data sink that does not use an external processing engine. Events are directly processed in a single-host fashion.
-
-
-
-
-Finally, this dependency will provide abstract classes to define data sources and streams.
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-event-model.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-event-model.md
deleted file mode 100644
index 996ffdb..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-event-model.md
+++ /dev/null
@@ -1,142 +0,0 @@
----
-id: dev-guide-event-model
-title: "SDK Guide: Event Model"
-sidebar_label: Event Model
-original_id: dev-guide-event-model
----
-
-## Introduction
-
-The 0.61.0 release of StreamPipes introduces a new event model that replaces the ``Map`` representation of events at runtime. This guide explains the usage of the new event model to manipulate runtime events for data processors and data sink.
-
-## Reference
-
-This guide assumes that you are already familiar with the basic setup of [data processors](dev-guide-processor-sdk.md) and [data sinks](dev-guide-sink-sdk.md).
-
-### Property Selectors
-
-In most cases, fields that are subject to be transformed by pipeline elements are provided by the assigned ``MappingProperty`` (see the guide on [static properties](dev-guide-static-properties.md)).
-
-Mapping properties return a ``PropertySelector`` that identifies a field based on (i) the **streamIndex** and (ii) the runtime name of the field.
-Let's assume we have an event with the following structure:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "sensor1",
-    "running" : true,
-    "location" : {"latitude" : 34.4, "longitude" : -47},
-    "lastValues" : [45, 22, 21]
-}
-```
-
-In addition, we assume that a data processor exists (with one input node) that converts the temperature value (measured in degrees celsius) to a degree fahrenheit value.
-In this case, a mapping property (selected by the pipeline developer in the StreamPipes UI) would link to the ``temperature`` field of the event.
-
-The mapping property value will be the ``PropertySelector`` of the temperature value, which looks as follows:
-
-```
-s0::temperature
-```
-
-``s0`` identifies the stream (in this case, only one input streams exist, but as data processors might require more than one input stream, a stream identifier is required), while the appendix identifies the runtime name.
-
-Note: If you add a new field to an input event, you don't need to provide the selector, you can just assign the runtime name as defined by the [output strategy](dev-guide-output-strategies.md).
-
-### Reading Fields
-
-You can get a field from an event by providing the corresponding selector:
-
-```java
-
-@Override
-  public void onEvent(Event event, SpOutputCollector out) {
-
-  PrimitiveField temperatureField = event.getFieldBySelector(PROPERTY_SELECTOR).getAsPrimitive();
-  }
-
-```
-
-Similarly, if your mapping property links to a nested property, use
-
-```java
-
-@Override
-  public void onEvent(Event event, SpOutputCollector out) {
-
-  NestedField nestedField = event.getFieldBySelector(PROPERTY_SELECTOR).getAsNested();
-  }
-
-```
-
-and for a list-based field:
-
-```java
-
-@Override
-  public void onEvent(Event event, SpOutputCollector out) {
-
-  ListField listField = event.getFieldBySelector(PROPERTY_SELECTOR).getAsList();
-  }
-
-```
-
-### Parsing Fields
-
-#### Primitive Fields
-
-A ``PrimitiveField`` contains convenience methods to directly cast a field to the target datatype:
-
-```java
-
-// parse the value as a float datatype
-Float temperatureValue = event.getFieldBySelector(temperatureSelector).getAsPrimitive().getAsFloat();
-
-// or do the same with a double datatype
-Double temperatureValue = event.getFieldBySelector(temperatureSelector).getAsPrimitive().getAsDouble();
-
-// extracting a string
-String deviceId = event.getFieldBySelector(deviceIdSelector).getAsPrimitive().getAsString();
-
-// this also works for extracting fields from nested fields:
-Double latitude = event.getFieldBySelector(latitudeSelector).getAsPrimitive().getAsDouble();
-
-// extracting boolean values
-Boolean running = event.getFieldBySelector(runningSelector).getAsPrimitive().getAsBoolean();
-```
-
-In rare cases, you might want to receive a field directly based on the runtime name as follows:
-
-```java
-Double temperature = event.getFieldByRuntimeName("temperature").getAsPrimitive().getAsDouble();
-```
-
-#### List Fields
-
-Lists can also be retrieved by providing the corresponding selector and can automatically be parsed to a list of primitive datatypes:
-
-```java
-
-List<Integer> lastValues = event.getFieldBySelector(lastValueSelector).getAsList().parseAsSimpleType(Integer.class);
-
-```
-
-(coming soon: parsing complex lists)
-
-
-### Adding/Updating Fields
-
-Primitive fields can easily be added to an event by providing the runtime name and the object:
-
-```java
-
-    // add a primitive field with runtime name "city" and value "Karlsruhe"
-    event.addField("city", "Karlsruhe");
-
-    // remove the field "temperature" from the event
-    event.removeFieldBySelector(temperatureSelector);
-
-    // add a new field
-    event.addField("fahrenheit", 48);
-```
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-introduction.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-introduction.md
deleted file mode 100644
index 1a13290..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-introduction.md
+++ /dev/null
@@ -1,53 +0,0 @@
----
-id: dev-guide-introduction
-title: Introduction
-sidebar_label: Introduction
-original_id: dev-guide-introduction
----
-
-StreamPipes is an open platform which can be easily extended at runtime by adding new data streams, data processors and data sinks.
-When developing new components, usually multiple elements, called _pipeline elements_, are bundled into a self-contained _pipeline element container_. This container is deployed as a standalone microservice. This service is self-descriptive and exposes its description (see below for a detailed explanation) to the StreamPipes management backend. Once the service is deployed, it can be installed using the StreamPipes UI and all elements provided by this service are ready to be used as part of new pipelines.
-
-To ease the extension of StreamPipes, we provide a powerful Software Development Kit (SDK) that allows you to define new pipeline elements for your StreamPipes instance.
-
-## Concepts
-
-In this section, we briefly describe the main concepts of StreamPipes. Although it might give an abstract overview, we are sure that many concepts will be more clear once you've created your very first pipeline element yourself. So check out our tutorials!
-
-### Data Stream
-
-A _Data Stream_ is the main concept to describe the source of a pipeline. _DataStreams_ consist of
-an RDF _description_ (which will be generated automatically when using the SDK) and a runtime
-_implementation_. The description includes information on the _schema_ of a data stream, e.g., measurement properties the payload of a stream provides.
-Furthermore, the description contains information on the _grounding_, such as the transport format (e.g., JSON) and transport protoocol (e.g., MQTT or Kafka).
-One or more data streams are assigned to a _Data Source_ to improve discovery of existing streams.
-
-### Data Processor
-_Data Processors_ transform on or more input event streams to an output event stream. Data processors can be stateless (e.g., filter operations on every event of an input stream) or stateful (e.g., time-based aggregations using sliding windows).
-Similar to data streams, processors consist of an RDF _description_ and a corresponding _implementation_. The description is being used by the StreamPipes backend in order to determine the compatibility of a data processor and an input event stream and includes information the required minimum event schema as well as required user input and the definition of the output event stream.
-
-The implementation of a data processor can be defined using a set of provided _runtime wrappers_. These wrappers define where computation logic actually takes place once a pipeline was started. We currently provide runtime wrappers for various Big Data processing engines (e.g., Apache Flink) and lightweight standalone processors.
-
-### Data Sink
-The concept of _Data Sinks_ is very similar to the concept of data processors with the exception that sinks do not produce any output streams.
-Therefore, sinks are used in StreamPipes to mark the end of a pipeline and reflect 3rd party applications, notifications or dashboard components.
-
-### Static Property
-Some data processors or data sinks might require input from users when pipelines are created using these elements.
-For instance, a generic filter component might require information on the filter operation and a threshold value.
-Such required user input can be modeled by defining _static properties_. Static properties can be defined in many ways, e.g., plain text input, selections (e.g., radio buttons) or can be linked to separately stored domain knowledge.
-The SDK contains many convenient functions that help you defining static properties.
-
-### Output Strategy
-As mentioned above, data processors also define the output event schema. However, as data processors in StreamPipes are often generic and can therefore be linked to any event stream that matches the input requirement of a data processor, the exact output schema is not known in the development phase when a data processor is defined.
-Therefore, data processors define their output using _output strategies_. Such strategies describe the transformation process, i.e., how an input stream is transformed to an output stream.
-Multiple pre-defined output strategies exist that you can choose depending on the behaviour of a data processor.
-For instance, the output schema of a filter component is usually similar to the input schema, so you would use a _KeepOutputStrategy_.
-On the other hand, an enrichment component usually adds additional properties to an input schema - this can be defined using a _AppendOutputStrategy_.
-Sometimes you want to let the user define the output schema. In this case, a _CustomOutputStrategy_ can be defined.
-
-## Clients
-
-As stated in the beginning, pipeline element containers are deployed as self-contained microservices. The client types describes the environment this service is running in.
-Currently supported clients are _standalone_, which defines a standalone service that contains both the description and implementation part (which is often submitted to a computing cluster prior to pipeline execution) in addition to an embedded Jetty web server which creates a fat jar file, and _embedded_, which creates a war file that can be imported into an existing application server.
-
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-migration.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-migration.md
deleted file mode 100644
index 8ae2e41..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-migration.md
+++ /dev/null
@@ -1,193 +0,0 @@
----
-id: dev-guide-migration
-title: Migration Guide v0.61
-sidebar_label: Migration Guide
-original_id: dev-guide-migration
----
-
-Version 0.61.0 of StreamPipes comes with an improved event model. This model makes it easier to support more complex data streams (e.g., streams containing nested properties and lists) and includes features such as automatically resolving conflicts when merging two event streams.
-
-If you are only using the pipeline elements that are included in StreamPipes, you only need to update the element description (My Elements -> Update).
-However, if you've already developed your own pipeline elements, some code changes are required to make your elements work with versions >= 0.61.0.
-
-<div class="admonition info">
-<div class="admonition-title">Don't be afraid!</div>
-<p>Although this guide may look long and complicated, migrating pipeline elements is quite simple. Once you've understood how the new event model works, you'll be able to migrate an element within just a few minutes.</p>
-</div>
-
-## Migrating Data Processors
-
-### JVM Wrapper
-
-#### Engine Class
-
-1. Make the class **implement** ``EventProcessor`` instead of **extending** ``StandaloneEventProcessorEngine``
-
-```java
-// old
-public class MyProcessor extends StandaloneEventProcessorEngine<MyProcessorParameters> { ... }
-
-// new
-public class MyProcessor implements EventProcessor<MyProcessorParameters>{ ... }
-```
-
-2. Change the signature of the ``onInvocation`` method:
-
-```java
-// old
-  @Override
-  public void onInvocation(MyProcessorParameters params, DataProcessorInvocation dataProcessorInvocation) {
-
-  }
-
-// new
-  @Override
-  public void onInvocation(MyProcessorParameters params, SpOutputCollector spOutputCollector, EventProcessorRuntimeContext runtimeContext) throws SpRuntimeException {
-
-  }
-```
-
-3. Change the signature of the ``onEvent`` method:
-
-```java
-// old
-  @Override
-  public void onEvent(Map<String, Object> in, String s, SpOutputCollector out) {
-
-  }
-
-// new
-  @Override
-  public void onEvent(Event in, SpOutputCollector out) throws SpRuntimeException {
-
-  }
-```
-
-4. Refactor the ``onEvent``method to the new event model:
-
-* Replace all ``collector.onEvent()`` calls to the collector with ``collector.collect()``
-* Replace all fields that are accessed from a **MappingProperty** with the new **FieldSelector** from the Event class, e.g.:
-
-```java
-// old
-  @Override
-  public void onEvent(Map<String, Object> in, String s, SpOutputCollector out) {
-     String value = String.valueOf(in.get(valueField));
-  }
-
-// new
-  @Override
-  public void onEvent(Event in, SpOutputCollector out) throws SpRuntimeException {
-    String value = in.getFieldBySelector(valueField).getAsPrimitive().getAsString();
-  }
-```
-
-See the documentation on the event class for further details.
-
-5. Forward an ``Event`` instead of a ``Map`` to the collector. If needed, create a new instance of the ``Event`` class.
-
-6. Modify the modifications of the input event, e.g.:
-
-```java
-// old
-  @Override
-  public void onEvent(Map<String, Object> in, String s, SpOutputCollector out) {
-     in.put("new", "a new field");
-     out.onEvent(in);
-  }
-
-// new
-  @Override
-  public void onEvent(Event in, SpOutputCollector out) throws SpRuntimeException {
-    in.addField("new", "a new field");
-    out.collect(in);
-  }
-```
-
-#### Controller
-
-1. In the ``onInvocation`` method, use a method reference instead of the lambda expression as return type:
-
-```java
-// old
-return new ConfiguredEventProcessor<>(params, () -> new MyProcessor(params));
-
-// new
-return new ConfiguredEventProcessor<>(params, MyProcessor::new);
-```
-
-2. Change the signature of the ``onInvocation`` method:
-
-```java
-// old
-  @Override
-  public ConfiguredEventProcessor<MyParameters> onInvocation(DataProcessorInvocation graph) { ... }
-
-// new
-  @Override
-  public ConfiguredEventProcessor<MyParameters> onInvocation(DataProcessorInvocation graph, ProcessingElementParameterExtractor extractor) { ... }
-```
-
-3. If existing, remove the ``fromExtractor`` method and use the provided ``ProcessingElementParameterExtractor``
-
-
-### Flink Wrapper
-
-
-## Migrating Data Sinks
-
-### JVM Wrapper
-
-#### Sink Class
-
-1. Make the class **implement** ``EventSink`` instead of **extending** ``EventSink``
-
-```java
-// old
-public class MySink extends EventSink<MySinkParameters> { ... }
-
-// new
-public class MySink implements EventSink<MySinkParameters>{ ... }
-```
-
-2. If present, remove the constructor that includes the parameter class.
-
-3. Change the ``bind`` method to ``onInvocation`` as follows:
-
-```java
-// old
-  @Override
-  public void bind(DemonstratorValveParameters parameters) throws SpRuntimeException { ... }
-
-// new
-  @Override
-  public void onInvocation(DemonstratorValveParameters parameters, EventSinkRuntimeContext runtimeContext) throws SpRuntimeException { ... }
-```
-
-4. Change the signature of the ``onEvent`` method
-
-```java
-// old
-  @Override
-  public void onEvent(Map<String, Object> event, String sourceInfo) {
-
-// new
-  @Override
-  public void onEvent(Event event) {
-```
-
-5. If necessary, adapt your logic to use the new event object.
-
-6. Rename the ``discard`` method to ``onDetach``.
-
-#### Controller
-
-1. In the ``onInvocation`` method, use a method reference instead of the lambda expression as return type:
-
-```java
-// old
-return new ConfiguredEventSink<>(params, () -> new MySink(params));
-
-// new
-return new ConfiguredEventSink<>(params, MySink::new);
-```
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-output-strategies.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-output-strategies.md
deleted file mode 100644
index 0e53860..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-output-strategies.md
+++ /dev/null
@@ -1,347 +0,0 @@
----
-id: dev-guide-output-strategies
-title: "SDK Guide: Output Strategies"
-sidebar_label: Output Strategies
-original_id: dev-guide-output-strategies
----
-
-## Introduction
-In StreamPipes, output strategies determine the output of a data processor.
-As the exact input schema of a processor is usually not yet known at development time (as processors can be connected with any stream that matches their requirements), output strategies are a concept to define how an input data stream is transformed to an output data stream.
-
-The following reference describes how output strategies can be defined using the SDK.
-
-<div class="admonition tip">
-<div class="admonition-title">Code on Github</div>
-<p>For all examples, the code can be found on <a href="https://www.github.com/streampipes/streampipes-pipeline-elements-examples/tree/dev/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/streampipes/pe/examples/jvm/outputstrategy/">Github</a>.</p>
-</div>
-
-## Reference
-
-The methods described below to create static properties are available in the ``ProcessingElementBuilder`` class and are usually used in the ``declareModel`` method of the controller class.
-
-As follows, we will use the following example event to explain how output strategies define the output of a data processor:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "1"
-
-}
-```
-
-### Keep Output
-
-A ``KeepOutputStrategy`` declares that the output event schema will be equal to the input event schema.
-In other terms, the processor does not change the schema, but might change the values of event properties.
-
-A keep output strategy can be defined as follows:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".keep", "Keep output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.anyProperty())
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // declaring a keep output strategy
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-
-```
-
-According to the example above, the expected output event schema of the example input event would be:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "1"
-
-}
-```
-
-Data processors that perform filter operations (e.g., filtering temperature values that are above a given threshold) are a common example for using keep output strategies.
-
-
-### Fixed Output
-
-A ``FixedOutputStrategy`` declares that the data processor itself provides the event schema. The output schema does not depend on the input event.
-
-Fixed output strategies need to provide the event schema they produce at development time:
-
-```java
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".fixed", "Fixed output example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.anyProperty())
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // the fixed output strategy provides the schema
-            .outputStrategy(OutputStrategies.fixed(EpProperties.timestampProperty("timestamp"),
-                    EpProperties.doubleEp(Labels.from("avg", "Average value", ""), "avg", SO.Number)))
-
-            .build();
-  }
-
-```
-
-In this example, we declare that the output schema always consists of two fields (``timestamp`` and ``avg``).
-
-Therefore, an output event should look like:
-
-```json
-{
-    "timestamp" : 1234556,
-    "avg" : 36.0
-}
-```
-
-
-### Append Output
-
-An ``AppendOutputStrategy`` appends additional fields to a schema of an incoming event stream. For instance, data processors that perform enrichment operations usually make use of append output strategies.
-
-Similar to the fixed output strategy, the additional fields must be provided at development time in the controller method as follows:
-
-```java
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".append", "Append output example", "")
-
-            // boilerplate code not relevant here, see above
-
-            // declaring an append output
-            .outputStrategy(OutputStrategies.append(EpProperties.integerEp(Labels.from("avg",
-                    "The average value", ""), "avg", SO.Number)))
-
-            .build();
-  }
-```
-
-In this case, the output event would have an additional field ``avg``:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "1",
-    "avg" : 123.0
-
-}
-```
-
-### Custom Output
-
-In some cases, pipeline developers using the StreamPipes UI should be able to manually select fields from an input event schema. For such use cases, a ``CustomOutputStrategy`` can be used:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".custom", "Custom output example", "")
-
-            // boilerplate code not relevant here, see above
-
-            // declaring a custom output
-            .outputStrategy(OutputStrategies.custom())
-
-            .build();
-  }
-
-```
-
-If a data processor defines a custom output strategy, the customization dialog in the pipeline editor will show a dialog to let users select the fields to keep:
-
-<img src="/img/dev-guide-output-strategies/os-custom.png" width="80%" alt="Number Parameter"/>
-
-Taking our example, and assuming that the user selects both the ``timestamp`` and the ``temperature`` the expected output event should look like this:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0
-}
-```
-
-How do we know which fields were selected once the data processor is invoked? Use the proper method from the extractor in the ``onInvocation`` method:
-
-```java
-@Override
-  public ConfiguredEventProcessor<DummyParameters> onInvocation(DataProcessorInvocation graph, ProcessingElementParameterExtractor extractor) {
-
-    List<String> outputSelectors = extractor.outputKeySelectors();
-
-    return new ConfiguredEventProcessor<>(new DummyParameters(graph), DummyEngine::new);
-  }
-```
-
-### Transform Output
-
-A ``TransformOutputStrategy`` declares that one or more fields of an incoming event stream are transformed. Transformations can be applied to the datatype of the property, the runtime name of the property, or any other scheam-related declaration such as measurement units.
-
-#### Static Transform Operations
-
-Static transform operations do not depend on any user input (at pipeline development time) in order to know how to transform a field of an incoming event schema.
-
-Let's say our data processor transforms strings (that are actually a number) to a number datatype. In this case, we can use a static transform output strategy:
-
-```java
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".transform", "Transform output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.stringReq(), Labels.from
-                            ("str", "The date property as a string", ""), PropertyScope.NONE)
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // static transform operation
-            .outputStrategy(OutputStrategies.transform(TransformOperations
-                    .staticDatatypeTransformation("str", Datatypes.Long)))
-
-            .build();
-  }
-
-```
-
-Note the mapping property that we use to determine which field of the input event should be transformed.
-
-The expected output event would look like this:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : 1
-}
-```
-
-#### Dynamic Transform Operations
-
-Sometimes, user input depends on the exact transform output. Let's take a field renaming processor as an example, which lets the user rename a field from an input event schema to another field name.
-For such use cases, we can use a ``DynamicTransformOperation``:
-
-```java
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".transform", "Transform output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.stringReq(), Labels.from
-                            ("str", "The date property as a string", ""), PropertyScope.NONE)
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // the text input to enter the new runtime name
-            .requiredTextparameter(Labels.from("new-runtime-name", "New Runtime Name", ""))
-
-            // static transform operation
-            .outputStrategy(OutputStrategies.transform(TransformOperations
-                    .dynamicRuntimeNameTransformation("str", "new-runtime-name")))
-
-            .build();
-  }
-
-```
-
-For dynamic transform operations, an additional identifier that links to another static property can be assigned and later be fetched in the ``onInvocation`` method.
-
-Assuming we want to rename the field ``temperature`` to ``temp``, the resulting output event should look like this:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temp" : 37.0,
-    "deviceId" : 1
-}
-```
-
-### Custom Transform Output
-
-Finally, in some cases the output schema cannot be described at pipeline development time. For these (usually rare) cases, a ``CustomTransformOutput`` strategy can be used.
-
-In this case, a callback function will be invoked in the controller class just after a user has filled in any static properties and clicks on ``Save`` in the pipeline editor.
-
-To define a custom transform output, we need to implement an interface in the controller class:
-
-```java
-public class CustomTransformOutputController extends
-        StandaloneEventProcessingDeclarer<DummyParameters> implements
-        ResolvesContainerProvidedOutputStrategy<DataProcessorInvocation, ProcessingElementParameterExtractor> {
-
-
-@Override
-  public EventSchema resolveOutputStrategy(DataProcessorInvocation processingElement, ProcessingElementParameterExtractor parameterExtractor) throws SpRuntimeException {
-
-  }
-}
-```
-
-In addition, the output strategy must be declared in the ``declareModel`` method:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".customtransform", "Custom transform output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.stringReq(), Labels.from
-                            ("str", "The date property as a string", ""), PropertyScope.NONE)
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // declare a custom transform output
-            .outputStrategy(OutputStrategies.customTransformation())
-
-            .build();
-  }
-
-```
-
-Once a new pipeline using this data processor is created and the configuration is saved, the ``resolveOutputStrategy`` method will be called, so that an event schema can be provided based on the given configuration. An extractor instance (see the guide on static properties) is available to extract the selected static properties and the connected event stream.
-
-```java
-@Override
-  public EventSchema resolveOutputStrategy(DataProcessorInvocation processingElement, ProcessingElementParameterExtractor parameterExtractor) throws SpRuntimeException {
-    return new EventSchema(Arrays
-            .asList(EpProperties
-                    .stringEp(Labels.from("runtime", "I was added at runtime", ""), "runtime", SO.Text)));
-  }
-```
-
-In this example, the output event schema should look like this:
-
-```json
-{
-    "runtime" : "Hello world!"
-}
-```
-
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-processor-sdk.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-processor-sdk.md
deleted file mode 100644
index dd7d34e..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-processor-sdk.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-id: dev-guide-sdk-guide-processors
-title: SDK Guide Processors
-sidebar_label: SDK Guide Processors
-original_id: dev-guide-sdk-guide-processors
----
-
-## Project Setup
-(coming soon, please check the [tutorial](dev-guide-tutorial-processors.md) to learn how to define data processors)
-
-## SDK reference
-The complete SDK reference for defining data processors will follow soon. Please check the SDK's Javadoc for now!
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-sink-sdk.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-sink-sdk.md
deleted file mode 100644
index 4c7534c..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-sink-sdk.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-id: dev-guide-sdk-guide-sinks
-title: SDK Guide Sinks
-sidebar_label: SDK Guide Sinks
-original_id: dev-guide-sdk-guide-sinks
----
-
-## Project Setup
-(coming soon, please check the [tutorial](dev-guide-tutorial-processors.md) to learn how to define sinks)
-
-## SDK reference
-The complete SDK reference for defining data sinks will follow soon. Please check the SDK's Javadoc for now!
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-source-sdk.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-source-sdk.md
deleted file mode 100644
index f2802b7..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-source-sdk.md
+++ /dev/null
@@ -1,76 +0,0 @@
----
-id: dev-guide-sdk-guide-sources
-title: SDK Guide Sources
-sidebar_label: SDK Guide Sources
-original_id: dev-guide-sdk-guide-sources
----
-
-## Project Setup
-
-Open the IDE of your choice and create a new maven project. Add the following dependencies to your pom file:
-
-<details class="info">
-<summary>pom.xml</summary>
-```xml
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-container-standalone</artifactId>
-    <version>0.50.0</version>
-</dependency>
-
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-sdk</artifactId>
-    <version>0.50.0</version>
-</dependency>
-
-<!-- This dependency needs to be imported if you plan to connect a new data stream with StreamPipes -->
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-sources</artifactId>
-    <version>0.50.0</version>
-</dependency>
-```
-</details>
-
-Now you need to create three new classes:
-
-First, create a new class `MyStreamController` as follows:
-```java
-import org.streampipes.model.SpDataStream;
-import org.streampipes.model.graph.DataSourceDescription;
-import org.streampipes.sources.AbstractAlreadyExistingStream;
-
-public class MyStreamController extends AbstractAlreadyExistingStream {
-
-  @Override
-  public SpDataStream declareModel(DataSourceDescription sep) {
-
-  }
-}
-```
-Next, create a new class `MyStreamSource` as follows:
-
-```java
-import org.streampipes.container.declarer.EventStreamDeclarer;
-import org.streampipes.container.declarer.SemanticEventProducerDeclarer;
-import org.streampipes.model.graph.DataSourceDescription;
-
-import java.util.List;
-
-public class MyStreamSource implements SemanticEventProducerDeclarer {
-
-    @Override
-    public DataSourceDescription declareModel() {
-      return null;
-    }
-
-    @Override
-    public List<EventStreamDeclarer> getEventStreams() {
-        return null;
-    }
-}
-```
-
-## SDK Reference
-The complete SDK reference for defining data processors will follow soon. Please check the SDK's Javadoc for now!
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-ssl.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-ssl.md
deleted file mode 100644
index 7b73398..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-ssl.md
+++ /dev/null
@@ -1,36 +0,0 @@
----
-id: dev-guide-ssl
-title: Use SSL
-sidebar_label: Use SSL
-original_id: dev-guide-ssl
----
-
-In this tutorial we explain how you can use SSL Certificates to provide transport layer security between your Browser and the Streampipes Backend.
-
-## Prerequisites
-You need a valid Certificate consisting of a Private and a Public Key. Both Keys must be in PEM Format. Please note that your Private Key should never be shared, otherwise the communication can not be considered secure.
-
-## Edit docker-compose.yml
-In order to use SSL you have to open port 443 on the nginx Service. Incoming insecure Traffic on Port 80 will automatically be reroutet to Port 443.
-
-The Environment-Variable NGINX_SSL must be set to "true".
-
-Finally you have to inject the Certificates into the Docker-Container. In the example below, the Certificates are placed in the directory /etc/ssl/private/ on the host machine. Please change the path according to the place where the Certificates are located on your machine. The path after the colon should not be changed!
-```yaml
-[...]
-  nginx:
-    image: streampipes/ui
-    ports:
-      - "80:80"
-      - "443:443"
-    environment:
-      - NGINX_SSL=true
-    volumes:
-      - /etc/ssl/private/private.pem:/etc/nginx/ssl/ssl.pem
-      - /etc/ssl/private/public.pem:/etc/nginx/ssl/cert.pem
-    depends_on:
-      - backend
-    networks:
-      spnet:
-[...]
-```
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-static-properties.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-static-properties.md
deleted file mode 100644
index 1d736ef..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-static-properties.md
+++ /dev/null
@@ -1,265 +0,0 @@
----
-id: dev-guide-static-properties
-title: "SDK Guide: Static Properties"
-sidebar_label: Static Properties
-original_id: dev-guide-static-properties
----
-
-## Introduction
-Static properties represent user-faced parameters that are provided by pipeline developers.
-Processing elements can specify required static properties, which will render different UI views in the pipeline editor.
-
-The following reference describes how static properties can be defined using the SDK.
-
-<div class="admonition tip">
-<div class="admonition-title">Code on Github</div>
-<p>For all examples, the code can be found on <a href="https://github.com/streampipes/streampipes-pipeline-elements-examples/tree/dev/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/streampipes/pe/examples/jvm/staticproperty">Github</a>.</p>
-</div>
-
-## Reference
-
-The methods described below to create static properties are available in the ``ProcessingElementBuilder`` and ``DataSinkBuilder`` classes and are usually used in the ``declareModel`` method of the controller class.
-
-### Mapping property
-
-In StreamPipes, processing elements usually operate on fields of an event stream. For instance, a filter processor operates on a specific field from an input stream (e.g., a field measuring the temperature).
-Typically, pipeline developers should select the exact field where the operations is applied upon by themselves.
-As this field is not yet known at pipeline element development time (as it is defined by the pipeline developer in the pipeline editor), mapping properties serve to map a stream requirement to a specific field from the actual input event stream.
-
-### Unary mapping property
-
-A unary mapping property maps a stream requirement to an actual field of an event stream. Therefore, the ``StreamRequirementsBuilder`` provides the opportunity to directly add a mapping property based along with a property requirement:
-
-```java
-.requiredStream(StreamRequirementsBuilder.
-    create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.numberReq(),
-            Labels.from("mp-key", "My Mapping", ""),
-            PropertyScope.NONE)
-    .build())
-```
-
-This leads to a selection dialog in the pipeline element customization which provides the user with a selection of all event properties (fields) from the input stream that match the specified property requirement:
-
-<img src="/img/dev-guide-static-properties/sp-mapping-unary.png" width="80%" alt="Text"/>
-
-At invocation time, the value can be extracted in the ``onInvocation`` method as follows:
-
-```java
-// Extract the mapping property value
-String mappingPropertySelector = extractor.mappingPropertyValue("mp-key");
-```
-
-Note that this method returns a ``PropertySelector``, which can be used by the event model to extract the actual value of this field.
-
-### N-ary mapping property
-
-N-ary mapping properties work similar to unary mapping properties, but allow the mapping of one requirement to multiple event properties matching the requirement:
-
-```java
-.requiredStream(StreamRequirementsBuilder.
-    create()
-    .requiredPropertyWithNaryMapping(EpRequirements.numberReq(),
-            Labels.from("mp-key", "My Mapping", ""),
-            PropertyScope.NONE)
-    .build())
-```
-
-This renders the following selection, where users can select more than one matching event property:
-
-<img src="/img/dev-guide-static-properties/sp-mapping-nary.png" width="80%" alt="Text"/>
-
-The following snippet returns a list containing the property selectors of all event properties that have been selected:
-
-```java
-// Extract the mapping property value
-List<String> mappingPropertySelectors = extractor.mappingPropertyValues("mp-key");
-```
-
-### Free-Text Parameters
-
-A free-text parameter requires the pipeline developer to enter a single value - which can be a string or another primitive data type.
-The input of free-text parameters can be restricted to specific value ranges or can be linked to the value set of a connected input data stream.
-
-#### Text Parameters
-
-A text parameter lets the user enter a string value. The following code line in the controller class
-
-```java
-.requiredTextParameter(Labels.from(SP_KEY, "Example Name", "Example Description"))
-```
-
-leads to the following input dialog in the pipeline editor:
-
-<img src="/img/dev-guide-static-properties/sp-text-parameter.png" width="80%" alt="Text"/>
-
-Users can enter any value that will be converted to a string datatype. To receive the entered value in the ``onInvocation`` method, use the following method from the ``ParameterExtractor``
-
-```java
-String textParameter = extractor.singleValueParameter(SP_KEY, String.class);
-```
-
-#### Number parameters
-
-A number parameter lets the user enter a number value, either a floating-point number or an integer:
-
-```java
-// create an integer parameter
-.requiredIntegerParameter(Labels.from(SP_KEY, "Integer Parameter", "Example Description"))
-
-// create a float parameter
-.requiredFloatParameter(Labels.from("float-key", "Float Parameter", "Example Description"))
-
-```
-
-leads to the following input dialog in the pipeline editor only accepting integer values:
-
-<img src="/img/dev-guide-static-properties/sp-number-parameter.png" width="80%" alt="Number Parameter"/>
-
-The pipeline editor performs type validation and ensures that only numbers can be added by the user. To receive the entered value in the ``onInvocation`` method, use the following method from the ``ParameterExtractor``
-
-```java
-// Extract the integer parameter value
-Integer integerParameter = extractor.singleValueParameter(SP_KEY, Integer.class);
-
-// Extract the float parameter value
-Float floatParameter = extractor.singleValueParameter("float-key", Float.class);
-
-```
-
-#### Numbers with value specification
-
-You can also specify the value range of a number-based free text parameter:
-
-```java
-// create an integer parameter with value range
-.requiredIntegerParameter(Labels.from(SP_KEY, "Integer Parameter", "Example Description"), 0, 100, 1)
-
-```
-
-which renders the following input field:
-
-<img src="/img/dev-guide-static-properties/sp-number-parameter-with-range.png" width="80%" alt="Number Parameter"/>
-
-Receive the entered value in the same way as a standard number parameter.
-
-#### Free-text parameters linked to an event property
-
-
-### Single-Value Selections
-
-Single-value selections let the user select from a pre-defined list of options.
-A single-value selection requires to select exactly one option.
-
-```java
-.requiredSingleValueSelection(Labels.from("id", "Example Name", "Example Description"),
-    Options.from("Option A", "Option B", "Option C"))
-
-```
-
-Single-value selections will be rendered as a set of radio buttons in the pipeline editor:
-
-<img src="/img/dev-guide-static-properties/sp-single-selection.png" width="80%" alt="Number Parameter"/>
-
-To extract the selected value, use the following method from the parameter extractor:
-
-```java
-// Extract the selected value
-String selectedSingleValue = extractor.selectedSingleValue("id", String.class);
-```
-
-<div class="admonition tip">
-<div class="admonition-title">Declaring options</div>
-<p>Sometimes, you may want to use an internal name that differs from the display name of an option.
-For that, you can use the method Options.from(Tuple2{'<'}String, String{'>'}) and the extractor method selectedSingleValueInternalName.</p>
-</div>
-
-
-
-### Multi-Value Selections
-
-Multi-value selections let the user select from a pre-defined list of options, where multiple or no option might be selected.
-
-```java
-.requiredMultiValueSelection(Labels.from("id", "Example Name", "Example Description"),
-    Options.from("Option A", "Option B", "Option C"))
-
-```
-
-Multi-value selections will be rendered as a set of checkboxes in the pipeline editor:
-
-<img src="/img/dev-guide-static-properties/sp-multi-selection.png" width="80%" alt="Number Parameter"/>
-
-To extract the selected value, use the following method from the parameter extractor:
-
-```java
-// Extract the selected value
-List<String> selectedMultiValue = extractor.selectedMultiValues("id", String.class);
-```
-
-### Domain Concepts
-
-(coming soon...)
-
-### Collections
-
-You can also define collections based on other static properties.
-
-```java
-// create a collection parameter
-.requiredParameterAsCollection(Labels.from("collection", "Example Name", "Example " +
-        "Description"), StaticProperties.stringFreeTextProperty(Labels
-        .from("text-property","Text","")))
-```
-
-While the items of the collection can be provided in the same way as the underlying static property, the UI provides buttons to add and remove items to the collections.
-
-<img src="/img/dev-guide-static-properties/sp-collection.png" width="80%" alt="Number Parameter"/>
-
-To extract the selected values from the collection, use the following method from the parameter extractor:
-
-```java
-// Extract the text parameter value
-List<String> textParameters = extractor.singleValueParameterFromCollection("collection", String.class);
-```
-
-### Runtime-resolvable selections
-
-In some cases, the options of selection parameters are not static, but depend on other values or might change at runtime. In this case, you can use runtime-resolvable selections.
-
-First, let your controller class implement ``ResolvesContainerProvidedOptions``:
-
-```java
-public class RuntimeResolvableSingleValue extends
-     StandaloneEventProcessingDeclarer<DummyParameters> implements ResolvesContainerProvidedOptions { ... }
-```
-
-Next, define the parameter in the ``declareModel`` method:
-
-```java
-// create a single value selection parameter that is resolved at runtime
-    .requiredSingleValueSelectionFromContainer(Labels.from("id", "Example Name", "Example " +
-            "Description"))
-```
-
-Finally, implement the method ``resolveOptions``, which will be called at runtime once the processor is used:
-
-```java
-  @Override
-  public List<RuntimeOptions> resolveOptions(String requestId, EventProperty linkedEventProperty) {
-    return Arrays.asList(new RuntimeOptions("I was defined at runtime", ""));
-  }
-```
-
-The UI will render a single-value parameter based on the options provided at runtime:
-
-<img src="/img/dev-guide-static-properties/sp-single-selection-remote.png" width="80%" alt="Number Parameter"/>
-
-The parameter extraction does not differ from the extraction of static single-value parameters.
-
-<div class="admonition info">
-<div class="admonition-title">Multi-value selections</div>
-<p>Although this example shows the usage of runtime-resolvable selections using single value selections, the same also works for multi-value selections!</p>
-</div>
-
-
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-stream-requirements.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-stream-requirements.md
deleted file mode 100644
index 38c3518..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-stream-requirements.md
+++ /dev/null
@@ -1,179 +0,0 @@
----
-id: dev-guide-stream-requirements
-title: "SDK Guide: Stream Requirements"
-sidebar_label: Stream Requirements
-original_id: dev-guide-stream-requirements
----
-
-## Introduction
-
-Data processors and data sinks can define ``StreamRequirements``. Stream requirements allow pipeline elements to express requirements on an incoming event stream that are needed for the element to work properly.
-Once users create pipelines in the StreamPipes Pipeline Editor, these requirements are verified against the connected event stream.
-By using this feature, StreamPipes ensures that only pipeline elements can be connected that are syntactically and semantically valid.
-
-This guide covers the creation of stream requirements. Before reading this section, we recommend that you make yourself familiar with the SDK guide on [data processors](dev-guide-processor-sdk.md) and [data sinks](dev-guide-sink-sdk.md).
-
-<div class="admonition tip">
-<div class="admonition-title">Code on Github</div>
-<p>For all examples, the code can be found on <a href="https://www.github.com/streampipes/streampipes-pipeline-elements-examples/tree/dev/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/streampipes/pe/examples/jvm/requirements/">Github</a>.</p>
-</div>
-
-## The StreamRequirementsBuilder
-
-Stream requirements can be defined in the ``Controller`` class of the pipeline element. Start with a method body like this:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create(ID, PIPELINE_ELEMENT_NAME, DESCRIPTION)
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-
-                    .build())
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-The ``StreamRequirementsBuilder`` class provides methods to add stream requirements to a pipeline element.
-
-## Requirements on primitive fields
-
-As a very first example, let's assume we would like to create a data processor that filters numerical values that are above a given threshold.
-Consequently, any data stream that is connected to the filter processor needs to provide a numerical value.
-
-The stream requirement would be assigned as follows:
-
-```java
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create(ID, PIPELINE_ELEMENT_NAME, DESCRIPTION)
-            .requiredStream(StreamRequirementsBuilder
-                    .create()
-                    .requiredProperty(EpRequirements.numberReq())
-                    .build())
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-Note the line starting with ``requiredProperty``, which requires any stream to provide a datatype of type ``number``.
-
-In many cases, you'll want to let the user select a specific field from a data stream from all available fields that match the specified requirement. For that, you simply use the method ``requiredPropertyWithUnaryMapping`` as follows:
-
-```java
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create(ID, PIPELINE_ELEMENT_NAME, DESCRIPTION)
-            .requiredStream(StreamRequirementsBuilder
-                    .create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.numberReq(),
-                    Labels.from("number-mapping", "The value that should be filtered", ""), PropertyScope.NONE)
-                    .build())
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-See also the developer guide on [static properties](dev-guide-static-properties.md) to better understand the usage of ``MappingProperties``.
-
-Requirements on primitive fields can be specified for all common datatypes:
-
-```java
- @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.requirements" +
-            ".simple", "Simple requirements specification examples", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.numberReq()) // any number
-                    .requiredProperty(EpRequirements.doubleReq()) // any field of type double
-                    .requiredProperty(EpRequirements.booleanReq()) // any field of type boolean
-                    .requiredProperty(EpRequirements.integerReq()) // any field of type integer
-                    .requiredProperty(EpRequirements.stringReq()) // any field of type string
-
-                    .requiredProperty(EpRequirements.anyProperty()) // any field allowed (no restriction)
-                    .requiredProperty(EpRequirements.timestampReq())  // any timestamp field
-                    .build())
-
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-```
-
-### Specifying semantics
-
-For some algorithms, only specifying the datatype is not sufficient. Let's consider a geofencing algorithm that detects the precense some geospatial coordinate (e.g., from a vehicle) within a given location.
-
-You could specify something like this:
-
-```java
-    StreamRequirementsBuilder
-    .create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.doubleEp(), Labels.from("mapping-latitude", "Latitude", ""), PropertyScope.NONE)
-    .requiredPropertyWithUnaryMapping(EpRequirements.doubleEp(), Labels.from("mapping-longitude", "Longitude", ""), PropertyScope.NONE)
-    .build()
-```
-
-However, this would allow users to create strange pipelines as users could connect any stream containing a double value to our geofencing algorithm.
-To avoid such situations, you can also specify requirements based on the semantics of a field:
-
-```java
-    StreamRequirementsBuilder
-    .create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(SO.Latitude), Labels.from("mapping-latitude", "Latitude", ""), PropertyScope.NONE)
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(SO.Longitude), Labels.from("mapping-longitude", "Longitude", ""), PropertyScope.NONE)
-    .build()
-```
-
-Note that in this case, we make use of Schema.org's ``Latitude`` concept ([https://schema.org/latitude](https://schema.org/latitude)). StreamPipes already includes popular vocabularies for specifying semantics. You are also free to use your own vocabularies.
-
-
-## Requirements on lists
-
-Similarly to primitive requirements, you can define processors that require data streams with list fields, see the following examples:
-
-```java
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.requirements" +
-            ".list", "List requirements specification examples", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.Integer))
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.Double))
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.Boolean))
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.String))
-                    .build())
-
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-## Requirements on nested properties
-
-(coming soon, see the Javadoc for now)
-
-
-
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-tutorial-processors.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-tutorial-processors.md
deleted file mode 100644
index fc2c166..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-tutorial-processors.md
+++ /dev/null
@@ -1,478 +0,0 @@
----
-id: dev-guide-tutorial-processors
-title: "Tutorial: Data Processors"
-sidebar_label: "Tutorial: Data Processors"
-original_id: dev-guide-tutorial-processors
----
-
-In this tutorial, we will add a new data processor using the Apache Flink wrapper.
-
-From an architectural point of view, we will create a self-contained service that includes the description of the data processor and a Flink-compatible implementation.
-Once a pipeline is started that uses this data processor, the implementation is submitted to an Apache Flink cluster.
-
-If this is the first time you are extending StreamPipes, we recommend doing the [data source tutorial](dev-guide-tutorial-sources.md) first.
-
-## Objective
-
-We are going to create a new data processor that realized a simple geofencing algorithm - we detect vehicles that enter a specified radius around a user-defined location.
-This pipeline element will be a generic element that works with any event stream that provides geospatial coordinates in form of a latitude/longitude pair.
-
-The algorithm outputs every location event once the position has entered the geofence.
-
-
-<div class="admonition note">
-<div class="admonition-title">Note</div>
-<p>The implementation in this tutorial is pretty simple - our processor will fire an event every time the GPS location is inside the geofence.
-       In a real-world application, you would probably want to define a pattern that recognizes the _first_ event a vehicle enters the geofence.<br/>
-       This can be easily done using a CEP library, e.g., Apache Flink CEP.</p>
-</div>
-
-
-## Project setup
-
-Similar to the data source tutorial, there are two options to start a new project (option 1 is recommended):
-
-**Option 1: Using a template project**
-
-Clone the following project from our Github repo: https://github.com/streampipes/templates-flink
-
-Import the project into an IDE of your choice.
-You should see a structure like this:
-
-<img src="/img/tutorial-processors/project-structure-processor.PNG" alt="Project Structure Data Processor"/>
-
-Rename the classes (or create new classes by copying these files) as follows:
-* `ProcessorTemplateController.java` to `GeofencingController.java`
-* `ProcessorTemplateFlatMap.java` to `GeofencingProcessor.java`
-* `ProcessorTemplateParameters.java` to `GeofencingParameters.java`
-* `ProcessorTemplateProgram.java` to `GeofencingProgram.java`
-
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Besides the basic project skeleton, the sample project also includes an example Dockerfile you can use to package your application into a Docker container.</p>
-</div>
-
-
-**Option 2: Start a new project from scratch**
-
-If you want to start from scratch, we refer to the [Processor SDK guide](dev-guide-processor-sdk.md) which provides instructions on the general project setup.
-
-## Adding data processor requirements
-
-Now we will add a new data stream definition.
-First, open the class `GeofencingController` which should look as follows:
-
-```java
-import org.streampipes.model.graph.DataProcessorDescription;
-import org.streampipes.model.graph.DataProcessorInvocation;
-import org.streampipes.wrapper.flink.AbstractFlinkAgentDeclarer;
-import org.streampipes.wrapper.flink.FlinkSepaRuntime;
-
-public class GeofencingController extends FlinkDataProcessorDeclarer<GeofencingParameters> {
-
-    @Override
-    public DataProcessorDescription declareModel() {
-
-    }
-
-    @Override
-    protected FlinkDataProcessorRuntime<GeofencingParameters> getRuntime(DataProcessorInvocation sepaInvocation) {
-
-    }
-}
-```
-
-In this class, we need to implement two methods: The `declareModel` method is used to define abstract stream requirements such as event properties that must be present in any input stream that is later connected to the element using the StreamPipes UI.
-The second method, `getRuntime` is used to create and deploy the parameterized Flink program once a pipeline using this element is started.
-
-Similar to data sources, the SDK provides a builder class to generate the description for data processors.
-add the following lines to the `declareModel` method:
-
-```java
-return ProcessingElementBuilder.create("geofencing-flink", "Geofencing", "A simple geofencing data processor " +
-            "using the Apache Flink wrapper")
-```
-
-This creates a new data processor with the ID, title and description assigned to the element builder.
-Next, we add some _stream requirements_ to the description. As we'd like to develop a generic pipeline element that works with any event that provides a lat/lng pair, we define two stream requirements as stated below:
-
-```java
-.requiredStream(StreamRequirementsBuilder
-    .create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lat),
-            Labels.from("latitude-field", "Latitude", "The event " +
-            "property containing the latitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lng),
-            Labels.from("longitude-field", "Longitude", "The event " +
-                    "property containing the longitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-    .build())
-```
-
-The first line, `.requiredStream()` defines that we want a data processor with exactly one input stream. Adding more stream requirements would create elements with multiple input connectors in StreamPipes.
-Stream requirements can be assigned by using the `StreamRequirementsBuilder` class.
-In our example, we define two requirements, so-called _domain property requirements_. In contrast to _data type requirements_ where we'd expect an event property with a field of a specific data type (e.g., float), domain property requirements expect a specific domain property, e.g., from a vocabulary such as the WGS84 Geo vocab.
-
-Once a pipeline is deployed, we are interested in the actual field (and its field name) that contains the latitude and longitude values.
-In some cases, there might me more than one field that satisfies a property requirement and we would like users to select the property the geofencing component should operate on.
-Therefore, our example uses the method `requiredPropertyWithUnaryMapping`, which will map a requirement to a real event property of an input stream and  let the user choose the appropriate field in the StreamPipes UI when pipelines are defined.
-
-Finally, the `PropertyScope` indicates that the required property is a measurement value (in contrast to a dimension value). This allows us later to provide improved user guidance in the pipeline editor.
-
-Besides requirements, users should be able to define the center coordinate of the Geofence and the size of the fence defined as a radius around the center in meters.
-The radius can be defined by adding a simple required text field to the description:
-
-```java
-.requiredIntegerParameter("radius", "Geofence Size", "The size of the circular geofence in meters.", 0, 1000, 1)
-```
-
-Similar to mapping properties, text parameters have an internalId (radius), a label and a description.
-In addition, we can assign a _value specification_ to the parameter indicating the value range we support.
-Our example supports a radius value between 0 and 1000 with a granularity of 1.
-In the StreamPipes UI, a required text parameter is rendered as a text input field, in case we provide an optional value specification, a slider input is automatically generated.
-
-Such user-defined parameters are called _static properties_. There are many different types of static properties (see the [Processor SDK](dev-guide-processor-sdk.md) for an overview).
-
-One example are _DomainProperties_ we use for defining the center of the geofence.
-Our data processor requires a lat/lng pair that marks the center of the geofence.
-However, letting users directly input latitude and longitude coordinates wouldn't be very user-friendly.
-Therefore, we can link required text parameters to _ontology concepts_. By understanding the required input, the StreamPipes UI is able to determine which user interface works best for a specific concept.
-
-Add the following line to the `declareModel` method:
-
-```java
-.requiredOntologyConcept(Labels.from("location", "Geofence Center", "Provide the coordinate of the " +
-    "geofence center"), OntologyProperties.mandatory(Geo.lat), OntologyProperties.mandatory(Geo.lng))
-
-```
-
-We've now defined that we would like to receive an instance that provides a latitude and a longitude coordinate.
-Users can input these values either manually, or they can look up _domain knowledge_ (part of the StreamPipes Enterprise Edition), i.e., knowledge stored isolated from the stream definition.
-
-Finally, we need to define technical requirements of the data processor, called _groundings_.
-StreamPipes supports various runtime data formats (e.g., JSON or Thrift) and various protocols (e.g., Kafka or JMS).
-Each component defines supports formats and protocol separately.
-For our example, we'd like to support JSON-based messages and Kafka as input and output broker protocol, so append the following:
-
-```java
-.supportedProtocols(SupportedProtocols.kafka())
-.supportedFormats(SupportedFormats.jsonFormat())
-.build();
-```
-
-Now we need to define the output of our Geofencing pipeline element.
-As explained in the first section, the element should fire every time some geo-located entity arrives within the defined geofence.
-Therefore, the processor outputs the same schema as it receives as an input.
-Although we don't know the exact input right now as it depends on the stream users connect in StreamPipes when creating pipelines, we can define an _output strategy_ as follows:
-
-```java
-.outputStrategy(OutputStrategies.keep())
-```
-
-This defines a _KeepOutputStrategy_, i.e., the input event schema is not modified by the processor.
-There are many more output strategies you can define depending on the functionality you desire, e.g., _AppendOutput_ for defining a processor that enriches events or _CustomOutput_ in case you would like users to select the output by themselves.
-
-That's it! We've now defined input requirements, required user input, technical requirements concerned with data format and protocol and an output strategy.
-In the next section, you will learn how to extract these parameters once the pipeline element is invoked after a pipeline was created.
-
-## Pipeline element invocation
-
-Once users start a pipeline that uses our geofencing component, the _getRuntime_ method in our class is called. The class `DataSinkInovcation` includes a graph that contains information on the configuration parameters a users has selected in the pipeline editor and information on the acutal streams that are connected to the pipeline element.
-
-Before we explain in more detail how to extract these values from the processor invocation, we need to adapt a little helper class.
-Open the file ```GeofencingParameters``` and modify it as follows:
-
-```java
-public class GeofencingParameters extends EventProcessorBindingParams {
-
-  private String latitudeFieldName;
-  private String longitudeFieldName;
-
-  private Float centerLatitude;
-  private Float centerLongitude;
-
-  private Integer radius;
-
-  public GeofencingParameters(DataProcessorInvocation graph, String latitudeFieldName, String longitudeFieldName,
-                              Float centerLatitude, Float centerLongitude, Integer radius) {
-    super(graph);
-    this.latitudeFieldName = latitudeFieldName;
-    this.longitudeFieldName = longitudeFieldName;
-    this.centerLatitude = centerLatitude;
-    this.centerLongitude = centerLongitude;
-    this.radius = radius;
-  }
-
-  public String getLatitudeFieldName() {
-    return latitudeFieldName;
-  }
-
-  public String getLongitudeFieldName() {
-    return longitudeFieldName;
-  }
-
-  public Float getCenterLatitude() {
-    return centerLatitude;
-  }
-
-  public Float getCenterLongitude() {
-    return centerLongitude;
-  }
-
-  public Integer getRadius() {
-    return radius;
-  }
-```
-
-This simple Pojo class will later serve to store user-defined parameters in a single object.
-
-Now we go back to the controller class and extract these values from the invocation object.
-
-First, add the following line to the `getRuntime` method:
-
-```java
-ProcessingElementParameterExtractor extractor =
-    ProcessingElementParameterExtractor.from(dataProcessorInvocation);
-```
-
-The extractor provides convenience methods to extract the relevant information from the `DataProcessorInvocation` object.
-
-Next, we are interested in the fields of the input event stream that contains the latitude and longitude value we would like to compute against the geofence center location as follows:
-
-```java
-String latitudeFieldName = extractor.mappingPropertyValue("latitude-field");
-String longitudeFieldName = extractor.mappingPropertyValue("longitude-field");
-```
-
-We use the same `internalId` we've used to define the mapping property requirements in the `declareModel` method.
-
-Next, for extracting the geofence center coordinates, we use the following statements:
-
-```java
-Float centerLatitude = extractor.supportedOntologyPropertyValue("location", Geo.lat, Float.class);
-Float centerLongitude = extractor.supportedOntologyPropertyValue("location", Geo.lng, Float.class);
-```
-
-The radius value can be extracted as follows:
-
-```java
-Integer radius = extractor.singleValueParameter("radius", Integer.class);
-```
-
-Now we can create a new instance of our previously created parameter class:
-
-```java
-GeofencingParameters params = new GeofencingParameters(dataProcessorInvocation, latitudeFieldName,
-            longitudeFieldName, centerLatitude, centerLongitude, radius);
-```
-
-Finally, return an instance of the class ```GeofencingProgram```:
-
-```java
-return new GeofencingProgram(params);
-```
-
-<div class="admonition tip">
-<div class="admonition-title">Info</div>
-<p>The line above uses the Flink MiniCluster to start the Flink program for debugging purposes.
-       Before you build the project and use it in a real environment, replace the line as follows, which triggers cluster execution:
-       <code>return new GeofencingProgram(params, new FlinkDeploymentConfig(Config.JAR_FILE, Config.INSTANCE.getFlinkHost(), Config.INSTANCE.getFlinkPort())</code></p>
-</div>
-
-
-Great! That's all we need to describe a data processor for usage in StreamPipes. Your controller class should look as follows:
-
-```java
-import org.streampipes.model.graph.DataProcessorDescription;
-import org.streampipes.model.graph.DataProcessorInvocation;
-import org.streampipes.model.schema.PropertyScope;
-import org.streampipes.sdk.builder.ProcessingElementBuilder;
-import org.streampipes.sdk.builder.StreamRequirementsBuilder;
-import org.streampipes.sdk.extractor.ProcessingElementParameterExtractor;
-import org.streampipes.sdk.helpers.EpRequirements;
-import org.streampipes.sdk.helpers.Labels;
-import org.streampipes.sdk.helpers.OntologyProperties;
-import org.streampipes.sdk.helpers.OutputStrategies;
-import org.streampipes.sdk.helpers.SupportedFormats;
-import org.streampipes.sdk.helpers.SupportedProtocols;
-import org.streampipes.vocabulary.Geo;
-import org.streampipes.wrapper.flink.FlinkDataProcessorDeclarer;
-import org.streampipes.wrapper.flink.FlinkDataProcessorRuntime;
-
-public class GeofencingController extends FlinkDataProcessorDeclarer<GeofencingParameters> {
-
-  @Override
-  protected FlinkDataProcessorRuntime<GeofencingParameters> getRuntime(DataProcessorInvocation dataProcessorInvocation) {
-    ProcessingElementParameterExtractor extractor = ProcessingElementParameterExtractor.from(dataProcessorInvocation);
-
-    String latitudeFieldName = extractor.mappingPropertyValue("latitude-field");
-    String longitudeFieldName = extractor.mappingPropertyValue("longitude-field");
-
-    Float centerLatitude = extractor.supportedOntologyPropertyValue("location", Geo.lat, Float.class);
-    Float centerLongitude = extractor.supportedOntologyPropertyValue("location", Geo.lng, Float.class);
-
-    Integer radius = extractor.singleValueParameter("radius", Integer.class);
-
-    GeofencingParameters params = new GeofencingParameters(dataProcessorInvocation, latitudeFieldName,
-            longitudeFieldName, centerLatitude, centerLongitude, radius);
-
-    return new GeofencingProgram(params);
-  }
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("geofencing-flink", "Geofencing", "A simple geofencing data processor " +
-            "using the Apache Flink wrapper")
-            .requiredStream(StreamRequirementsBuilder
-                    .create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lat),
-                            Labels.from("latitude-field", "Latitude", "The event " +
-                            "property containing the latitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-                    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lng),
-                            Labels.from("longitude-field", "Longitude", "The event " +
-                                    "property containing the longitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-                    .build())
-            .requiredIntegerParameter("radius", "Geofence Size", "The size of the circular geofence in meters.",
-                    0, 1000, 1)
-            .requiredOntologyConcept(Labels.from("location", "Geofence Center", "Provide the coordinate of the " +
-                    "geofence center"), OntologyProperties.mandatory(Geo.lat), OntologyProperties.mandatory(Geo.lng))
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-            .build();
-  }
-}
-
-```
-
-## Adding an implementation
-
-Everything we need to do now is to add an implementation which does not differ from writing an Apache Flink topology.
-
-Open the class `GeofencingProcessor.java` and add the following piece of code, which realizes the Geofencing functionality:
-
-```java
-public class GeofencingProcessor implements FlatMapFunction<Map<String, Object>, Map<String, Object>> {
-
-  private String latitudeFieldName;
-  private String longitudeFieldName;
-
-  private Float centerLatitude;
-  private Float centerLongitude;
-
-  private Integer radius;
-
-  public GeofencingProcessor(String latitudeFieldName, String longitudeFieldName, Float centerLatitude, Float centerLongitude, Integer radius) {
-    this.latitudeFieldName = latitudeFieldName;
-    this.longitudeFieldName = longitudeFieldName;
-    this.centerLatitude = centerLatitude;
-    this.centerLongitude = centerLongitude;
-    this.radius = radius;
-  }
-
-  @Override
-  public void flatMap(Map<String, Object> in, Collector<Map<String, Object>> out) throws Exception {
-    Float latitude = Float.parseFloat(String.valueOf(in.get(latitudeFieldName)));
-    Float longitude = Float.parseFloat(String.valueOf(in.get(longitudeFieldName)));
-
-    Float distance = distFrom(latitude, longitude, centerLatitude, centerLongitude);
-
-    if (distance <= radius) {
-      out.collect(in);
-    }
-  }
-
-  public static Float distFrom(float lat1, float lng1, float lat2, float lng2) {
-    double earthRadius = 6371000;
-    double dLat = Math.toRadians(lat2-lat1);
-    double dLng = Math.toRadians(lng2-lng1);
-    double a = Math.sin(dLat/2) * Math.sin(dLat/2) +
-            Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) *
-                    Math.sin(dLng/2) * Math.sin(dLng/2);
-    double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
-    return (float) (earthRadius * c);
-  }
-
-}
-```
-
-We won't go into details here as this isn't StreamPipes-related code, but in general the class extracts latitude and longitude fields from the input event (which is provided as a map data type) and calculates the distance between the geofence center and these coordinates.
-If the distance is below the given radius, the event is forwarded to the next operator.
-
-Finally, we need to connect this program to the Flink topology. StreamPipes automatically adds things like the Kafka consumer and producer, so that you only need to invoke the actual geofencing processor.
-Open the file `GeofencingProgram` and append the following line inside the `getApplicationLogic()` method:
-
-```java
-return dataStreams[0].flatMap(new GeofencingProcessor(params.getLatitudeFieldName(), params.getLongitudeFieldName(),
-    params.getCenterLatitude(), params.getCenterLongitude(), params.getRadius()));
-```
-
-<div class="admonition info">
-<div class="admonition-title">Info</div>
-<p>Although you could pass the <code>GeofencingParameters</code> class directly to the <code>GeofencingProcessor</code>, in our example we extract the properties to the class.
-       This is due to the circumstance that the parameter class currently is not serializable and Flink requires all classes to be serializable.
-       Future versions will fix this bug in StreamPipes.</p>
-</div>
-
-
-## Preparing the container
-The final step is to define the deployment type of our new data source. In this tutorial, we will create a so-called `StandaloneModelSubmitter`.
-This client will start an embedded web server that provides the description of our data source and automatically submits the program to the registered Apache Flink cluster.
-
-Create a new class `Main` that implements `StandaloneModelSubmitter` and add the following code into the main method:
-```java
-public static void main(String[] args) {
-
-   DeclarersSingleton.getInstance().add(new GeofencingController());
-
-   new Main().init(Config.INSTANCE);
-
-}
-```
-
-<div class="admonition info">
-<div class="admonition-title">Info</div>
-<p>In the example above, we make use of a class `Config`.
-       This class contains both mandatory and additional configuration parameters required by a pipeline element container.
-       These values are stored in the Consul-based key-value store of your StreamPipes installation.
-       The SDK guide contains a detailed manual on managing container configurations.
-</p>
-</div>
-
-## Starting the container
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>By default, the container registers itself using the hostname later used by the Docker container, leading to a 404 error when you try to access an RDF description.
-       For local development, you need to change the hostname in Consul to `localhost`.
-       Open the class `TemplateConfig.java` and change the value defined in the `HOST` variable from `template-flink` to `localhost`.
-</p>
-</div>
-
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p> The default port of all pipeline element containers as defined in the `Config` file is port 8090.
-       If you'd like to run mutliple containers at the same time on your development machine, you can modify the port in the `Config.java` class.
-</p>
-</div>
-
-Now we are ready to start our container!
-
-Execute the main method in the class `Main` we've just created, open a web browser and navigate to http://localhost:8090.
-
-You should see something as follows:
-
-<img src="/img/tutorial-processors/pe-overview-flink.PNG" alt="Pipeline Element Container Overview (Flink)"/>
-
-Click on the link of the data source to see the RDF description of the pipeline element.
-
-<img src="/img/tutorial-processors/pe-rdf-geofencing.PNG" alt="Geofencing RDF description"/>
-
-The container automatically registers itself in the Consul installation of StreamPipes.
-To install the just created element, open the StreamPipes UI and follow the manual provided in the [user guide](user-guide-processing-elements.md).
-
-## Read more
-
-Congratulations! You've just created your first data processor for StreamPipes.
-There are many more things to explore and data processors can be defined in much more detail using multiple wrappers.
-Follow our [SDK guide](dev-guide-source-sdk.md) to see what's possible!
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-tutorial-sources.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-tutorial-sources.md
deleted file mode 100644
index d90c8ae..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/dev-guide-tutorial-sources.md
+++ /dev/null
@@ -1,219 +0,0 @@
----
-id: dev-guide-tutorial-sources
-title: "Tutorial: Data Sources"
-sidebar_label: "Tutorial: Data Sources"
-original_id: dev-guide-tutorial-sources
----
-
-In this tutorial, we will add a new data source consisting of a single data stream. The source will be provided as a standalone component (i.e., the description will be accessible through an integrated web server).
-
-## Objective
-
-We are going to create a new data stream that is produced by a GPS sensor installed in a delivery vehicle.
-The sensor produces a continuous stream of events that contain the current timestamp, the current lat/lng position of the vehicle and the plate number of the vehicle.
-Events are published in a JSON format as follows:
-```json
-{
-  "timestamp" : 145838399,
-  "latitude" : 37.04,
-  "longitude" : 17.04,
-  "plateNumber" : "KA-AB 123"
-}
-```
-
-These events are published to a Kafka broker using the topic `org.streampipes.tutorial.vehicle`.
-
-In the following section, we show how to describe this stream in a form that allows you to import and use it in StreamPipes.
-
-## Project setup
-
-Currently, there are two options to start a new project (option 1 is recommended):
-
-**Option 1: Using a template project**
-
-Clone the following project from our Github repo: https://github.com/streampipes/templates-sources
-
-Import the project into an IDE of your choice.
-You should see a structure like this:
-
-<img src="/img/tutorial-sources/project-structure.PNG" alt="Project Structure"/>
-
-Rename the class `TemplateSource.java` to `VehicleSource.java` and the class `TemplateStream.java` to `VehicleStream.java`.
-
-That's it, go to the next section to learn how to create your first data stream!
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Besides the basic project skeleton, the sample project also includes an example Dockerfile you can use to package your application into a Docker container.
-</p>
-</div>
-
-**Option 2: Start a new project from scratch**
-
-If you want to start from scratch, we refer to the [Sources SDK guide](dev-guide-processor-sdk.md) which provides instructions on the general project setup.
-
-## Adding a data stream description
-
-Now we will add a new data stream definition.
-First, open the class `VehicleStream` which should look as follows:
-
-```java
-package org.streampipes.tutorial.source;
-
-import org.streampipes.model.EventStream;
-import de.fzi.cep.sepa.model.impl.graph.SepDescription;
-import de.fzi.cep.sepa.sources.AbstractAlreadyExistingStream;
-
-public class VehiclePositionStream extends AbstractAlreadyExistingStream {
-
-  @Override
-  public EventStream declareModel(SepDescription sep) {
-
-
-  }
-}
-```
-
-This class extends the class `AbstractAlreadyExistingStream`. This class indicates that we only want to describe an already existing stream (e.g., a stream that already sends data to an existing Kafka broker).
-In contrast, if you'd plan to define a stream that produces data (e.g., simulates vehicle positions directly from this module), you could extend the class `AbstractAdapterIncludedStream`.
-
-Now we will add the definition of the data stream. Add the following code inside of the `declareModel` method:
-```java
-return DataStreamBuilder.create("vehicle-position", "Vehicle Position", "An event stream " +
-          "that produces current vehicle positions")
-```
-
-This line creates a new instance of the SDK's `DataStreamBuilder` by providing three basic parameters:
-The first parameter must be a unique identifier of your data stream.
-The second and third parameters indicate a label and a description of your stream.
-These values will later be used in the StreamPipes UI to display stream details in a human-readable manner.
-
-Next, we will add the properties as stated above to the stream definition by adding the following lines:
-```java
-.property(EpProperties.timestampProperty("timestamp"))
-.property(EpProperties.stringEp(Labels.from("plate-number", "Plate Number", "Denotes the plate number of the vehicle"), "plateNumber", "http://my.company/plateNumber"))
-.property(EpProperties.doubleEp(Labels.from("latitude", "Latitude", "Denotes the latitude value of the vehicle's position"), "latitude", Geo.lat))
-.property(EpProperties.doubleEp(Labels.from("longitude", "Longitude", "Denotes the longitude value of the vehicle's position"), "longitude", Geo.lng))
-```
-These four _event properties_ compose our _event schema_. An event property must, at least, provide the following attributes:
-
-* **Runtime Name**. The runtime name indicates the key of the property at runtime, e.g., if our JSON message contains a structure such as `{"plateNumber" : "KA-F 123"}`, the runtime name must be `plateNumber`.
-* **Runtime Type**. An event property must have a primitive type (we will later see how to model more complex properties such as lists and nested properties).
-The type must be an instance of `XMLSchema` primitives, however, the SDK provides convenience methods to provide the property type.
-* **Domain Property**. The domain property indicates the semantics of the event property. For instance, the `latitude` property is linked to the `http://www.w3.org/2003/01/geo/wgs84_pos#lat` property of the WGS84 vocabulary.
-The domain property should be an URI as part of an existing or domain-specific vocabulary. The SDK provides convenience methods for popuplar vocabularies (e.g., Schema.org, Dolce or WGS84).
-
-In order to complete the minimum required specification of an event stream, we need to provide information on the transport format and protocol of the data stream at runtime.
-
-This can be achieved by extending the builder with the respective properties:
-```java
-.format(Formats.jsonFormat())
-.protocol(Protocols.kafka("ipe-koi15.fzi.de", 9092, "org.streampipes.tutorial.vehicle"))
-.build();
-```
-In this example, we defined that the data stream consists of events in a JSON format and that Kafka is used as a message broker to transmit events.
-The last build() method call triggers the construction of the RDF-based data stream definition.
-
-That's it! In the next section, we will connect the data stream to a source and inspect the generated RDF description.
-
-## Adding a source description
-
-A data source can be seen like a container for a set of data streams. Usually, a data source includes events that are logically or physically connected.
-For instance, in our example we would add other streams produced by vehicle sensors (such as fuel consumption) to the same data source description.
-
-Open the class `VehicleSource` which should look as follows:
-```java
-import org.streampipes.container.declarer.EventStreamDeclarer;
-import org.streampipes.container.declarer.SemanticEventProducerDeclarer;
-import org.streampipes.model.graph.DataSourceDescription;
-import org.streampipes.sdk.builder.DataSourceBuilder;
-
-import java.util.Arrays;
-import java.util.List;
-
-public class TemplateSource implements SemanticEventProducerDeclarer {
-
-    @Override
-    public DataSourceDescription declareModel() {
-        return DataSourceBuilder.create("template-source", "Template Source", "This is a " +
-                "template to build your first StreamPipes source")
-                .build();
-
-    }
-
-    @Override
-    public List<EventStreamDeclarer> getEventStreams() {
-        return Arrays.asList(new TemplateStream());
-    }
-}
-```
-First, we need to define the source. Similar to data streams, a source consists of an id, a human-readable name and a description.
-Replace the content defined in the `declareModel` method with the following code:
-```java
-return DataSourceBuilder.create("source-vehicle", "Vehicle Source", "A data source that " +
-    "holds event streams produced by vehicles.")
-    .build();
-```
-Now we need to add the data stream we created before. This can be done by including the stream into the `getEventStreams` method:
-```java
-@Override
-    public List<EventStreamDeclarer> getEventStreams() {
-    return Arrays.asList(new VehicleStream());
-}
-```
-
-## Preparing the container
-
-The final step is to define the deployment type of our new data source. In this tutorial, we will create a so-called `StandaloneModelSubmitter`.
-This client will start an embedded web server that provides the description of our data source.
-
-Create a new class `Main` that implements `StandaloneModelSubmitter` and add the following code into the main method:
-```java
-public static void main(String[] args) {
-
-   DeclarersSingleton.getInstance().add(new VehicleSource());
-
-   new Main().init(TemplateConfig.INSTANCE);
-
-}
-```
-This code adds the `VehicleSource` and sets the port where the web server will be available. Finally, the `init` method is called
-which triggers the generation of the corresponding RDF description and startup of the web server.
-
-<div class="admonition info">
-<div class="admonition-title">Info</div>
-<p>In the example above, we make use of a class `TemplateConfig`.
-       This class contains both mandatory and additional configuration parameters required by a pipeline element container.
-       These values are stored in the Consul-based key-value store of your StreamPipes installation.
-       The SDK guide contains a detailed manual on managing container configurations.</p>
-</div>
-
-## Starting the container
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>By default, the container registers itself using the hostname later used by the Docker container, leading to a 404 error when you try to access an RDF description.
-       For local development, you need to change the hostname in Consul to `localhost`.
-       Open the class `TemplateConfig.java` and change the value defined in the `HOST` variable from `template-sources` to `localhost`.</p>
-</div>
-
-Now we are ready to start our first container!
-
-Execute the main method in the class `Main` we've just created, open a web browser and navigate to http://localhost:8090.
-
-You should see something as follows:
-
-<img src="/img/tutorial-sources/pe-overview.PNG" alt="Pipeline Element Container Overview"/>
-
-Click on the link of the data source to see the RDF description of the pipeline element.
-
-<img src="/img/tutorial-sources/pe-rdf.PNG" alt="Pipeline Element RDF description"/>
-
-The container automatically registers itself in the Consul installation of StreamPipes.
-To install the just created element, open the StreamPipes UI and follow the manual provided in the [user guide](user-guide-processing-elements.md).
-
-## Read more
-
-Congratulations! You've just created your first pipeline element for StreamPipes.
-There are many more things to explore and data sources can be defined in much more detail.
-Follow our [SDK guide](dev-guide-source-sdk.md) to see what's possible!
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/faq-common-problems.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/faq-common-problems.md
deleted file mode 100644
index 2269966..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/faq-common-problems.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-id: faq-common-problems
-title: Common Problems
-sidebar_label: Common Problems
-original_id: faq-common-problems
----
-
-* Windows 10: Consul, Kafka, Zookeeper, or Kafka-Rest did not start
-* Linux / OSX: Consul does not start
-* Run StreamPipes in a VM in Windows
-* Only few processors are available in the pipeline editor
-* No data is shown in the live dashbord
-* Windows 10: Should I use settings windows containers or docker containers?
-* Help us to improve StreamPipes and this documentation
-
-## Windows 10: Consul, Kafka, Zookeeper, or Kafka-Rest did not start
-**Problem:** You get an error message similar to: `ERROR: for consul  Cannot start service consul: b'driver failed programming external connectivity on endpoint sp-test_consul_1 (eae0457fc03c1364b8e81a6e155ca4b95ee1e1d01bb3c1aa9dd5192bdcb7b91a): Error starting userland proxy: mkdir /port/tcp:0.0.0.0:8600:tcp:172.30.0.9:8600: input/output error`
-
-**Solution:** To resolve this problem, stop StreamPipes with `streampipes stop` and restart Docker via the Docker settings in the task bar.
-After Docker was restarted, run `streampipes start`.
-
-## Consul does not start
-**Problem:** After starting StreamPipes with `streampipes start`, there is an error with Consul:
-
-**Solution:** To resolve this, execute `streampipes stop`, wait a minute and start it again with `streampipes start`. If you've installed an old version of StreamPipes (before the installer was available), make sure that no network suffixed with `spnet` exists in Docker. Type `docker network ls` to check and `docker network rm NETWORK_NAME` to remove the existing network before running the installer.
-
-## Run StreamPipes in a VM in Windows
-**Problem:** StreamPipes does not work properly with Docker under Windows 8 or earlier versions.
-
-**Solution:** We do support virtual machines (VMs), but if you run them under Windows, there might be problems with docker and its network configurations.
-Please use Windows 10, OSX or Linux.
-You can also use a VM from a cloud provider to test StreamPipes.
-
-
-## Only few processors are available in the pipeline editor
-**Problem:** In the Pipeline Editor, only a few processors can be used in pipelines.
-
-**Solution:** In the demo/desktop version, we only integrated a few processors. To ensure that you can easily try out StreamPipes (even on your laptop),
- we tried to make it as lightweight as possible. If you are interested in more sophisticated algorithms, pleas contact us.
-
-
-## No data is shown in the live dashboard
-**Problem:** The live dashboard does not show any data.
-
-**Solution:** If this is the case, your IP is probably configured wrong.
-You can reinstall the system by running `streampipes clean` and then `streampipes start` again.
-This will delete all StreamPipes configurations. StreamPipes is designed as a server application and requires a fixed IP.
-We created a version to easily run it on your laptop and test it, but on your laptop you usually get a new IP when you change the network.
-This problem only occurs in testing scenarios, in production scenarios the IP can also be changed manually without data loss.
-
-## Windows 10: Should I use settings windows containers or docker containers
-**Problem:** StreamPipes does not work with Windows 10.
-
-**Solution:** You should use docker containers. Go to the docker settings on our taks bar and select 'Switch to Docker containers'.
-
-## Help us to improve StreamPipes and this documentation
-Help us to improve this section.
-If you have any problems with the system or with the documentation, do not hesitate to contact us.
-Our goal is to continuously improve StreamPipes.
-Your help and feedback is welcome.
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processor.geo.flink/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processor.geo.flink/documentation.md
deleted file mode 100644
index fa262bd..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processor.geo.flink/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processor.geo.flink
-title: Spatial Grid Enrichment
-sidebar_label: Spatial Grid Enrichment
-original_id: org.streampipes.processor.geo.flink
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processor.geo.flink/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Groups spatial events into cells of a given size
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md
deleted file mode 100644
index fbb4d2e..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification
-title: Generic Image Classification
-sidebar_label: Generic Image Classification
-original_id: org.streampipes.processor.imageclassification.jvm.generic-image-classification
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processor.imageclassification.jvm.generic-image-classification/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Image  + Classification Description (Generic Model)
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md
deleted file mode 100644
index 876df89..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher
-title: Image Enricher
-sidebar_label: Image Enricher
-original_id: org.streampipes.processor.imageclassification.jvm.image-enricher
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processor.imageclassification.jvm.image-enricher/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Image Enrichment: Enriches an  + image with  + given bounding box coordinates
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processor.imageclassification.qrcode/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processor.imageclassification.qrcode/documentation.md
deleted file mode 100644
index 5f21cf4..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processor.imageclassification.qrcode/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processor.imageclassification.qrcode
-title: QR Code Reader
-sidebar_label: QR Code Reader
-original_id: org.streampipes.processor.imageclassification.qrcode
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processor.imageclassification.qrcode/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-QR Code Reader: Detects a QR Code in an image
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/documentation.md
deleted file mode 100644
index 3b08d40..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/documentation.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation
-title: Aggregation
-sidebar_label: Aggregation
-original_id: org.streampipes.processors.aggregation.flink.aggregation
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.aggregation.flink.aggregation/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs different aggregation functions based on a sliding time window (e.g., average, sum, min, max)
-
-***
-
-## Required input
-
-The aggregation processor requires a data stream that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Group by
-The aaggregation function can be calculated separately (partitioned) by the selected field value. 
-
-### Output every
-The frequency in which aggregated values are sent in seconds.
-
-### Time window
-The size of the time window in seconds
-
-### Aggregated Value
-The field used for calculating the aggregation value.
-
-## Output
-
-This processor appends the latest aggregated value to every input event that arrives.
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.aggregation.flink.rate/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.aggregation.flink.rate/documentation.md
deleted file mode 100644
index 4de9b0c..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.aggregation.flink.rate/documentation.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.aggregation.flink.rate
-title: Event Rate
-sidebar_label: Event Rate
-original_id: org.streampipes.processors.aggregation.flink.rate
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.aggregation.flink.rate/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Computes the current event rate. Output is a number representing events per second.
-
-***
-
-## Required input
-
-The event rate processor works with any stream and does not have any specific requirements.
-
-***
-
-## Configuration
-
-### Time Baseline
-Time window size used for calculating the rate in seconds, also defines the output rate
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md
deleted file mode 100644
index 5d3d4dd..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop
-title: Math
-sidebar_label: Math
-original_id: org.streampipes.processors.enricher.flink.processor.math.mathop
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.enricher.flink.processor.math.mathop/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs calculations on event properties (+, -, *, /, %).
-
-***
-
-## Required input
-The math processor works with any event that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Left operand
-The field from the input event that should be used as the left operand.
-
-### Right operand
-The field from the input event that should be used as the right operand.
-
-### Operation
-The math operation that should be performed.
-
-## Output
-The processor appends the calculation result to each input event.
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md
deleted file mode 100644
index 418dfd5..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop
-title: Static Math
-sidebar_label: Static Math
-original_id: org.streampipes.processors.enricher.flink.processor.math.staticmathop
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.enricher.flink.processor.math.staticmathop/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs calculation on an event property with a static value (+, -, *, /, %).
-
-***
-
-## Required input
-The math processor works with any event that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Left operand
-The field from the input event that should be used as the left operand.
-
-### Right operand value
-Specify the value of the right operand.
-
-### Operation
-The math operation that should be performed.
-
-## Output
-The processor appends the calculation result to each input event.
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md
deleted file mode 100644
index 88e9a0b..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry
-title: Trigonometry Functions
-sidebar_label: Trigonometry Functions
-original_id: org.streampipes.processors.enricher.flink.processor.trigonometry
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.enricher.flink.processor.trigonometry/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs Trigonometric functions (sin, cos, tan) on event properties.
-
-***
-
-## Required input
-The trigonometry processor works with any event that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Alpha
-The field that should be used for calculating the trigonometric function.
-
-
-### Operation
-The trigonometric function that should be calculated.
-
-## Output
-The processor appends the calculation result to each input event.
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md
deleted file mode 100644
index c9d1f14..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md
+++ /dev/null
@@ -1,34 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing
-title: URL Dereferencing
-sidebar_label: URL Dereferencing
-original_id: org.streampipes.processors.enricher.flink.processor.urldereferencing
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.enricher.flink.processor.urldereferencing/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Parses and appends the html page as a string to event.
-
-***
-
-## Required input
-The URL Dereferencing processor requires an input stream that provides an input field of type 'string', representing 
-the URL to dereference.
-
-***
-
-## Configuration
-
-### URL
-The field containing the URL to dereference.
-
-## Output
-The processor appends the extracted HTML page to each input event.
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.timestamp/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.timestamp/documentation.md
deleted file mode 100644
index b60eb4c..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.enricher.flink.timestamp/documentation.md
+++ /dev/null
@@ -1,31 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.enricher.flink.timestamp
-title: Timestamp Enricher
-sidebar_label: Timestamp Enricher
-original_id: org.streampipes.processors.enricher.flink.timestamp
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.enricher.flink.timestamp/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Appends the current time in ms to the event payload.
-
-***
-
-## Required input
-The timestamp enricher works with any input event.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-This processor appends the current system time to every input event.
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.filters.jvm.compose/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.filters.jvm.compose/documentation.md
deleted file mode 100644
index 4176bb3..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.filters.jvm.compose/documentation.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.filters.jvm.compose
-title: Compose
-sidebar_label: Compose
-original_id: org.streampipes.processors.filters.jvm.compose
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.filters.jvm.compose/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Merges two event streams. Any time, a new input event arrives, it is merged with the last input event from the other 
-event stream and forwarded.
-
-***
-
-## Required input
-The Compose processor does not have any specific input requirements.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-The compose processor has a configurable output that can be selected by the user at pipeline modeling time.
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/documentation.md
deleted file mode 100644
index 33d64f0..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/documentation.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter
-title: Numerical Filter
-sidebar_label: Numerical Filter
-original_id: org.streampipes.processors.filters.jvm.numericalfilter
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.filters.jvm.numericalfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-The Numerical Filter processor filters numerical values based on a given threshold.
-
-***
-
-## Required input
-The processor works with any input event that has one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Field
-Specifies the field name where the filter operation should be applied on.
-
-
-### Operation
-Specifies the filter operation that should be applied on the field.
-
-### Threshold value
-Specifies the threshold value.
-
-## Output
-The processor outputs the input event if it satisfies the filter expression.
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.filters.jvm.project/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.filters.jvm.project/documentation.md
deleted file mode 100644
index 9267db7..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.filters.jvm.project/documentation.md
+++ /dev/null
@@ -1,31 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.filters.jvm.project
-title: Projection
-sidebar_label: Projection
-original_id: org.streampipes.processors.filters.jvm.project
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.filters.jvm.project/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Outputs a selectable subset of an input event type.
-
-***
-
-## Required input
-The project processor works with any input event stream.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-The output depends on the fields selected at pipeline development time.
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.filters.jvm.textfilter/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.filters.jvm.textfilter/documentation.md
deleted file mode 100644
index 266d710..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.filters.jvm.textfilter/documentation.md
+++ /dev/null
@@ -1,36 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.filters.jvm.textfilter
-title: Text Filter
-sidebar_label: Text Filter
-original_id: org.streampipes.processors.filters.jvm.textfilter
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.filters.jvm.textfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-The Text Filter processor filters text values based on a given string.
-
-***
-
-## Required input
-The processor works with any input event that has one field containing a text.
-
-***
-
-## Configuration
-
-### Text Field
-The field containing the text that should be filtered.
-
-
-### Operation
-The operation used by the filter processor (equals or matches)
-
-## Output
-The processor outputs the input event if it satisfies the filter expression.
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md
deleted file mode 100644
index 5fed34f..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection
-title: Peak Detection
-sidebar_label: Peak Detection
-original_id: org.streampipes.processors.pattern-detection.flink.peak-detection
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.pattern-detection.flink.peak-detection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detect peaks in time series data
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.frequency/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.frequency/documentation.md
deleted file mode 100644
index 848d786..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.frequency/documentation.md
+++ /dev/null
@@ -1,34 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.siddhi.frequency
-title: Frequency Calculation
-sidebar_label: Frequency Calculation
-original_id: org.streampipes.processors.siddhi.frequency
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.siddhi.frequency/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Calculates the frequency of the event stream.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.frequencychange/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.frequencychange/documentation.md
deleted file mode 100644
index fd9925c..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.frequencychange/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.siddhi.frequencychange
-title: Frequency Change
-sidebar_label: Frequency Change
-original_id: org.streampipes.processors.siddhi.frequencychange
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.siddhi.frequencychange/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects when the frequency of the event stream changes
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.increase/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.increase/documentation.md
deleted file mode 100644
index 99bf3d4..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.increase/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.siddhi.increase
-title: Trend
-sidebar_label: Trend
-original_id: org.streampipes.processors.siddhi.increase
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.siddhi.increase/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects the increase of a numerical field over a customizable time window. Example: A temperature value increases by 10 percent within 5 minutes.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.numericalfilter/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.numericalfilter/documentation.md
deleted file mode 100644
index 0097df4..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.numericalfilter/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.siddhi.numericalfilter
-title: Numerical Filter (Siddhi)
-sidebar_label: Numerical Filter (Siddhi)
-original_id: org.streampipes.processors.siddhi.numericalfilter
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.siddhi.numericalfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.sequence/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.sequence/documentation.md
deleted file mode 100644
index 9a5f8cd..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.sequence/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.siddhi.sequence
-title: Sequence Detection
-sidebar_label: Sequence Detection
-original_id: org.streampipes.processors.siddhi.sequence
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.siddhi.sequence/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Merges events from two event streams, when the top event arrives first and then the bottom event
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.stop/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.stop/documentation.md
deleted file mode 100644
index e76242f..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.siddhi.stop/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.siddhi.stop
-title: Stream Stop Detection
-sidebar_label: Stream Stop Detection
-original_id: org.streampipes.processors.siddhi.stop
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.siddhi.stop/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Triggers an event when the input data stream stops sending events
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/documentation.md
deleted file mode 100644
index cd84a7b..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection
-title: Language Detection
-sidebar_label: Language Detection
-original_id: org.streampipes.processors.textmining.flink.languagedetection
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.textmining.flink.languagedetection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects the language of a written text.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.textmining.flink.wordcount/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.textmining.flink.wordcount/documentation.md
deleted file mode 100644
index 6cefaba..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.textmining.flink.wordcount/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.textmining.flink.wordcount
-title: Word Count
-sidebar_label: Word Count
-original_id: org.streampipes.processors.textmining.flink.wordcount
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.textmining.flink.wordcount/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Counts words on continuous text-based streams
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-converter/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-converter/documentation.md
deleted file mode 100644
index fb10362..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-converter/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.flink.field-converter
-title: Field Converter
-sidebar_label: Field Converter
-original_id: org.streampipes.processors.transformation.flink.field-converter
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.flink.field-converter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Converts a string value to a number data type
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/documentation.md
deleted file mode 100644
index 3a433ee..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper
-title: Field Mapper
-sidebar_label: Field Mapper
-original_id: org.streampipes.processors.transformation.flink.field-mapper
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.flink.field-mapper/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Replaces one or more field with a new field and computes a hash value of these fields
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/documentation.md
deleted file mode 100644
index b9ff741..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer
-title: Field Renamer
-sidebar_label: Field Renamer
-original_id: org.streampipes.processors.transformation.flink.field-renamer
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.flink.field-renamer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Replaces the runtime name of an event property with a custom defined name. Useful for data ingestion purposes where a specific event schema is needed.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/documentation.md
deleted file mode 100644
index cf60c30..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher
-title: Field Hasher
-sidebar_label: Field Hasher
-original_id: org.streampipes.processors.transformation.flink.fieldhasher
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.flink.fieldhasher/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-The Field Hasher uses an algorithm to encode values in a field. The Field Hasher can use MD5, SHA1 or SHA2 to hash field values.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md
deleted file mode 100644
index d64a469..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter
-title: Measurement Unit Converter
-sidebar_label: Measurement Unit Converter
-original_id: org.streampipes.processors.transformation.flink.measurement-unit-converter
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.flink.measurement-unit-converter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Converts a unit of measurement to another one
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md
deleted file mode 100644
index d202b43..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate
-title: Boilerplate Removal
-sidebar_label: Boilerplate Removal
-original_id: org.streampipes.processors.transformation.flink.processor.boilerplate
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.flink.processor.boilerplate/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Removes boilerplate and extract fulltext from HTML
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/documentation.md
deleted file mode 100644
index ee71b3d..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/documentation.md
+++ /dev/null
@@ -1,36 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value
-title: Value Changed
-sidebar_label: Value Changed
-original_id: org.streampipes.processors.transformation.jvm.changed-value
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.jvm.changed-value/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor sends out an event everytime a specific object changes. It also adds a timestamp in ms from the system time.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.count-array/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.count-array/documentation.md
deleted file mode 100644
index cb1232f..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.count-array/documentation.md
+++ /dev/null
@@ -1,38 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.jvm.count-array
-title: Count Array
-sidebar_label: Count Array
-original_id: org.streampipes.processors.transformation.jvm.count-array
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.jvm.count-array/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor takes a list field, computes the size of the list and appends the result to the event.
-
-***
-
-## Required input
-
-This processor works with any event that has a field of type ``list``.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### List Field
-
-The field containing the list that should be used.
-
-## Output
-
-Outputs the incoming event while appending the list size (named ``countValue``) to the incoming event.
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/documentation.md
deleted file mode 100644
index a3f5cfa..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value
-title: Calculate Duration
-sidebar_label: Calculate Duration
-original_id: org.streampipes.processors.transformation.jvm.duration-value
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.jvm.duration-value/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor calculates the duration for a given stream with a start timestamp and an end timestamp.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md
deleted file mode 100644
index 90eb856..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md
+++ /dev/null
@@ -1,41 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor
-title: Timestamp Extractor
-sidebar_label: Timestamp Extractor
-original_id: org.streampipes.processors.transformation.jvm.processor.timestampextractor
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.jvm.processor.timestampextractor/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor extracts a timestamp into the individual time fields (e.g. day field, hour field, ....)
-
-***
-
-## Required input
-
-This processor requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-### Timestamp Field
-
-The field of the event containing the timestamp to parse.
-
-### Extract Fields
-
-Select the individual parts of the timestamp that should be extracted, e.g., Year, Minute and Day.
-
-## Output
-
-The output of this processor is a new event that contains the fields selected by the ``Extract Fields`` parameter.
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.split-array/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.split-array/documentation.md
deleted file mode 100644
index cd1eb09..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.processors.transformation.jvm.split-array/documentation.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.jvm.split-array
-title: Split Array
-sidebar_label: Split Array
-original_id: org.streampipes.processors.transformation.jvm.split-array
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.jvm.split-array/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor takes an array of event properties and creates an event for each of them. Further property of the events can be added to each element
-Add a detailed description here
-
-***
-
-## Required input
-
-This processor works with any event that has a field of type ``list``.
-
-***
-
-## Configuration
-
-### Keep Fields
-
-Fields of the event that should be kept in each resulting event.
-
-### List field
-
-The name of the field that contains the list values that should be split.
-
-
-## Output
-
-This data processor produces an event with all fields selected by the ``Keep Fields`` parameter and all fields of the
- selected list field.
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.jms/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.jms/documentation.md
deleted file mode 100644
index 0649fed..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.jms/documentation.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.brokers.jvm.jms
-title: JMS Publisher
-sidebar_label: JMS Publisher
-original_id: org.streampipes.sinks.brokers.jvm.jms
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.brokers.jvm.jms/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes events to a message broker (e.g., ActiveMQ) using the Java Message Service (JMS) protocol.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### JMS Broker Settings
-
-The basic settings to connect to the broker. 
-The JMS broker URL indicates the URL of the broker (e.g., tcp://localhost), the port indicates the port of the broker
- (e.g., 61616)
-
-
-### JMS Topic
-
-The topic where events should be sent to.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/documentation.md
deleted file mode 100644
index 49702e6..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/documentation.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka
-title: Kafka Publisher
-sidebar_label: Kafka Publisher
-original_id: org.streampipes.sinks.brokers.jvm.kafka
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.brokers.jvm.kafka/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes events to Apache Kafka.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Kafka Broker Settings
-
-The basic settings to connect to the broker. 
-The Kafka broker URL indicates the URL of the broker (e.g., localhost), the port indicates the port of the broker
- (e.g., 9092)
-
-
-### Kafka Topic
-
-The topic where events should be sent to.
-
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md
deleted file mode 100644
index 3617a44..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq
-title: RabbitMQ Publisher
-sidebar_label: RabbitMQ Publisher
-original_id: org.streampipes.sinks.brokers.jvm.rabbitmq
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.brokers.jvm.rabbitmq/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Forwards events to a RabbitMQ broker
-Add a detailed description here
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Host
-
-The hostname of the RabbitMQ broker.
-
-### Port
-
-The port of the RabbitMQ broker.
-
-### User
-
-The username used to connect to the RabbitMQ broker.
-
-### Password
-
-The password used to connect to the RabbitMQ broker.
-
-### Exchange Name
-
-The name of the exchange.
-
-### RabbitMQ Topic
-
-The topic where events should be sent to.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.rest/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.rest/documentation.md
deleted file mode 100644
index e890c09..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.brokers.jvm.rest/documentation.md
+++ /dev/null
@@ -1,36 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.brokers.jvm.rest
-title: REST Publisher
-sidebar_label: REST Publisher
-original_id: org.streampipes.sinks.brokers.jvm.rest
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.brokers.jvm.rest/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Posts a JSON representation of an event to a REST interface.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### REST URL
-
-The complete URL of the REST endpoint.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/documentation.md
deleted file mode 100644
index 5e7c9c2..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/documentation.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch
-title: Elasticsearch
-sidebar_label: Elasticsearch
-original_id: org.streampipes.sinks.databases.flink.elasticsearch
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.databases.flink.elasticsearch/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores data in an Elasticsearch database.
-
-***
-
-## Required input
-
-This sink requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Timestamp Field
-
-The field which contains the required timestamp.
-
-### Index Name
-
-The name of the Elasticsearch index where events are stored to.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/documentation.md
deleted file mode 100644
index 9140c60..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/documentation.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb
-title: CouchDB
-sidebar_label: CouchDB
-original_id: org.streampipes.sinks.databases.jvm.couchdb
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.databases.jvm.couchdb/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in an Apache CouchDB database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Hostname
-
-The hostname of the CouchDB instance.
-
-### Port
-
-The port of the CouchDB instance.
-
-### Database Name
-
-The name of the database where events will be stored
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/documentation.md
deleted file mode 100644
index 0877773..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/documentation.md
+++ /dev/null
@@ -1,68 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb
-title: InfluxDB
-sidebar_label: InfluxDB
-original_id: org.streampipes.sinks.databases.jvm.influxdb
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.databases.jvm.influxdb/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in an InfluxDB.
-
-***
-
-## Required input
-
-This sink requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname/URL of the InfluxDB instance. (Include http(s)://).
-
-### Port
-
-The port of the InfluxDB instance.
-
-### Database Name
-
-The name of the database where events will be stored.
-
-### Measurement Name
-
-The name of the Measurement where events will be stored (will be created if it does not exist).
-
-### Username
-
-The username for the InfluxDB Server.
-
-### Password
-
-The password for the InfluxDB Server.
-
-### Timestamp Field
-
-The field which contains the required timestamp.
-
-### Buffer Size
-
-Indicates how many events are written into a buffer, before they are written to the database.
-
-### Maximum Flush
-
-The maximum waiting time for the buffer to fill the Buffer size before it will be written to the database in ms.
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/documentation.md
deleted file mode 100644
index 077ddbd..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/documentation.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql
-title: PostgreSQL
-sidebar_label: PostgreSQL
-original_id: org.streampipes.sinks.databases.jvm.postgresql
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.databases.jvm.postgresql/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in a Postgres database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname of the PostgreSQL instance.
-
-### Port
-
-The port of the PostgreSQL instance (default 5432).
-
-### Database Name
-
-The name of the database where events will be stored
-
-### Table Name
-
-The name of the table where events will be stored (will be created if it does not exist)
-
-### Username
-
-The username for the PostgreSQL Server.
-
-### Password
-
-The password for the PostgreSQL Server.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/documentation.md
deleted file mode 100644
index 13290a2..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/documentation.md
+++ /dev/null
@@ -1,35 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard
-title: Dashboard Sink
-sidebar_label: Dashboard Sink
-original_id: org.streampipes.sinks.internal.jvm.dashboard
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.internal.jvm.dashboard/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This sink visualizes data streams in the StreamPipes dashboard. 
-Visualizations can be configured in Live Dashboard of StreamPipes after the pipeline has been started.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-No further configuration necessary, individual visualizations can be configured in the Dashboard itself.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.internal.jvm.notification/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.internal.jvm.notification/documentation.md
deleted file mode 100644
index bf63af3..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.internal.jvm.notification/documentation.md
+++ /dev/null
@@ -1,41 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.internal.jvm.notification
-title: Notification
-sidebar_label: Notification
-original_id: org.streampipes.sinks.internal.jvm.notification
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.internal.jvm.notification/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Displays a notification in the UI panel of StreamPipes.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-This sink does not have any requirements and works with any incoming event type.
-
-### Notification Title
-
-The title of the notification.
-
-### Content
-
-The notification message.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.email/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.email/documentation.md
deleted file mode 100644
index 5b19408..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.email/documentation.md
+++ /dev/null
@@ -1,50 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.notifications.jvm.email
-title: Email Notification
-sidebar_label: Email Notification
-original_id: org.streampipes.sinks.notifications.jvm.email
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.notifications.jvm.email/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This sink sends an email to a specified receiver.
-
-Before you use this sink, the settings of your email server need to be configured.
-After you've installed the element, navigate to ``Settings``, open the panel ``Sinks Notifications JVM`` and add your
- mail server and credentials.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-The following configuration is required:
-
-### Receiver Address
-
-The email address of the receiver.
-
-### Subject
-
-The subject of the email.
-
-### Content
-
-The mail text.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/documentation.md
deleted file mode 100644
index 9aeadca..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/documentation.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal
-title: OneSignal
-sidebar_label: OneSignal
-original_id: org.streampipes.sinks.notifications.jvm.onesignal
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.notifications.jvm.onesignal/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This sink sends a push message to the OneSignal application
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### App Id
-
-The OneSignal application ID.
-
-### API Key
-
-The OneSignal API key.
-
-### Content
-
-The message that should be sent to OneSignal
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.slack/documentation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.slack/documentation.md
deleted file mode 100644
index 459a00f..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/org.streampipes.sinks.notifications.jvm.slack/documentation.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.notifications.jvm.slack
-title: Slack Notification
-sidebar_label: Slack Notification
-original_id: org.streampipes.sinks.notifications.jvm.slack
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.notifications.jvm.slack/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Slack bot to send notifications directly into your slack
-
-Before you use this sink, the Slack token needs to be configured.
-After you've installed the element, navigate to ``Settings``, open the panel ``Sinks Notifications JVM`` and add your
-Slack API token.
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Receiver
-
-The receiver of the Slack message.
-
-### Channel Type
-
-The channel type, should be "User" or "Channel"
-
-### Content
-
-The message that should be sent.
-
-### 2nd parameter
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/privacy.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/privacy.md
deleted file mode 100644
index d444e81..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/privacy.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: privacy
-title: Datenschutzerklärung
-sidebar_label: Privacy Notice
-original_id: privacy
----
-
-## Verantwortliche Stelle
-FZI Forschungszentrum Informatik
-Haid-und-Neu-Straße 10-14
-76131 Karlsruhe
-
-E-Mail: datenschutz@fzi.de
-
-## Besuch der Webseite
-Wenn Sie auf unsere Webseite zugreifen werden automatisch folgende Informationen über Sie in Form von Server-Logfiles gespeichert:
-
-* Ihr Webbrowser
-* Ihr Betriebssystem
-* Ihre IP-Adresse und Port
-* Die aufgerufene Webseite oder Bestandteile davon
-* Die Webseite, von der Sie uns besuchen
-* Der Zugriffszeitpunkt
-* Diese Daten werden auf Basis von Art. 6 Abs. 1 lit. f DSGVO erhoben und der Zweck der Datenerhebung ist der Betrieb, die Wartung und der Schutz unserer Systeme. Die Daten fallen standardmäßig bei jedem Verbindungsaufbau mit einem Webserver im Internet an. Tritt ein Fehler bei der Nutzung unserer Webseite auf oder vermuten wir einen Angriff oder eine missbräuchliche Nutzung, dienen diese Daten dazu das eingetretene Szenario zu reproduzieren. Ihre IP-Adresse wird zusätzlich dazu genutzt um auf monatlicher Basis die Anzahl der Besucher auf unserer Webseite zu ermitteln. Alle derart erhobenen Daten werden für einen Zeitraum von 6 Monaten gespeichert und anschließend gelöscht.
-
-## Cookies und Analyse-Tool
-Auf dieser Website werden unter Einsatz der Webanalysedienst-Software Matomo (www.matomo.org), einem Dienst des Anbieters InnoCraft Ltd., 150 Willis St, 6011 Wellington, Neuseeland, („Mataomo“) auf Basis unseres berechtigten Interesses an der statistischen Analyse des Nutzerverhaltens zu Optimierungszwecken unserer Webseite gemäß Art. 6 Abs. 1 lit. f DSGVO Daten gesammelt und gespeichert. Aus diesen Daten können zum selben Zweck pseudonymisierte Nutzungsprofile erstellt und ausgewertet werden. Hierzu können Cookies eingesetzt werden. Bei Cookies handelt es sich um kleine Textdateien, die lokal im Zwischenspeicher des Internet-Browsers des Seitenbesuchers gespeichert werden. Die Cookies ermöglichen unter anderem die Wiedererkennung des Internet-Browsers. Die mit der Matomo-Technologie erhobenen Daten (einschließlich Ihrer pseudonymisierten IP-Adresse) werden auf unseren Servern verarbeitet. . Die durch das Cookie erzeugten Informationen im pseudonymen Nutzerprofil werden nicht dazu benutzt, den Besucher dieser Website persönlich zu identifizieren und nicht mit personenbezogenen Daten über den Träger des Pseudonyms zusammengeführt.
-
-## Ihre Rechte
-Als Betroffener einer Datenerfassung stehen Ihnen umfassende Rechte zu (Art. 15-23 DSGVO):
-
-* Das Recht jederzeit Auskunft über Ihre bei uns gespeicherten Daten zu erhalten
-* Das Recht die Einschränkung der Verarbeitung Ihrer Daten zu fordern oder der Verarbeitung zu widersprechen
-* Das Recht die Sperrung oder Löschung Ihrer Daten zu verlangen
-* Das Recht die Ihre Daten berichtigen zu lassen
-* Das Recht Ihre bei uns gespeicherten Daten in einem maschinenlesbaren Format zu erhalten („Datenübertragbarkeit“)
-* Möchten Sie Ihre Rechte geltend machen, schicken Sie uns einfach eine E-Mail an die oben genannte Kontaktadresse (datenschutz@fzi.de). Zusätzlich haben Sie natürlich jederzeit das Recht sich, bei Verdacht auf einen Verstoß gegen das Datenschutzrecht, bei der zuständigen Aufsichtsbehörde zu melden.
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/user-guide-getting-started.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/user-guide-getting-started.md
deleted file mode 100644
index b53a058..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/user-guide-getting-started.md
+++ /dev/null
@@ -1,223 +0,0 @@
----
-id: user-guide-getting-started
-title: Getting Started
-sidebar_label: Getting Started
-original_id: user-guide-getting-started
----
-
-This quick start explains how StreamPipes can be set up in the browser.
-Before starting with this guide, all steps from the installation guide must be finished successfully and StreamPipes must be up and running.
-Navigate to the StreamPipes graphical user interface in the browser.
-Use the IP or hostname of the server StreamPipes is running on.
-
-This guide consists of three steps.
-First, StreamPipes is configured, then all pipeline elements are installed.
-In the end of this quick start, you will create your first pipelines.
-Now lets begin with setting up StreamPipes.
- 
-
-## Setup StreamPipes
-In the browser you should see the image below.
-To set up the system enter a user email address and a password and click on install.
-Do NOT change the advanced settings, just click on install.
-The installation might take some time, continue by clicking on "Go to login page", once all components are successfully configured.
-If there is a problem with any of the components, please restart the whole system and delete the "config" directory on the server.
-This directory is in the same folder as the docker-compose.yml file.
-
-On the login page, enter your credentials, then you should be forwarded to the home page.
-Congratulations! You've just configured your first StreamPipes instance.
-The system configured all components by itself and the individual StreamPipes services are now ready.
-
-<div class="my-carousel">
-    <img src="/img/quickstart/setup/01_register_user.png" alt="Set Up User"/>
-    <img src="/img/quickstart/setup/02_user_set_up.png" alt="SetUp StreamPipes Components"/>
-    <img src="/img/quickstart/setup/03_login.png" alt="Go to login page"/>
-    <img src="/img/quickstart/setup/04_home.png" alt="Home page"/>
-</div>
-
-## First Examples
-
-In this tutorial, you will create two simple pipelines that demonstrate the basic functionality of StreamPipes.
-The first example deals with monitoring a flow rate sensor.
-This pipeline ensures that everything works properly and data is sent through the whole system.
-In the second example we model a more complex situation detection pipeline that triggers a notification.
-Let's start with our first pipeline.
-If you have problems with any of the examples, please send us an email.
-We are happy to help you.
-
-## Data Simulation
-All the data sources that we have integrated in the StreamPipes demonstrator are simulated according to real world sensors.
-For example a flow rate sensor in a water pipe, which measures how much water flows in that pipe or a water level sensor in a water tank, that reports how high the water level is in the tank.
-In the next section you will use the flow rate sensor to build your first pipeline.
-
-
-## Flow Rate Visualization
-In the first example, we create a live line chart to monitor the value of the mass flow from a flow rate sensor.
-
-### Create Pipeline
-* As a first step go to the pipeline editor
-* Select the **FRS1** (Flow Rate Source 1)source
-* Then navigate to the **Data Sink** tab
-* Select the **DS** (Dashboard Sink) and connect the source with the sink
-* After connecting the elements save the pipeline by clicking on the save button on the top left corner
-* In the save menu add a name *Flow Rate Monitoring* and a description *This is my very first pipeline!*
-* Also select the **Start pipeline immediatly** checkbox
-* Then click the button **Save and go to pipeline view**
-* You are navigated to the pipeline view and a confirmation that the pipeline was started successfully should be shown
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples/01_example1_empty.png" alt="Show Pipeline Editor Sources"/>
-    <img src="/img/quickstart/examples/02_example1_source.png" alt="Sources"/>
-    <img src="/img/quickstart/examples/03_example1_pipeline_finished.png" alt="Pipeline Finished"/>
-    <img src="/img/quickstart/examples/04_example1_save.png" alt="Saved Pipeline"/>
-    <img src="/img/quickstart/examples/05_example1_pipeline_started.png" alt="Pipeline 01 Started"/>
-</div>
-
-### Create Visualization
-* After we have created the pipeline we must create the line chart
-* Navigate to the **Live Dashboard** of StreamPipes
-* Click on the **Add visualization** button
-* Select the just created pipeline **Flow Rate Monitoring** and click the **next** button
-* For the visualization select the **Line Chart** and click **next** again
-* Now you have to enter the configuration for the line chart
-    * Select time mapping: **timestamp**
-    * Select number mapping: **mass_flow**
-    * Range Minimum: **0** 
-    * Range Maximum: **10**
-* When all parameters are set correctly click the next button again.
-* Congratulation you created the first pipeline and should now see the line chart
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples/06_example01_live_visualisation.png" alt="Visualize Pipeline"/>
-    <img src="/img/quickstart/examples/07_example01_first_step.png" alt="Configure Visualization Step 1"/>
-    <img src="/img/quickstart/examples/08_example01_second_step.png" alt="Configure Visualization Step 2"/>
-    <img src="/img/quickstart/examples/09_example01_third_step.png" alt="Configure Visualization Step 3"/>
-    <img src="/img/quickstart/examples/10_example1_finished.png" alt="Pipeline 01 Done"/>
-</div>
-
-
-## Condition monitoring of a water tank
-In our second example we are going to create a more complex pipeline.
-This pipeline has two sources, the flow rate sensor from the previous example and a source measuring the water level in a tank.
-Our goal is to send a notification when the flow rate stops and the water level in the water tank sinks too fast.
-In this case a service technician should check the system as soon as possible.
-This example should just illustrate how the individual components work.
-Since the system currently uses simulated data each time the situation occurs a notification is triggered.
-
-Now lets start!
-
-
-### Build the pipeline
-* First we have to select the **FRS1** (Flow Rate Sensor 1) and **WL1** (Water Level) form the sources tab
-* In a first step we want to detect when the flow rate stops
-* Use the **NF** (Numerical Filter) from the processing elements tab and connect it to the **FRS1** source
-* Configure the **Numerical Filter**:
-    * Field name for filter operator: **mass_flow**
-    * Filter Operation: **<**
-    * Threshold value: **1**
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples/11_example2_start.png" alt="Start Example 2"/>
-    <img src="/img/quickstart/examples/12_example2_numerical.png" alt="Select Numericl Filter"/>
-    <img src="/img/quickstart/examples/13_example2_configure_numerical.png" alt="Configure Numerical Filter"/>
-</div>
-
-* As a next step we add an aggregation to the water level. This reduces the inaccuracies we have because the water moves in the tank. 
-* Select the **A** (Aggregation) processing element
-* Connect the **WL1** with **A**
-* Configure **Aggregation**:
-    * Property Selection: **level**
-    * Operation: **Average**
-    * Time Window Size: **10**
-    * Output Frequency: **1**
-    * Groupe By: **None**
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples/14_example2_aggregate.png" alt="Select Aggregation"/>
-    <img src="/img/quickstart/examples/15_example2_configure_aggregate.png" alt="Configure Aggregation"/>
-</div>
-
-* With the next processing element we check if the water level decreases too fast
-* Select **I** (Increase) and connect it to **A**
-* Configure **Increase**:
-    * Timestamp field: **timestamp**
-    * Value to observe: **aggregatedValue** (This value is created by previous element)
-    * Group by: **sensorId**
-    * Increase / Decrease: **Decrease**
-    * Percentage of Increase / Decrease: **20**
-    * Time Window Length: **10**
-    * Select Output: **All**
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples/16_example2_increase.png" alt="Select Increase"/>
-    <img src="/img/quickstart/examples/17_example2_configure1_increase.png" alt="Configute 01 Increase"/>
-    <img src="/img/quickstart/examples/18_example2_configure2_increase.png" alt="Configute 02 Increase"/>
-</div>
-
-* Now we connect the two stream with the sequence element, which checks if both events occur in a certain time
-* Select **S** (Sequence) and connect both data streams to it
-* Configure **Sequence**:
-    * Time Window Size: **1**
-    * Time Unit: **sec**
-    
-<div class="my-carousel">
-    <img src="/img/quickstart/examples/19_example2_sequence.png" alt="Select Sequence Detection"/>
-    <img src="/img/quickstart/examples/20_example2_configure_sequence.png" alt="ConfigureSequence Detection"/>
-</div>
-
-* Now we create a notification for the service technician that something is wrong with the system
-* Select **N** (Notification) from the data sink tab
-* Connect **S**  with **N**
-* Configure **Notification**: 
-    * Notification title: **Alarm**
-    * Content: **One notification was triggered by our first complex pipeline. Yeahhhh!**
-    
-<div class="my-carousel">
-    <img src="/img/quickstart/examples/21_example2_notification.png" alt="Select Notification"/>
-    <img src="/img/quickstart/examples/22_example2_configure_notification.png" alt="Configure Notification"/>
-</div>
-
-* Add the dashboard sink to the increase element to monitor the preliminary results
-* Select **DS** and connect to **I**
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples/23_example2_dashboard_sink.png" alt="Select Dashboard"/>
-</div>
-
-* Save the pipeline 
-* Save configuration:
-    * Pipeline Name: **Second Pipeline**
-    * Description: **Complex monitorung rule**
-    * Start pipeline immediately: **CHECK**
-* Click **Save and go to pipeline view**
- 
-<div class="my-carousel">
-    <img src="/img/quickstart/examples/24_example2_save.png" alt="Save Pipeline"/>
-</div>
-
-* All pipeline elements should be started successfully 
-* It can be seen that the elements run on different technologies, in flink and a java container
-    * http://pe-flink-examples:8090
-    * http://pe-jvm-examples:8090
-* Go to visualization and create **Raw Data** visualization for the new pipeline   
-    
-<div class="my-carousel">
-    <img src="/img/quickstart/examples/25_example2_started.png" alt="Pipeline Started Sucessfull"/>
-    <img src="/img/quickstart/examples/26_example2_visualisation.png" alt="Add Visualization"/>
-</div>
-
-* Every time you can see output in the **Raw Data** visualization of the new pipeline and the **Line Chart** from the first example are zero, a Notification is triggered by the pipeline.
-* Go to the **Notifications** view and have a look at the notification
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples/27_example2_notification.png" alt="Show Notification"/>
-</div>
-
-
-Congratulation you finished the quick start!
-It is recommended to stop the last pipeline, because it will keep creating notifications ;)
-
-We hope we gave you an easy quick start into StreamPipes.
-If you have any questions or suggestions, just send us an email.
-From here on you can explore all features in the [User Guide](user-guide-introduction.md) or go to the [Developer Guide](dev-guide-introduction.md) to learn how to write your own StreamPipes processing elements.
-
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/user-guide-installation.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/user-guide-installation.md
deleted file mode 100644
index d5b06ad..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/user-guide-installation.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-id: user-guide-installation
-title: Installation
-sidebar_label: Installation
-original_id: user-guide-installation
----
-
-<div class="admonition error">
-<div class="admonition-title">StreamPipes desktop version</div>
-<p>StreamPipes usually runs on a big data infrastructure. We did our best that you can install it yourself with less powerful hardware, even on your laptop.<br/>
-    If you have any problems or are interested in a production system please <a href="mailto:feedback@streampipes.org">contact us</a>!</p>
-</div>
-
-## Prerequisites
-StreamPipes is a modern web application, therefore you need Chrome (recommended) or Firefox to test it.
-
-### Supported operating systems
-We rely on Docker and support three operating systems for the StreamPipes system
-
-* Linux
-* OSX
-* Windows 10
-    * Please note that older Windows versions are not compatible with Docker. Also Linux VMs under Windows might not work, due to network problems with docker.
-
-### Installation
-You need to have Docker installed on your system before you continue with the installation guide.
-
-
-<div class="admonition info">
-<div class="admonition-title">Install Docker</div>
-<p>Go to https://docs.docker.com/installation/ and follow the instructions to install Docker for your OS. Make sure docker can be started as a non-root user (described in the installation manual, don’t forget to log out and in again) and check that Docker is installed correctly by executing docker-run hello-world</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Configure Docker</div>
-<p>By default, Docker uses only a limited number of CPU cores and memory.
-       If you run StreamPipes on Windows or on a Mac you need to adjust the default settings.
-       To do that, click on the Docker icon in your tab bar and open the preferences.
-       Go to the advanced preferences and set the **number of CPUs to 6** (recommended) and the **Memory to 8GB**.
-       After changing the settings, Docker needs to be restarted.</p></div>
-
-
-<div class="admonition warn">
-<div class="admonition-title">Server Recommendations</div>
-<p>
-<li>Unix based OS is recommended (also works with Windows)</li>
-    <li>min. 12 GB RAM (16 recommended)</li>
-    <li>Docker (latest version, see instructions above)</li>
-    <li>Docker Compose (latest version., see instructions above)</li>
-</p>
-</div>
-
-## Install StreamPipes
-We provide a script to install, stop, and start StreamPipes.
-
-
-The installer is available in two different versions, one to run StreamPipes on your laptop and another big data version which is intended to be run on a more powerful computer or server.
-In the desktop version, only a limited amount of processors is available to ensure that the system also runs with less memory.
-
-<div class="admonition info">
-<div class="admonition-title">Installation might take some minutes</div>
-<p> StreamPipes is a modular, easily extensible system consisting of several micro services.
-       The installer automatically downloads all required services. Depending on your internet connection, the first installation may take some while.</p></div>
-
-
-<a href="https://github.com/streampipes/streampipes-installer" target="_blank">Download Installer on GitHub</a>
-
-
-After installing it, open your browser and navigate to `localhost`.
-
-Now you can continue with the tutorial on page [Getting Started](user-guide-getting-started.md).
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/user-guide-introduction.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/user-guide-introduction.md
deleted file mode 100644
index db53a9b..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/user-guide-introduction.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-id: user-guide-introduction
-title: Introduction
-sidebar_label: Introduction
-original_id: user-guide-introduction
----
-
-StreamPipes is a framework that enables users to work with data streams.
-It uses a lot of different technologies especially form the fields of big data, distributed computing and semantic web.
-One of the core concepts of StreamPipes is to add a higher semantic layer on top of big data processing technologies to ease their usage.
-StreamPipes is not just a UI, it is a framework with a lot of different capabilities, like modelling new data processing pipelines, execute them in a distributed environment.
-On top it uses semantics to provide guidance to non-technical people for better analyzing their data streams in a self-service manner.
-
-
-
-## Pipelines
-The core concept of StreamPipes are data processing pipelines.
-Those pipelines use data from different sources (Data Streams), then transform it via Processing Elements and store them in an database or send it to third party systems (Data Sinks).
-A brief introduction is given in the following sections.
-At the next page a detailed tour through StreamPies explains all the different features that are available.
-
-
-## Data Streams
-Data Streams represent the primary source for data in StreamPipes.
-A stream is an ordered sequence of events, where an event is described as one or more observation values.
-Those events can come from different sources like sensors, machines, log files or many more.
-It does not matter what kind of serialization format the events have or which kind of transportation protocol the individual data streams use.
-As long as a semantic description is provided StreamPipes is capable of processing the data.
-
-
-## Processing Elements
-Processing Elements are defined as an processor that transforms one or more input event streams to an output event stream. 
-Those transformations can be rather simple like filtering out events based on a predefined rule or more complex by applying algorithms on the data.  
-Processing elements define stream requirements that are a set of minimum properties an incoming event stream must provide. 
-Furthermore, Processing Elements describe their output based on a set of output strategies.
-They also describe further (human) input in form of configuration parameters.
-The Processing Elements can be implemented in multiple technologies.
-This information is not necessary when constructing a pipeline, the user does not need to know where and how the actual algorithm is deployed and executed.
-During the modelling phase it is possible to set configuration parameters, wich are then injected into the program when it is started.
-A description is provided for all parameters and it is ensured by the system that the user can just enter semantically correct values.
-
-
-## Data Sinks
-Data Sinks consume event streams similar to processing elements with the difference that sinks do not provide an output stream, i.e., they are defined as sinks that perform some action or trigger a visualization as a result of a stream transformation.
-The sinks also define stream requirements that must be fulfilled.
-In a pipeline it is not necessary to use a processing element to transform data.
-Often it can make sense to just use a data sink and connect it directly to the sensor to store the raw data into a data store for offline analysis.
-This is very simple with StreamPipes and no additional code must be written to create such a data lake.
-
-
-## Target Audience
-StreamPipes focuses on multiple target groups.
-This guide is for users who interact with the graphical user interface in the browser.
-If you are interested in the technical details or plan to extend the system with new algorithms, please read the Developer Guide.
-The graphical user interface is designed for domain experts who want to analyze data, but are not interested in technical details and do not want to write code.
-The SDK can be used by software developers to extend the framework with new functionality.
-After importing newly developed pipeline elements, they are available to all users of StreamPipes.
-
-
-## Next Steps
-To test StreamPipes on your local environment go to the [installation guide](user-guide-installation.md).
-If you are further interested in the concepts of StreamPipes continue with the [tour](user-guide-tour.md).
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/user-guide-processing-elements.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/user-guide-processing-elements.md
deleted file mode 100644
index 14ed843..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/user-guide-processing-elements.md
+++ /dev/null
@@ -1,130 +0,0 @@
----
-id: user-guide-processing-elements
-title: Processing Elements
-sidebar_label: Processing Elements
-original_id: user-guide-processing-elements
----
-
-This page explains all the Procesing Elements that are available in the StreamPipes Starter Kit.
-New Processing Elements can also be included during runtime.
-The once presented on this page come with StreamPipes and cen be used immediately. 
-The next section "Developer Guide" explains how new Processing Elements can be implemented and integrated into StreamPipes.
-
-## Data Streams
-
-<details class="info">
-<summary>Water Level</summary>
- 
-  {'{'}
-        "underflow": false,
-        "overflow": false,
-        "level": 74.2184,
-        "timestamp": 1515450274503,
-        "sensorId": "level01"
-  {'}'}
-</details>
-
-<details class="info">
-<summary>Flow Rate</summary>
-
-		Example Event:
-			{'{'}
-				"mass_flow":5.344,
-				"temperature":45.8665,
-				"timestamp":1515450053387,
-				"sensorId":"flowrate01"
-        {'}'}
-</details>
-
-<details class="info">
-<summary>Pressure Tank</summary>
-
-    Example Event:
-		{'{'}
-			"pressure": 57.1648,
-			"timestamp": 1515450424800,
-			"sensorId": "pressure01"
-		  {'}'}
-</details>
-
-<details class="info">
-<summary>Vehicle Position</summary>
- 		Example Event:
-		{'{'}
-			"latitude": 40.7551,
-			"plateNumber": "level02",
-			"timestamp": 1515450606449,
-			"longitude": -73.953
-		  {'}'}
-</details>
-    
-## Processing Elements
-
-<div class="admonition info">
-<div class="admonition-title">Numerical Filter</div>
-<p>Filters numerical values based on a given threshold</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Projection</div>
-<p>Outputs a subset of an incoming event, e.g., if the input event contains both temperature and machineId, only the temperature can be send to the next component</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Text Filter</div>
-<p>Filters text-based fields based on a filter condition</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Aggregation</div>
-<p> Can be used to aggregate measurements, e.g., to calculate the average temperature during the last 10 minutes</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Peak Detection</div>
-<p>This component detects peaks in time series data</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Timestamp Enrichment</div>
-<p>Appends the current time to any incoming event</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Increase</div>
-<p>Detects the increase of a value over time, e.g., a 10-percent-increase of the temperature within 5 minutes</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Co-Occurrence</div>
-<p>Can be used to detect the co-occurrence of two events, e.g., a high temperature occurs together with high dust particle level within 10 minutes
-</p>
-</div>
-
-## Data Sinks
-
-<div class="admonition info">
-<div class="admonition-title">Notification</div>
-<p>Creates a notification in the ProaSense UI.</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Dashboard</div>
-<p>Forwards events to the visualization component</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">CouchDB</div>
-<p>Stores data in a CouchDB database</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Kafka Publisher</div>
-<p>Forwards data to a Kafka cluster</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Elasticsearch</div>
-<p>Stores data in an Elasticsearch cluster</p>
-</div>
-
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/user-guide-software-components.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/user-guide-software-components.md
deleted file mode 100644
index aea7409..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/user-guide-software-components.md
+++ /dev/null
@@ -1,335 +0,0 @@
----
-id: user-guide-software-components
-title: Software Components
-sidebar_label: Software Components
-original_id: user-guide-software-components
----
-
-This page contains all the software components that can be used within the StreamPipes framework.
-Some of them are mandatory but others are just necessary for a special capabilities.
-In the [Installation Guide](user-guide-installation.md) we  already provide a docker-compose.yml file with all the necessary components 
-for a minimal setup.
-Extend this configuration files with further containers described on this page and configure StreamPipes
-according to your needs.
-
-
-## StreamPipes Framework
-
-<details class="tip">
-<summary>StreamPipes Backend</summary>
-
-#### Description
-The StreamPipes Backend is the main component of the StreamPipes Framework. It contains the application logic to create and execute pipelines.
-Furthermore, it provides a REST-API that is used by other components for communication.
-
-#### Docker Compose
-```yaml
-backend:
-  image: streampipes/backend
-  depends_on:
-    - "consul"
-  ports:
-    - "8030:8030"
-  volumes:
-    - ./config:/root/.streampipes
-    - ./config/aduna:/root/.aduna
-  networks:
-    spnet:
-```
-</details>
-
-
-<details class="tip">
-<summary>StreamPipes UI</summary>
-
-#### Description
-This service uses nginx and contains the UI of StreamPipes.
-The UI can, for example, be used to import new pipeline elements, create new pipelines and manage the pipeline
-execution. The UI communicates with the backend via the REST interface.
-
-#### Docker Compose
-```yaml
-nginx:
-  image: streampipes/ui
-  ports:
-    - "80:80"
-  depends_on:
-    - backend
-  networks:
-    spnet:
-```
-</details>
-
-## StreamPipes Services
-
-<details class="tip">
-<summary>Consul</summary>
-#### Description
-Consul is used to store configuration parameters of the backend service and processing elements.
-It is further used for service discovery. Once a processing element container is started in the network, it is
-automatically discovered via the service discovery feature of Consul.
-
-#### Docker Compose
-```yaml
-consul:
-    image: consul
-    environment:
-      - "CONSUL_LOCAL_CONFIG={'{\"disable_update_check\": true}'}"
-      - "CONSUL_BIND_INTERFACE=eth0"
-      - "CONSUL_HTTP_ADDR=0.0.0.0"
-    entrypoint:
-      - consul
-      - agent
-      - -server
-      - -bootstrap-expect=1
-      - -data-dir=/consul/data
-      - -node=consul-one
-      - -bind={'{{ GetInterfaceIP "eth0" }}'}
-      - -client=0.0.0.0
-      - -enable-script-checks=true
-      - -ui
-    volumes:
-      - ./config/consul:/consul/data
-    ports:
-      - "8500:8500"
-      - "8600:8600"
-    networks:
-      spnet:
-        ipv4_address: 172.30.0.9
-```
-</details>
-
-<details class="tip">
-<summary>Zookeeper</summary>
-#### Description
-Apache Kafka and Apache Flink require zookeeper to manage their clusters.
-
-#### Docker Compose
-```yaml
-zookeeper:
-    image: wurstmeister/zookeeper
-    ports:
-      - "2181:2181"
-    networks:
-      spnet:
-```
-</details>
-
-<details class="tip">
-<summary>Kafka</summary>
-
-#### Description
-Kafka is used as the primary message broker. It is possible to use other brokers or even multiple message brokers in a single pipeline, but Kafka is the
-default. The communication between the processing elements in a pipeline is mostly done via Kafka.
-
-#### Docker Compose
-```yaml
-  kafka:
-    image: wurstmeister/kafka:0.10.0.1
-    ports:
-      - "9092:9092"
-    environment:
-      KAFKA_ADVERTISED_HOST_NAME: ###TODO ADD HOSTNAME HERE ###
-      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
-    volumes:
-      - /var/run/docker.sock:/var/run/docker.sock
-    networks:
-      spnet:
-```
-</details>
-
-<details class="tip">
-<summary>ActiveMQ</summary>
-#### Description
-ActiveMQ is another message broker which can be used in addition to Kafka. Currently, the main purpose is to provide
-an endpoint for the websocket connections required by the real-time dashboard of the StreamPipes UI.
-
-#### Docker Compose
-```yaml
-activemq:
-  image: streampipes/activemq
-  ports:
-    - "61616:61616"
-    - "61614:61614"
-    - "8161:8161"
-  networks:
-    spnet:
-
-    ```
-</details>
-
-<details class="tip">
-<summary>CouchDB</summary>
-
-#### Description
-CouchDB is the main database for StreamPipes data that needs to be persisted such as pipelines, users and visualizations created in the dashboard.
-
-#### Docker Compose
-```yaml
-couchdb:
-  image: couchdb
-  ports:
-    - "5984:5984"
-  volumes:
-    - ./config/couchdb/data:/usr/local/var/lib/couchdb
-  networks:
-    spnet:
-```
-</details>
-
-<details class="tip">
-<summary>Flink</summary>
-#### Description
-This service sets up a sample flink cluster with one jobmanager and one taskmanager. Although this cluster can be used for testing, it is not recommended for production use.
-
-#### Docker Compose
-```yaml
-jobmanager:
-  image: streampipes/flink
-  ports:
-    - "8081:8099"
-  command: jobmanager
-  networks:
-    spnet:
-
-
-taskmanager:
-  image: ipe-wim-gitlab.fzi.de:5000/streampipes/services/flink
-  command: taskmanager
-  environment:
-    - FLINK_NUM_SLOTS=20
-  networks:
-    spnet:
-```
-</details>
-
-
-## Processing Elements
-
-<details class="tip">
-<summary>PE Examples Sources</summary>
-#### Description
-This Processing Element Container contains several sample data sources that can be used to work with StreamPipes.
-It consists of sources descriptions and data simulators that constantly produce data.
-
-#### Docker Compose
-```yaml
-    pe-examples-sources:
-      image: streampipes/pe-examples-sources:
-      depends_on:
-        - "consul"
-      ports:
-        - "8098:8090"
-      networks:
-        spnet:
-```
-</details>
-
-<details class="tip">
-<summary>PE Examples JVM</summary>
-
-#### Description
-This Processing Element Container contains some sink example implementations, like for example the real-time
-dashboard. This can be used to visualize data within StreamPipes.
-
-#### Docker Compose
-```yaml
-      pe-exanmples-jvm:
-        image: streampipes/pe-examples-jvm
-        depends_on:
-          - "consul"
-        environment:
-          - STREAMPIPES_HOST=###TODO ADD HOSTNAME HERE ###
-        ports:
-          - "8096:8090"
-        networks:
-          spnet:
-```
-</details>
-
-<details class="tip">
-<summary>PE Examples Flink</summary>
-
-#### Description
-The Flink Samples Processing Element Container contains some example algorithms that can be used within processing
-pipelines in the pipeline editor. Those algorithms are deployed to a Flink cluster once the pipeline is started.
-
-#### Docker Compose
-```yaml
-  pe-flink-samples:
-    image: streampipes/pe-examples-flink
-    depends_on:
-      - "consul"
-    ports:
-      - "8094:8090"
-    volumes:
-      - ./config:/root/.streampipes
-    networks:
-      spnet:
-```
-</details>
-
-### Third Party Services
-
-<details class="tip">
-<summary>Elasticsearch</summary>
-
-#### Description
-This service can be used to run Elasticsearch. Data can be written into Elasticsearch with the Elasticsearch
-sink of the PE Flink samples conatiner.
-
-#### Docker Compose
-```yaml
-elasticsearch:
-  image: ipe-wim-gitlab.fzi.de:5000/streampipes/services/elasticsearch
-  ports:
-    - "9200:9200"
-    - "9300:9300"
-  volumes:
-    - ./config/elasticsearch/data:/usr/share/elasticsearch/data
-  networks:
-    spnet:
-```
-</details>
-
-<details class="tip">
-<summary>Kibana</summary>
-#### Description
-Kibana is used to visualize data that is written into Elasticsearch. It can be used in addition to our live dashboard
-to analyse and visualize historic data.
-
-#### Docker Compose
-```yaml
-kibana:
-  image: kibana:5.2.2
-  ports:
-    - "5601:5601"
-  volumes:
-    - ./config/kibana/kibana.yml:/opt/kibana/config/kibana.yml
-  environment:
-    - ELASTICSEARCH_URL=http://elasticsearch:9200
-  networks:
-    spnet:
-```
-</details>
-
-
-<details class="tip">
-<summary>Kafka Web Console</summary>
-
-#### Description
-The kafka web console can be used to monitor the kafka cluster. This is a good tool for debugging your newly
-developed pipeline elements.
-
-#### Docker Compose
-```yaml
-kafka-web-console:
-  image: hwestphal/kafka-web-console
-  ports:
-    - "9000:9000"
-  volumes:
-    - ./config:/data
-  networks:
-    spnet:
-```
-</details>
diff --git a/website-v2/versioned_docs/version-0.55.2-pre-asf/user-guide-tour.md b/website-v2/versioned_docs/version-0.55.2-pre-asf/user-guide-tour.md
deleted file mode 100644
index 200d512..0000000
--- a/website-v2/versioned_docs/version-0.55.2-pre-asf/user-guide-tour.md
+++ /dev/null
@@ -1,288 +0,0 @@
----
-id: user-guide-tour
-title: Tour
-sidebar_label: Tour
-original_id: user-guide-tour
----
-
-StreamPipes is a framework that enables domain experts to model and execute stream processing pipelines in a big data infrastructure.
-The graphical user interface of StreamPipes is a web application that provides an easy to use solution for domain experts.
-In this page, an overview of the many features of StreamPipes is given. We will tour through all features and explain what they do and how users can interact with them.
-
-First of all, a user needs to log in to the system.
-The credentials for the user are specified during the installation process.
-
-![StreamPipes Login](/img/features/login.png) 
-
-## Home
-After logging in, the user is redirected on to the home page.
-The home page gives an overview over the different features available in the StreamPipes UI.
-
-On the left, the navigation menu can be seen.
-You can either use the icons on the left side or click on the menu icon on the
-top left to open the details view of the navigation menu.
-
-On the top right, a link refers to the documentation and the logout button is present.
-
-<div class="my-carousel">
-    <img src="/img/features/home/home.png" alt="Home"/>
-    <img src="/img/features/home/menu.png" alt="Menu"/>
-    <img src="/img/features/home/open_menu.png" alt="Open Menu"/>
-    <img src="/img/features/home/logout.png" alt="Logout"/>
-</div>
-
-
-
-## Pipeline Editor
-The first feature we are going to explain is the Pipeline Editor.
-This is one of the central features of StreamPipes, since graphical modeling of pipelines takes place in this view.
-
-On the top we can see three tabs: __Data Streams__, __Processing Elements__, and __Data Sinks__.
-Each tab contains multiple pipeline elements, which can be installed at runtime.
-The installation of pipeline elements is explained later in section [Install Pipeline Elements](user-guide-tour.md#install-pipeline-elements).
-
-<div class="my-carousel">
-    <img src="/img/features/editor/1_data_streams.png" alt="Data Streams"/>
-    <img src="/img/features/editor/2_processing_elements.png" alt="Processing Elements"/>
-    <img src="/img/features/editor/3_data_sinks.png" alt="Data Sinks"/>
-</div>
-
-There are multiple ways to search for a pipeline element. 
-The easiest way is to enter a search term in the search field on the top left corner.
-The system filters the elements according to the search term and only presents the relevant ones.
-Another way is to select one of the categories from the drop down menu.
-The system then filters the elements according to the selected category.
-The category of an element is defined by its functionality.
-
-<div class="my-carousel">
-    <img src="/img/features/editor/4_text_filter.png" alt="Text Filter"/>
-    <img src="/img/features/editor/5_category_drop_down.png" alt="Category Drop Down"/>
-    <img src="/img/features/editor/6_category_filter.png" alt="Category Filter"/>
-</div>
-
-Modelling of a pipeline starts with choosing one ore more data sources. Therefore a data stream must be selected
-and moved into the editor via drag and drop.
-After adding a data stream, we can select a processing element to transform the events of the data stream.
-This is done again by dragging the processing element icon into our editor.
-The mouse can be used to connect the two elements.
-It is automatically checked in the background if the two elements are semantically compatible.
-If this check is successful, a configuration menu is shown. It contains the parameters that can be modified by the
-user. For all parameters, a description is provided and the system also prevents the user from entering parameters that
-are not correct, according to the semantic description of the element.
-It is also ensured that all required parameters are provided by the user, otherwise an error message is displayed.
-
-
-<div class="my-carousel">
-    <img src="/img/features/editor/7_connect_elements.png" alt="Connect Elements"/>
-    <img src="/img/features/editor/8_configure_element.png" alt="Configure Elements"/>
-</div>
-
-When the user tries to connect two elements that are not compatible, the system shows a __connection error__ message.
-The example illustrated below shows such a case. The user tried to connect a text filter to a temperature sensor.
-This is not possible since the text filter processing element requires at least one event property of type string, which is not provided by the temperature sensor.
-
-![Connection Error](/img/features/editor/9_connection_error.png)
-
-To further improve the usability, multiple ways are available to connect new elements besides the drag and drop option.
-Each processing element has multiple short-cut buttons to connect it with another element.
-The first one can be used to get a suggestion of all elements that are compatible with the current element.
-The second one gives a recommendation on the elements the user might want to connect, based on the usage of the component in
-other pipelines.
-There is also a button to open the documentation of a selected element.
-Elements can be deleted by clicking the 'delete' button.
-Each element can also be re-configured at a later point in time using the configuration button.
-There is one important aspect about re-configuration of pipeline elements you need to be aware of: Only elements that are not yet connected to another element can be modified.
-The reason for this behaviour is that some of the following elements might rely on the configuration of previous elements.
-This way it is ensured that the user can not change the behaviour of the pipeline by accident.
- 
-
-<div class="my-carousel">
-    <img src="/img/features/editor/10_shortcut_buttons.png" alt="Shortcut Buttons"/>
-    <img src="/img/features/editor/11_compatible_elements.png" alt="Compatible Elements"/>
-    <img src="/img/features/editor/12_recommend_elements.png" alt="Recommended elements"/>
-</div>
-
-
-After the pipeline is completely modelled, the editor looks similar to the first image below.
-Especially for larger pipelines, the auto layout button in the editor menu might be helpful.
-With this button, the pipeline will be beautifully aligned in the editor, helping users to get a better overview of the complete pipeline.
-On the top left corner of the editor, the 'save' button can be found.
-After the modelling of the pipeline is done, use this button to save and execute the pipeline.
-A save dialogue pops up when clicking the save button. 
-The pipeline title must be entered and an additional description can be provided.
-It is recommended to always provide a description, because it makes it easier for other users to understand the meaning of the pipeline.
-In the save menu, the user can either just store the pipeline configuration or store it and immediately start the pipeline.
-Once the pipeline is executed, the user is redirected to the _Manage Pipeline_ view.
-In this view, the user gets immediate feedback whether all components did start correctly and the pipeline is up and running.
-This view also shows that individual elements might run in different environments on different servers.
-If there is an error during the execution, a notification containing a (hopefully) detailed error description is provided in this view.
-
-<div class="my-carousel">
-    <img src="/img/features/editor/13_save_adjust.png" alt="Save adjust delete"/>
-    <img src="/img/features/editor/14_save_dialogue.png" alt="Complete pipeline"/>
-    <img src="/img/features/editor/15_pipeline_sucessfully_started.png" alt="Pipeline sucessfully started"/>
-</div>
-
-
-## Manage Pipelines
-The _Manage Pipelines_ view provides an overview of all existing pipelines.
-Existing pipelines can be managed using this view.
-For instance, users can start and stop pipelines or delete them when they are not longer needed.
-Pipeline actions can be performed by clicking one of the buttons next to each pipeline.
-For each pipeline, the title and description is displayed in the table.
-By clicking the edit button, they can also be inspected in more detail.
-
-<div class="my-carousel">
-    <img src="/img/features/manage_pipelines/1_pipeline_overview.png" alt="Pipeline Overview"/>
-    <img src="/img/features/manage_pipelines/2_start_stop_pipeline.png" alt="Start stop Pipelines"/>
-    <img src="/img/features/manage_pipelines/3_delete_pipeline.png" alt="Delete Pipelines"/>
-    <img src="/img/features/manage_pipelines/4_pipeline_deleted.png" alt="Delete Pipelines"/>
-</div>
-
-In a setting with many defined pipelines, it can get really hard to keep track of all pipelines.
-This is why we introduce categories.
-A category is a set of pipelines that can be defined by users in order to better organize pipelines.
-By clicking on the "Manage Categories" button on the top left, a new category can be added to StreamPipes.
-In this example, we create a new category named "New Demo Category".
-After saving a category, pipelines can be added to the newly created category.
-The new category is then presented as a tab in the _Pipeline Management_ view.
-This tab contains all previously defined pipelines.
-
-<div class="my-carousel">
-    <img src="/img/features/manage_pipelines/5_pipeline_category.png" alt="Pipeline Category"/>
-    <img src="/img/features/manage_pipelines/6_add_category.png" alt="Add Pipeline Category"/>
-    <img src="/img/features/manage_pipelines/7_new_category.png" alt="New Category"/>
-    <img src="/img/features/manage_pipelines/8_show_new_category.png" alt="Show new Category"/>
-</div>
-
-## Live Dashboard
-The live dashboard can be used for multiple use cases.
-It is a good way to live monitor a running system in a dashboard, but it can also be used during the pipeline development to get a fast feedback from newly created pipelines.
-Below is a screenshot of an example dashboard showing the current value of a water level, which further shows a line chart and a map.
-All pipelines that contain the "Dashboard Sink" can be visualized in this view.
-To add a new visualisation, click on the "Add visualisation" button on the top left corner.
-Afterwards, a three-step configuration menu is shown.
-The first step is to select the pipeline that should be visualized.
-In the second step, the type of visualization can be defined.
-Currently. 9 different types are available, including line charts, various map visualizations and data tables.
-After selecting the type (in our example "Gauge"), you can select the specific measurement values of the data stream that should be displayed.
-In the example below, the water level value should be monitored and the gauge value should range from 0 to 100.
-Once all steps are completed, the new visualization is placed on the dashboard and live data is presented as soon as it becomes available.
-
-<div class="my-carousel">
-    <img src="/img/features/dashboard/01_dashboard.png" alt="Screenshot of live dashboard"/>
-    <img src="/img/features/dashboard/06_add_new.png" alt="New Visualization"/>
-    <img src="/img/features/dashboard/02_new_visualisation.png" alt="Select Pipeline to visualize"/>
-    <img src="/img/features/dashboard/03_select_gauge.png" alt="Select Visualization Type"/>
-    <img src="/img/features/dashboard/04_configure_gauge.png" alt="Configure  Visualzation"/>
-    <img src="/img/features/dashboard/05_new_gauge_done.png" alt="Show new Visualzation"/>
-</div>
-
-## File Download
-With the file download,  it is possible to download stored files directly from Elasticsearch.
-This can be very useful for example when a data dumb is needed for a specific time range.
-All data that is written into Elasticsearch using the _Elasticsearch Sink_ can be accessed by the file downloader.
-A common use case is to download data for offline analysis and to train a machine learning algorithm.
-First, an index must be defined, afterwards, the time range must be set.
-A date picker helps users to enter the time range.
-When a user clicks the "Create File" button the file is created.
-All files stored on the server can be downloaded via the download button.
-If the files are not longer needed, they can be deleted by clicking the delete button.
-This will remove the file from the server.
-Since data is stored in Elasticsearch anyways. it is recommended not to store the files for a longer period of time on the server.
-When a file is needed again at a later point in time it is easy to create it again. 
-This way a lot of disk space on the server can be saved, especially when the files are rather large.
-
-<div class="my-carousel">
-    <img src="/img/features/file_download/01_file_download.png" alt="File Download"/>
-    <img src="/img/features/file_download/02_file_download.png" alt="File Download with selected time range"/>
-    <img src="/img/features/file_download/03_file_downloaded.png" alt="File Download with new File"/>
-</div>
-
-## Notifications
-Notifications are a good solution to notify someone when a specific situation occurs.
-A notification can be created by using the notification sink in the pipeline editor.
-When using such a sink a configuration dialogue is presented to the user.
-In this dialogue the user must provide enough information to resolve the solution when it occurs.
-The message can be nicely configured in the message editor.
-It is also possible to embed values of the event that triggered the notification.
-This can be done with the #property# notation.
-All available properties are presented in the notification configurator.
-When the notification is triggered the #property# template is replaced with the actual value of the property.
-
-<div class="my-carousel">
-    <img src="/img/features/notification/01_select_notification_sink.png" alt="Select Notification"/>
-    <img src="/img/features/notification/02_configure_notification.png" alt="Configure Notification"/>
-    <img src="/img/features/notification/03_use_event_properties.png" alt="Use Event Properties"/>
-</div>
-
-A pop up icon on the notification tab in the menu shows the user how many unread notifications currently are in the system.
-This icon also alerts users when new notifications occur.
-In the notification overview all notifications are listed.
-On the top are the new notifications that are not read yet.
-A user can mark them as read by clicking on the little envelope icon.
-Those notifications are then no longer in the unread section, but they remain in the "All Messages" view.
-This way it is possible to keep track of all notifications and have a look at them at a later point in time.
-
-<div class="my-carousel">
-    <img src="/img/features/notification/04_new_notification.png" alt="New Notification"/>
-    <img src="/img/features/notification/05_mark_read.png" alt="Mark Notification as read"/>
-    <img src="/img/features/notification/06_marked_as_read.png" alt="Notification read"/>
-</div>
-
-
-## Install Pipeline Elements
-StreamPipes is highly configurable and extensible.
-Pipeline elements can be added and removed during runtime.
-This can be done in the "Install Pipeline Elements" view.
-All available pipeline elements are shown here and can be selected to install or uninstall.
-It is also possible to select multiple or all of them and then install them all together.
-When a new element is installed by the user it is automatically available in the "Pipeline Editor" and can be used for pipelines.
-Elements that are uninstalled are removed from the system. 
-They can not longer be used within pipelines.
-
-<div class="my-carousel">
-    <img src="/img/features/install_elements/01_install_elements.png" alt="Install Elements View"/>
-    <img src="/img/features/install_elements/02_install_absence.png" alt="Insall new Element"/>
-    <img src="/img/features/install_elements/03_installed_absence.png" alt="Installation Successful"/>
-    <img src="/img/features/install_elements/04_abcense_in_editor.png" alt="Show new installed element"/>
-</div>
-
-
-## My Elements
-The "My Elements" view gives a quick overview over all installed pipeline elements.
-Here they can be inspected and the description can be re-imported.
-In this view it is also possible to have a look at the JSON-LD representation of each element.
-This is not important for a user, but it is worth noting that the system uses this machine understandable format to support the user.
-For example all the information of the sources, like data schema or unit information is in the JSON-LD meta data.
-
-<div class="my-carousel">
-    <img src="/img/features/my_elements/01_my_elements.png" alt="My Elements Overview"/>
-    <img src="/img/features/my_elements/02_my_elements_jsonls.png" alt="View JSON-LD"/>
-    <img src="/img/features/my_elements/03_jsonld.png" alt="See JSON-LD"/>
-</div>
-
-## Configuration
-The last feature is the _configuration view_.
-Here, it is possible to change the configuration parameters of installed components.
-All components containing processing elements automatically register in StreamPipes when they are started in the same network as the backend component.
-Once a container is registered it is represented in the configuration view.
-The green dot on the top left indicates that tha container is running properly.
-When there is a problem with a container the green dot changes to red and the user knows there is a problem.
-To configure the parameters the top right arrow of a configuration box must be clicked.
-Then the configuration menu pops up. 
-Within there it is possible to change the parameters of a service.
-To make the changes persistent the "Update" button must be clicked.
-A user should keep in mind that sometimes it is necessary to restart a container when the parameters are changed.
-Sometimes it is also necessary to re-import the pipeline element description, either by uninstalling and re-installing them after the container restart or be reloading the description in the "My elements" view.
-
-<div class="my-carousel">
-    <img src="/img/features/configuration/01_configuration_overview.png" alt="Configuration Overview"/>
-    <img src="/img/features/configuration/02_status.png" alt="Status of Processing Element Containers"/>
-    <img src="/img/features/configuration/03_change_config.png" alt="Change Configuration"/>
-</div>
-
-
-Congratulations! You've just finished your first tour of StreamPipes.
-Although there's still more to learn, we introduced most of the currently available features.
-On the next page, the different processing elements that come with the installation are explained.
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-archetype.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-archetype.md
deleted file mode 100644
index 769d09b..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-archetype.md
+++ /dev/null
@@ -1,143 +0,0 @@
----
-id: dev-guide-archetype
-title: Start Developing
-sidebar_label: Start Developing
-original_id: dev-guide-archetype
----
-
-In this tutorial we explain how you can use the Maven archetypes to develop your own StreamPipes processors and sinks.
-We use IntelliJ in this tutorial, but it works with any IDE of your choice.
-
-## Prerequisites
-You need to have Maven installed, further you need an up and running StreamPipes installation on your development computer.
-To ease the configuration of environment variables, we use the IntelliJ [env Plugin](https://plugins.jetbrains.com/plugin/7861-envfile).
-Install this in IntelliJ. The development also works without the plugin, then you have to set the environment variables manually instead of using the env configuration file.
-
-## Create Project
-To create a new project, we provide multiple Maven Archteypes.
-Currently, we have archetypes for the JVM and Flink wrappers, each for processors and sinks.
-The commands required to create a new pipeline element project can be found below. Make sure that you select a version compatible with your StreamPipes installation.
-Copy the command into your terminal to create a new project.
-The project will be created in the current folder.
-First, the ``groupId`` of the resulting Maven artifact must be set.
-We use ``groupId``: ``org.example`` and ``artifactId``: ``ExampleProcessor``.
-You can keep the default values for the other settings, confirm them by hitting enter.
-Now, a new folder with the name ``ExampleProcessor`` is generated.
-
-
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-processors-jvm  \
-  -DarchetypeVersion=0.62.0
-```
-<details class="info">
-    <summary>Select: [Processors / Sinks] [JVM / Flink]</summary>
-
-## Processors JVM
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-processors-jvm  \
-  -DarchetypeVersion=0.62.0
-```
-
-## Processors Flink
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-processors-flink  \
-  -DarchetypeVersion=0.62.0
-```
-
-## Sinks JVM
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-sinks-jvm  \
-  -DarchetypeVersion=0.62.0
-```
-
-## Sinks Flink
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-sinks-flink  \
-  -DarchetypeVersion=0.62.0
-```
-</details>
-
-
-## Edit Processor
-Open the project in your IDE.
-If everything worked, the structure should look similar to the following image.
-The *config* package contains all the configuration parameters of your processors / sinks.
-In the *main* package, it is defined which processors / sinks you want to activate and the *pe.processor.example* package contains three classes with the application logic.
-For details, have a look at the other parts of the Developer Guide, where these classes are explained in more depth.
-
-<img src="/img/archetype/project_structure.png" width="30%" alt="Project Structure"/>
-
-Open the class *Example* and edit the ``onEvent`` method to print the incoming event, log it to the console and send it to the next component without changing it.
-
-```java
-@Override
-public void onEvent(Map<String, Object> in, String sourceInfo, SpOutputCollector out) {
-    // Print the incoming event on the console
-    System.out.println(in);
-
-    // Hand the incoming event to the output collector without changing it.
-    out.onEvent(in);
-}
-```
-
-## Start Processor
-Before the processor can be started, you need to edit the *env* file in the *development* folder.
-Replace all local hosts in this file with the IP address or DNS name of your computer.
-This is relevant to make the mapping between the services running in Docker and your component running in the local IDE.
-After all updates are updated, this file is used by the envfile plugin to provide configuration parameters to the pipeline element.
-Alternatively, environment variables can also be set on your host or IDE.
-Now start the project by clicking on **(Run -> Edit Configuration)**.
-Add a new configuration in the Configuration menu by clicking on the + sign and select **Application**.
-Name the configuration *ExampleProcessor* and select the *Init* class as the 'Main class'.
-Then set *ExampleProcessor* in 'Use classpath of module'.
-
-
-As the last step, switch to the tab *EnvFile* and load the env file.
-Click on 'Enable EnvFile' to activate it and add the just edited env file by clicking on the + sign.
-Save all the changes by clicking *Apply*.
-Now you can start the processor.
-
-<div class="my-carousel">
-    <img src="/img/archetype/run_configuration.png" alt="Configuration View"/>
-    <img src="/img/archetype/run_env_configuration.png" alt="Environment Configuration View"/>
-</div>
-
-To check if the service is up and running, open the browser on *'localhost:6666'*. The machine-readable escription of the processor should be visible as shown below.
-
-<img src="/img/archetype/endpoint.png" width="90%" alt="Project Structure"/>
-
-
-<div class="admonition error">
-<div class="admonition-title">Common Problems</div>
-<p>
-If the service description is not shown on 'localhost:6666', you might have to change the port address.
-This needs to be done in the configuration of your service, further explained in the configurations part of the developer guide.
-
-If the service does not show up in the StreamPipes installation menu, click on 'MANAGE ENDPOINTS' and add 'http://<span></span>YOUR_IP_OR_DNS_NAME:6666'.
-Use the IP or DNS name you provided in the env file.
-After adding the endpoint, a new processor with the name *Example* should show up.
-</p>
-</div>
-
-Now you can go to StreamPipes.
-Your new processor *'Example'* should now show up in the installation menu.
-Install it, then switch to the pipeline view and create a simple pipeline that makes use of your newly created processor.
-In case you opened the StreamPipes installation for the first time, it should have been automatically installed during the setup process.
-
-<img src="/img/archetype/example_pipeline.png" width="80%" alt="Project Structure"/>
-
-Start this pipeline.
-Now you should see logging messages in your console and, once you've created a visualisation, you can also see the resulting events of your component in StreamPipes.
-
-Congratulations, you have just created your first processor!
-From here on you can start experimenting and implement your own algorithms.
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-architecture.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-architecture.md
deleted file mode 100644
index 7968bc1..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-architecture.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-id: dev-guide-architecture
-title: Architecture
-sidebar_label: Architecture
-original_id: dev-guide-architecture
----
-
-The following picture illustrates the high-level architecture of StreamPipes:
-
-<img src="/img/architecture/high-level-architecture.png" alt="High Level Architecture of StreamPipes"/>
-
-Users mainly interact (besides other UI components) with the _Pipeline Editor_ to create stream processing pipelines based on data streams, data processors and data sinks.
-These reusable pipeline elements are provided by self-contained _pipeline element containers_, each of them having a semantic description that specifies their characteristics (e.g., input, output and required user input for data processors).
-Each pipeline element container has a REST endpoint that provides these characteristics as a JSON-LD document.
-
-Pipeline element containers are built using one of several provided _wrappers_.
-Wrappers abstract from the underlying runtime stream processing framework.
-Currently, the StreamPipes framework provides wrappers for Apache Flink, Esper and algorithms running directly on the JVM.
-
-The _pipeline manager_ manages the definition and execution of pipelines.
-When creating pipelines, the manager continuously matches the pipeline against its semantic description and provides user guidance in form of recommendations.
-Once a pipeline is started, the pipeline manager invokes the corresponding pipeline element containers.
-The container prepares the actual execution logic and submits the program to the underlying execution engine, e.g., the program is deployed in the Apache Flink cluster.
-
-Pipeline elements exchange data using one or more message brokers and protocols (e.g., Kafka or MQTT).
-StreamPipes does not rely on a specific broker or message format, but negotiates suitable brokers based on the capabilities of connected pipeline elements.
-
-Thus, StreamPipes provides a higher-level abstraction of existing stream processing technology by leveraging domain experts to create streaming analytics pipelines in a self-service manner.
-
-## Semantic description
-Pipeline elements in StreamPipes are meant to be reusable:
-
-* Data processors and data sink are generic (or domain-specific) elements that express their requirements and are able to operate on any stream that satisfies these requirements.
-* Data processors and data sinks can be manually configured by offering possible configuration parameters which users can individually define when creating pipelines.
-* Data streams can be connected to any data processor or data sink that matches the capabilities of the stream.
-
-When users create pipelines by connecting a data stream with a data processor (or further processors), the pipeline manager _matches_ the input stream of a data processor against its requirements.
-This matching is performed based on the _semantic description of each element.
-The semantic description (technically an RDF graph serialized as JSON-LD) can be best understood by seeing it as an envelope around a pipeline element.
-It only provides metadata information, while we don't rely on any RDF at runtime for exchanging events between pipeline elements.
-While RDF-based metadata ensures good understanding of stream capabilities, lightweight event formats at runtime (such as JSON or Thrift) ensure fast processing of events.
-
-Let's look at an example stream that produces a continuous stream of vehicle positions as illustrated below:
-
-<img src="/img/architecture/semantic-description-stream.png" alt="Semantic description of data streams"/>
-
-While the runtime layer produces plain JSON by submitting actual values of the position and the vehicle's plate number, the description layer describes various characteristics of the stream:
-For instance, it defines the event schema (including, besides the data type and the runtime name of each property also a more fine-grained meaning of the property), quality aspects (e.g., the measurement unit of a property or the frequency) and the grounding (e.g., the format used at runtime and the communication protocol used for transmitting events).
-
-The same accounts for data processors and data sinks:
-
-<img src="/img/architecture/semantic-description-processor.png" alt="Semantic description of data processor"/>
-
-Data processors (and, with some differences, data sinks) are annotated by providing metadata information on their required input and output.
-For instance, we can define minimum schema requirements (such as geospatial coordinates that need to be provided by any stream that is connected to a processor), but also required (minimum or maximum) quality levels and supported transport protocols and formats.
-In addition, required configuration parameters users can define during the pipeline definition process are provided by the semantic description.
-
-Once new pipeline elements are imported into StreamPipes, we store all information provided by the description layer in a central repository and use this information to guide useres through the pipeline definition process.
-
-Don't worry - you will never be required to model RDF by yourself.
-Our SDK provides convenience methods that help creating the description automatically.
-
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-configuration.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-configuration.md
deleted file mode 100644
index 31f7829..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-configuration.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-id: dev-guide-configuration
-title: Configuration
-sidebar_label: Configuration
-original_id: dev-guide-configuration
----
-
-On this page we explain how the StreamPipes configuration works.
-StreamPipes allows the individual services (pipeline element containers and third-party services) to store configuration parameters in a distributed key-value store.
-This has the advantage that individual services do not need to store any configurations on the local file system, enabling us to run containers anywhere.
-As a key-value store we use [Consul](https://www.consul.io/), which is an essential service for all our services.
-
-<img src="/img/configuration/consul.png" width="50%" alt="Semantic description of data processor"/>
-
-
-## Edit Configurations
-All services in StreamPipes can have configuration parameters.
-You can either change them in the consul user interface (which is by default running on port 8500) or directly in the StreamPipes Configurations Page.
-Once a new  pipeline element container is started, it is registered in Consul and the parameters can be edited in the configuration page, as shown below.
-To store changes in Consul, the update button must be clicked.
-
-<div class="my-carousel">
-    <img src="/img/configuration/configuration_1.png" alt="Configuration View"/>
-    <img src="/img/configuration/configuration_2.png" alt="Open Configuration View"/>
-</div>
-
-## Configuration for Developers
-We provide a Configurations API for the use of configuration parameters in your services.
-Each processing element project has a “config” package [[Example]](https://github.com/streampipes/streampipes-pipeline-elements/tree/dev/streampipes-sinks-internal-jvm/src/main/java/org/streampipes/sinks/internal/jvm/config).
-This package usually contains two classes.
-One containing unique keys for the configuration values and one containing the getter and setter methods to access these values.
-For the naming of configuration keys, we recommend to use “SP” as a prefix.
-As we explain later, it is possible to set default configurations as environment variables, this prefix makes them unique on your server.
-A configuration entry needs a unique config key. For this key, a value can be specified containing the configuration, like for example the port number of the service.
-For each configuration, a description explaining the parameter can be provided, further the data type must be specified and whether it is a password or not.
-Below, the schema of a configuration item is shown on the left and an example of a port configuration on the right.
-
-<img src="/img/configuration/config_key.png" width="80%" alt="Semantic description of data processor"/>
-
-As a developer, you can add as many new configurations to services as you wish, but there are some that are required for all processing element containers.
-Those are **the host**, **the port**, and **the name** of the service.
-
-## Default Values
-You can provide default values for the configurations, which are used when a configuration is read for the first time.
-The first option is to register a configuration parameter in the Config class.
-This is a fallback value, which is used if nothing else is defined.
-Since this value is static, we offer a second option.
-It is possible to provide a default value by setting an environment variable.
-In this case, the convention is that the key of a configuration parameter must be used as the environment variable.
-Now, this value is used instead of the value defined in the Config class.
-During development, the configuration values often need to be changed for debugging purposes, therefore we provide an .env file in all processing element projects and archetypes.
-This file can be used by your IDE to set the environment variables. (e.g., [Intellij Plugin](https://plugins.jetbrains.com/plugin/7861-envfile))
-When you need to change the variable at runtime, you can do this in the StreamPipes configurations as explained before.
-Those changes take effect immediately without the need of a container restart.
-
-<div class="admonition warning">
-<div class="admonition-title">Installed pipeline elements</div>
-<p>Be cautious, when the configuration is used in the semantic description of a processing element which is already installed in StreamPipes, you have to reload this element in StreamPipes (my elements -> reload).
-   In addition, changes might affect already running pipelines.</p>
-</div>
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-environment.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-environment.md
deleted file mode 100644
index 1eefab0..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-environment.md
+++ /dev/null
@@ -1,219 +0,0 @@
----
-id: dev-guide-development-environment
-title: Development Environment
-sidebar_label: Development Environment
-original_id: dev-guide-development-environment
----
-
-In this section, we describe our recommended minimum setup for locally setting up a development instance of StreamPipes needed to develop, run and test new pipeline elements.
-
-## IDE & required dev tools
-StreamPipes does not have specific requirements on the IDE - so feel free to choose the IDE of your choice.
-The only requirements in terms of development tools are that you have Java 8 and Maven installed.
-
-## Docker-based local StreamPipes instance
-In order to quickly test developed pipeline elements without needing to install all services required by StreamPipes, we provide a lightweight docker-compose file for development purposes.
-If you have Docker installed on your development machine, simply run the following docker-compose file, which has been successfully tested on both Linux and Windows-based operating systems.
-
-### Docker-Compose File
-<details class="info">
-<summary>docker-compose.yml</summary>
-#### Docker Compose
-```yaml
-version: "2"
-services:
-  consul:
-    image: consul
-    environment:
-      - "CONSUL_LOCAL_CONFIG={'{\"disable_update_check\": true}'}"
-      - "CONSUL_BIND_INTERFACE=eth0"
-      - "CONSUL_HTTP_ADDR=0.0.0.0"
-    entrypoint:
-      - consul
-      - agent
-      - -server
-      - -bootstrap-expect=1
-      - -data-dir=/consul/data
-      - -node=consul-one
-      - -bind={'{{ GetInterfaceIP "eth0" }}'}
-      - -client=0.0.0.0
-      - -enable-script-checks=true
-      - -ui
-    volumes:
-      - ./config/consul:/consul/data
-    ports:
-      - "8500:8500"
-      - "8600:8600"
-    networks:
-      spnet:
-        ipv4_address: 172.30.0.9
-
-  zookeeper:
-    image: wurstmeister/zookeeper
-    ports:
-      - "2181:2181"
-    networks:
-      spnet:
-
-  kafka:
-    image: wurstmeister/kafka:0.10.0.1
-    ports:
-      - "9092:9092"
-    environment:
-      KAFKA_ADVERTISED_HOST_NAME: ###TODO ADD HOSTNAME HERE ###
-      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
-    volumes:
-      - /var/run/docker.sock:/var/run/docker.sock
-    networks:
-      spnet:
-
-  backend:
-    image: ipe-wim-gitlab.fzi.de:5000/streampipes/ce/backend:SNAPSHOT
-    depends_on:
-      - "consul"
-    ports:
-      - "8030:8030"
-    volumes:
-      - ./config:/root/.streampipes
-      - ./config/aduna:/root/.aduna
-    networks:
-      spnet:
-
-  activemq:
-    image: ipe-wim-gitlab.fzi.de:5000/streampipes/services/activemq
-    ports:
-      - "61616:61616"
-      - "61614:61614"
-      - "8161:8161"
-    networks:
-      spnet:
-
-  couchdb:
-    image: couchdb
-    ports:
-      - "5984:5984"
-    volumes:
-      - ./config/couchdb/data:/usr/local/var/lib/couchdb
-    networks:
-      spnet:
-
-  jobmanager:
-    image: ipe-wim-gitlab.fzi.de:5000/streampipes/services/flink
-    ports:
-      - "8081:8099"
-    command: jobmanager
-    networks:
-      spnet:
-
-  taskmanager:
-    image: ipe-wim-gitlab.fzi.de:5000/streampipes/services/flink
-    command: taskmanager
-    environment:
-      - FLINK_NUM_SLOTS=20
-    networks:
-      spnet:
-
-  nginx:
-    image: ipe-wim-gitlab.fzi.de:5000/streampipes/ui/dev
-    ports:
-      - "80:80"
-    depends_on:
-      - backend
-    networks:
-      spnet:
-
-networks:
-  spnet:
-    driver: bridge
-    ipam:
-     config:
-       - subnet: 172.30.0.0/16
-         gateway: 172.30.0.1
-```
-</details>
-
-Do not forget to replace the ##Add HOSTNAME## variable in the compose file with the hostname of your machine!
-
-## Starter projects
-
-Now, once you've started the development instance, you are ready to develop your very first pipeline element.
-Instead of starting from scratch, we recommend using either one of our sample projects as a starting point or one of our provided maven archetypes:
-
-### Sample projects
-
-We provide basic skeletons for defining data sources, data processors and data sinks in form of sample projects.
-These are available on Github as defined below. Just clone the project and change the corresponding groupId and artifactId as you like.
-
-*   templates-sources (https://github.com/streampipes/templates-sources) <!-- Link does not work -->
-    This sample project can be used to connect new data streams with StreamPipes.
-
-*   templates-flink (https://github.com/streampipes/templates-flink) <!-- Link does not work -->
-    This sample project can be used to define new data processors and data sinks for StreamPipes that are executed in an Apache Flink cluster.
-
-### Maven archetypes
-(coming soon)
-
-### Starting from scratch
-
-In order to develop a new pipeline element from scratch, you need to create a new Maven project and import the following dependencies:
-
-<details class="info">
-<summary>pom.xml</summary>
-```
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-container-standalone</artifactId>
-    <version>0.50.0</version>
-</dependency>
-
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-sdk</artifactId>
-    <version>0.50.0</version>
-</dependency>
-
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-vocabulary</artifactId>
-    <version>0.50.0</version>
-</dependency>
-
-<!-- This dependency needs to be imported if you plan to connect a new data stream with StreamPipes -->
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-sources</artifactId>
-    <version>0.50.0</version>
-</dependency>
-
-<!-- This dependency needs to be imported if you plan to develop a new data processor or data sink using the Apache Flink wrapper -->
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-wrapper-flink</artifactId>
-    <version>0.50.0</version>
-</dependency>
-
-<!-- This dependency needs to be imported if you plan to develop a new data processor or data sink which is running directly on the JVM -->
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-wrapper-standalone</artifactId>
-    <version>0.50.0</version>
-</dependency>
-```
-</details>
-
-The following three dependencies are mandatory:
-
-* `streampipes-container-standalone`, defines that we are going to create a new pipeline element where the description will be accessible through an embedded web server.
-* `streampipes-sdk` imports the SDK which provides many convencience functions to create new pipeline elements.
-* `streampipes-vocabulary` imports various RDF vocabularies which are used by the SDK to auto-generate the semantic description of pipeline elements.
-
-The following three dependencies might be optional depending on the pipeline element type you plan to create:
-
-*  `streampipes-sources` should be used in case you plan to connect a new data stream with StreamPipes.
-*  `streampipes-wrapper-flink` should be used in case you plan to connect a new data processor or data sink that uses Apache Flink for processing events at runtime.
-*  `streampipes-wrapper-standalone` should be used in case you plan to connect a new data processor or data sink that does not use an external processing engine. Events are directly processed in a single-host fashion.
-
-
-
-
-Finally, this dependency will provide abstract classes to define data sources and streams.
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-event-model.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-event-model.md
deleted file mode 100644
index 996ffdb..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-event-model.md
+++ /dev/null
@@ -1,142 +0,0 @@
----
-id: dev-guide-event-model
-title: "SDK Guide: Event Model"
-sidebar_label: Event Model
-original_id: dev-guide-event-model
----
-
-## Introduction
-
-The 0.61.0 release of StreamPipes introduces a new event model that replaces the ``Map`` representation of events at runtime. This guide explains the usage of the new event model to manipulate runtime events for data processors and data sink.
-
-## Reference
-
-This guide assumes that you are already familiar with the basic setup of [data processors](dev-guide-processor-sdk.md) and [data sinks](dev-guide-sink-sdk.md).
-
-### Property Selectors
-
-In most cases, fields that are subject to be transformed by pipeline elements are provided by the assigned ``MappingProperty`` (see the guide on [static properties](dev-guide-static-properties.md)).
-
-Mapping properties return a ``PropertySelector`` that identifies a field based on (i) the **streamIndex** and (ii) the runtime name of the field.
-Let's assume we have an event with the following structure:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "sensor1",
-    "running" : true,
-    "location" : {"latitude" : 34.4, "longitude" : -47},
-    "lastValues" : [45, 22, 21]
-}
-```
-
-In addition, we assume that a data processor exists (with one input node) that converts the temperature value (measured in degrees celsius) to a degree fahrenheit value.
-In this case, a mapping property (selected by the pipeline developer in the StreamPipes UI) would link to the ``temperature`` field of the event.
-
-The mapping property value will be the ``PropertySelector`` of the temperature value, which looks as follows:
-
-```
-s0::temperature
-```
-
-``s0`` identifies the stream (in this case, only one input streams exist, but as data processors might require more than one input stream, a stream identifier is required), while the appendix identifies the runtime name.
-
-Note: If you add a new field to an input event, you don't need to provide the selector, you can just assign the runtime name as defined by the [output strategy](dev-guide-output-strategies.md).
-
-### Reading Fields
-
-You can get a field from an event by providing the corresponding selector:
-
-```java
-
-@Override
-  public void onEvent(Event event, SpOutputCollector out) {
-
-  PrimitiveField temperatureField = event.getFieldBySelector(PROPERTY_SELECTOR).getAsPrimitive();
-  }
-
-```
-
-Similarly, if your mapping property links to a nested property, use
-
-```java
-
-@Override
-  public void onEvent(Event event, SpOutputCollector out) {
-
-  NestedField nestedField = event.getFieldBySelector(PROPERTY_SELECTOR).getAsNested();
-  }
-
-```
-
-and for a list-based field:
-
-```java
-
-@Override
-  public void onEvent(Event event, SpOutputCollector out) {
-
-  ListField listField = event.getFieldBySelector(PROPERTY_SELECTOR).getAsList();
-  }
-
-```
-
-### Parsing Fields
-
-#### Primitive Fields
-
-A ``PrimitiveField`` contains convenience methods to directly cast a field to the target datatype:
-
-```java
-
-// parse the value as a float datatype
-Float temperatureValue = event.getFieldBySelector(temperatureSelector).getAsPrimitive().getAsFloat();
-
-// or do the same with a double datatype
-Double temperatureValue = event.getFieldBySelector(temperatureSelector).getAsPrimitive().getAsDouble();
-
-// extracting a string
-String deviceId = event.getFieldBySelector(deviceIdSelector).getAsPrimitive().getAsString();
-
-// this also works for extracting fields from nested fields:
-Double latitude = event.getFieldBySelector(latitudeSelector).getAsPrimitive().getAsDouble();
-
-// extracting boolean values
-Boolean running = event.getFieldBySelector(runningSelector).getAsPrimitive().getAsBoolean();
-```
-
-In rare cases, you might want to receive a field directly based on the runtime name as follows:
-
-```java
-Double temperature = event.getFieldByRuntimeName("temperature").getAsPrimitive().getAsDouble();
-```
-
-#### List Fields
-
-Lists can also be retrieved by providing the corresponding selector and can automatically be parsed to a list of primitive datatypes:
-
-```java
-
-List<Integer> lastValues = event.getFieldBySelector(lastValueSelector).getAsList().parseAsSimpleType(Integer.class);
-
-```
-
-(coming soon: parsing complex lists)
-
-
-### Adding/Updating Fields
-
-Primitive fields can easily be added to an event by providing the runtime name and the object:
-
-```java
-
-    // add a primitive field with runtime name "city" and value "Karlsruhe"
-    event.addField("city", "Karlsruhe");
-
-    // remove the field "temperature" from the event
-    event.removeFieldBySelector(temperatureSelector);
-
-    // add a new field
-    event.addField("fahrenheit", 48);
-```
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-migration.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-migration.md
deleted file mode 100644
index 8ae2e41..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-migration.md
+++ /dev/null
@@ -1,193 +0,0 @@
----
-id: dev-guide-migration
-title: Migration Guide v0.61
-sidebar_label: Migration Guide
-original_id: dev-guide-migration
----
-
-Version 0.61.0 of StreamPipes comes with an improved event model. This model makes it easier to support more complex data streams (e.g., streams containing nested properties and lists) and includes features such as automatically resolving conflicts when merging two event streams.
-
-If you are only using the pipeline elements that are included in StreamPipes, you only need to update the element description (My Elements -> Update).
-However, if you've already developed your own pipeline elements, some code changes are required to make your elements work with versions >= 0.61.0.
-
-<div class="admonition info">
-<div class="admonition-title">Don't be afraid!</div>
-<p>Although this guide may look long and complicated, migrating pipeline elements is quite simple. Once you've understood how the new event model works, you'll be able to migrate an element within just a few minutes.</p>
-</div>
-
-## Migrating Data Processors
-
-### JVM Wrapper
-
-#### Engine Class
-
-1. Make the class **implement** ``EventProcessor`` instead of **extending** ``StandaloneEventProcessorEngine``
-
-```java
-// old
-public class MyProcessor extends StandaloneEventProcessorEngine<MyProcessorParameters> { ... }
-
-// new
-public class MyProcessor implements EventProcessor<MyProcessorParameters>{ ... }
-```
-
-2. Change the signature of the ``onInvocation`` method:
-
-```java
-// old
-  @Override
-  public void onInvocation(MyProcessorParameters params, DataProcessorInvocation dataProcessorInvocation) {
-
-  }
-
-// new
-  @Override
-  public void onInvocation(MyProcessorParameters params, SpOutputCollector spOutputCollector, EventProcessorRuntimeContext runtimeContext) throws SpRuntimeException {
-
-  }
-```
-
-3. Change the signature of the ``onEvent`` method:
-
-```java
-// old
-  @Override
-  public void onEvent(Map<String, Object> in, String s, SpOutputCollector out) {
-
-  }
-
-// new
-  @Override
-  public void onEvent(Event in, SpOutputCollector out) throws SpRuntimeException {
-
-  }
-```
-
-4. Refactor the ``onEvent``method to the new event model:
-
-* Replace all ``collector.onEvent()`` calls to the collector with ``collector.collect()``
-* Replace all fields that are accessed from a **MappingProperty** with the new **FieldSelector** from the Event class, e.g.:
-
-```java
-// old
-  @Override
-  public void onEvent(Map<String, Object> in, String s, SpOutputCollector out) {
-     String value = String.valueOf(in.get(valueField));
-  }
-
-// new
-  @Override
-  public void onEvent(Event in, SpOutputCollector out) throws SpRuntimeException {
-    String value = in.getFieldBySelector(valueField).getAsPrimitive().getAsString();
-  }
-```
-
-See the documentation on the event class for further details.
-
-5. Forward an ``Event`` instead of a ``Map`` to the collector. If needed, create a new instance of the ``Event`` class.
-
-6. Modify the modifications of the input event, e.g.:
-
-```java
-// old
-  @Override
-  public void onEvent(Map<String, Object> in, String s, SpOutputCollector out) {
-     in.put("new", "a new field");
-     out.onEvent(in);
-  }
-
-// new
-  @Override
-  public void onEvent(Event in, SpOutputCollector out) throws SpRuntimeException {
-    in.addField("new", "a new field");
-    out.collect(in);
-  }
-```
-
-#### Controller
-
-1. In the ``onInvocation`` method, use a method reference instead of the lambda expression as return type:
-
-```java
-// old
-return new ConfiguredEventProcessor<>(params, () -> new MyProcessor(params));
-
-// new
-return new ConfiguredEventProcessor<>(params, MyProcessor::new);
-```
-
-2. Change the signature of the ``onInvocation`` method:
-
-```java
-// old
-  @Override
-  public ConfiguredEventProcessor<MyParameters> onInvocation(DataProcessorInvocation graph) { ... }
-
-// new
-  @Override
-  public ConfiguredEventProcessor<MyParameters> onInvocation(DataProcessorInvocation graph, ProcessingElementParameterExtractor extractor) { ... }
-```
-
-3. If existing, remove the ``fromExtractor`` method and use the provided ``ProcessingElementParameterExtractor``
-
-
-### Flink Wrapper
-
-
-## Migrating Data Sinks
-
-### JVM Wrapper
-
-#### Sink Class
-
-1. Make the class **implement** ``EventSink`` instead of **extending** ``EventSink``
-
-```java
-// old
-public class MySink extends EventSink<MySinkParameters> { ... }
-
-// new
-public class MySink implements EventSink<MySinkParameters>{ ... }
-```
-
-2. If present, remove the constructor that includes the parameter class.
-
-3. Change the ``bind`` method to ``onInvocation`` as follows:
-
-```java
-// old
-  @Override
-  public void bind(DemonstratorValveParameters parameters) throws SpRuntimeException { ... }
-
-// new
-  @Override
-  public void onInvocation(DemonstratorValveParameters parameters, EventSinkRuntimeContext runtimeContext) throws SpRuntimeException { ... }
-```
-
-4. Change the signature of the ``onEvent`` method
-
-```java
-// old
-  @Override
-  public void onEvent(Map<String, Object> event, String sourceInfo) {
-
-// new
-  @Override
-  public void onEvent(Event event) {
-```
-
-5. If necessary, adapt your logic to use the new event object.
-
-6. Rename the ``discard`` method to ``onDetach``.
-
-#### Controller
-
-1. In the ``onInvocation`` method, use a method reference instead of the lambda expression as return type:
-
-```java
-// old
-return new ConfiguredEventSink<>(params, () -> new MySink(params));
-
-// new
-return new ConfiguredEventSink<>(params, MySink::new);
-```
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-output-strategies.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-output-strategies.md
deleted file mode 100644
index 0e53860..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-output-strategies.md
+++ /dev/null
@@ -1,347 +0,0 @@
----
-id: dev-guide-output-strategies
-title: "SDK Guide: Output Strategies"
-sidebar_label: Output Strategies
-original_id: dev-guide-output-strategies
----
-
-## Introduction
-In StreamPipes, output strategies determine the output of a data processor.
-As the exact input schema of a processor is usually not yet known at development time (as processors can be connected with any stream that matches their requirements), output strategies are a concept to define how an input data stream is transformed to an output data stream.
-
-The following reference describes how output strategies can be defined using the SDK.
-
-<div class="admonition tip">
-<div class="admonition-title">Code on Github</div>
-<p>For all examples, the code can be found on <a href="https://www.github.com/streampipes/streampipes-pipeline-elements-examples/tree/dev/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/streampipes/pe/examples/jvm/outputstrategy/">Github</a>.</p>
-</div>
-
-## Reference
-
-The methods described below to create static properties are available in the ``ProcessingElementBuilder`` class and are usually used in the ``declareModel`` method of the controller class.
-
-As follows, we will use the following example event to explain how output strategies define the output of a data processor:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "1"
-
-}
-```
-
-### Keep Output
-
-A ``KeepOutputStrategy`` declares that the output event schema will be equal to the input event schema.
-In other terms, the processor does not change the schema, but might change the values of event properties.
-
-A keep output strategy can be defined as follows:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".keep", "Keep output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.anyProperty())
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // declaring a keep output strategy
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-
-```
-
-According to the example above, the expected output event schema of the example input event would be:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "1"
-
-}
-```
-
-Data processors that perform filter operations (e.g., filtering temperature values that are above a given threshold) are a common example for using keep output strategies.
-
-
-### Fixed Output
-
-A ``FixedOutputStrategy`` declares that the data processor itself provides the event schema. The output schema does not depend on the input event.
-
-Fixed output strategies need to provide the event schema they produce at development time:
-
-```java
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".fixed", "Fixed output example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.anyProperty())
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // the fixed output strategy provides the schema
-            .outputStrategy(OutputStrategies.fixed(EpProperties.timestampProperty("timestamp"),
-                    EpProperties.doubleEp(Labels.from("avg", "Average value", ""), "avg", SO.Number)))
-
-            .build();
-  }
-
-```
-
-In this example, we declare that the output schema always consists of two fields (``timestamp`` and ``avg``).
-
-Therefore, an output event should look like:
-
-```json
-{
-    "timestamp" : 1234556,
-    "avg" : 36.0
-}
-```
-
-
-### Append Output
-
-An ``AppendOutputStrategy`` appends additional fields to a schema of an incoming event stream. For instance, data processors that perform enrichment operations usually make use of append output strategies.
-
-Similar to the fixed output strategy, the additional fields must be provided at development time in the controller method as follows:
-
-```java
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".append", "Append output example", "")
-
-            // boilerplate code not relevant here, see above
-
-            // declaring an append output
-            .outputStrategy(OutputStrategies.append(EpProperties.integerEp(Labels.from("avg",
-                    "The average value", ""), "avg", SO.Number)))
-
-            .build();
-  }
-```
-
-In this case, the output event would have an additional field ``avg``:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "1",
-    "avg" : 123.0
-
-}
-```
-
-### Custom Output
-
-In some cases, pipeline developers using the StreamPipes UI should be able to manually select fields from an input event schema. For such use cases, a ``CustomOutputStrategy`` can be used:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".custom", "Custom output example", "")
-
-            // boilerplate code not relevant here, see above
-
-            // declaring a custom output
-            .outputStrategy(OutputStrategies.custom())
-
-            .build();
-  }
-
-```
-
-If a data processor defines a custom output strategy, the customization dialog in the pipeline editor will show a dialog to let users select the fields to keep:
-
-<img src="/img/dev-guide-output-strategies/os-custom.png" width="80%" alt="Number Parameter"/>
-
-Taking our example, and assuming that the user selects both the ``timestamp`` and the ``temperature`` the expected output event should look like this:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0
-}
-```
-
-How do we know which fields were selected once the data processor is invoked? Use the proper method from the extractor in the ``onInvocation`` method:
-
-```java
-@Override
-  public ConfiguredEventProcessor<DummyParameters> onInvocation(DataProcessorInvocation graph, ProcessingElementParameterExtractor extractor) {
-
-    List<String> outputSelectors = extractor.outputKeySelectors();
-
-    return new ConfiguredEventProcessor<>(new DummyParameters(graph), DummyEngine::new);
-  }
-```
-
-### Transform Output
-
-A ``TransformOutputStrategy`` declares that one or more fields of an incoming event stream are transformed. Transformations can be applied to the datatype of the property, the runtime name of the property, or any other scheam-related declaration such as measurement units.
-
-#### Static Transform Operations
-
-Static transform operations do not depend on any user input (at pipeline development time) in order to know how to transform a field of an incoming event schema.
-
-Let's say our data processor transforms strings (that are actually a number) to a number datatype. In this case, we can use a static transform output strategy:
-
-```java
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".transform", "Transform output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.stringReq(), Labels.from
-                            ("str", "The date property as a string", ""), PropertyScope.NONE)
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // static transform operation
-            .outputStrategy(OutputStrategies.transform(TransformOperations
-                    .staticDatatypeTransformation("str", Datatypes.Long)))
-
-            .build();
-  }
-
-```
-
-Note the mapping property that we use to determine which field of the input event should be transformed.
-
-The expected output event would look like this:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : 1
-}
-```
-
-#### Dynamic Transform Operations
-
-Sometimes, user input depends on the exact transform output. Let's take a field renaming processor as an example, which lets the user rename a field from an input event schema to another field name.
-For such use cases, we can use a ``DynamicTransformOperation``:
-
-```java
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".transform", "Transform output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.stringReq(), Labels.from
-                            ("str", "The date property as a string", ""), PropertyScope.NONE)
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // the text input to enter the new runtime name
-            .requiredTextparameter(Labels.from("new-runtime-name", "New Runtime Name", ""))
-
-            // static transform operation
-            .outputStrategy(OutputStrategies.transform(TransformOperations
-                    .dynamicRuntimeNameTransformation("str", "new-runtime-name")))
-
-            .build();
-  }
-
-```
-
-For dynamic transform operations, an additional identifier that links to another static property can be assigned and later be fetched in the ``onInvocation`` method.
-
-Assuming we want to rename the field ``temperature`` to ``temp``, the resulting output event should look like this:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temp" : 37.0,
-    "deviceId" : 1
-}
-```
-
-### Custom Transform Output
-
-Finally, in some cases the output schema cannot be described at pipeline development time. For these (usually rare) cases, a ``CustomTransformOutput`` strategy can be used.
-
-In this case, a callback function will be invoked in the controller class just after a user has filled in any static properties and clicks on ``Save`` in the pipeline editor.
-
-To define a custom transform output, we need to implement an interface in the controller class:
-
-```java
-public class CustomTransformOutputController extends
-        StandaloneEventProcessingDeclarer<DummyParameters> implements
-        ResolvesContainerProvidedOutputStrategy<DataProcessorInvocation, ProcessingElementParameterExtractor> {
-
-
-@Override
-  public EventSchema resolveOutputStrategy(DataProcessorInvocation processingElement, ProcessingElementParameterExtractor parameterExtractor) throws SpRuntimeException {
-
-  }
-}
-```
-
-In addition, the output strategy must be declared in the ``declareModel`` method:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".customtransform", "Custom transform output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.stringReq(), Labels.from
-                            ("str", "The date property as a string", ""), PropertyScope.NONE)
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // declare a custom transform output
-            .outputStrategy(OutputStrategies.customTransformation())
-
-            .build();
-  }
-
-```
-
-Once a new pipeline using this data processor is created and the configuration is saved, the ``resolveOutputStrategy`` method will be called, so that an event schema can be provided based on the given configuration. An extractor instance (see the guide on static properties) is available to extract the selected static properties and the connected event stream.
-
-```java
-@Override
-  public EventSchema resolveOutputStrategy(DataProcessorInvocation processingElement, ProcessingElementParameterExtractor parameterExtractor) throws SpRuntimeException {
-    return new EventSchema(Arrays
-            .asList(EpProperties
-                    .stringEp(Labels.from("runtime", "I was added at runtime", ""), "runtime", SO.Text)));
-  }
-```
-
-In this example, the output event schema should look like this:
-
-```json
-{
-    "runtime" : "Hello world!"
-}
-```
-
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-processor-sdk.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-processor-sdk.md
deleted file mode 100644
index e90e149..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-processor-sdk.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-id: dev-guide-sdk-guide-processors
-title: "SDK Guide: Data Processors"
-sidebar_label: "SDK Guide: Data Processors"
-original_id: dev-guide-sdk-guide-processors
----
-
-## Project Setup
-(coming soon, please check the [tutorial](dev-guide-tutorial-processors) to learn how to define data processors)
-
-## SDK reference
-The complete SDK reference for defining data processors will follow soon. Please check the SDK's Javadoc for now!
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-sink-sdk.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-sink-sdk.md
deleted file mode 100644
index 878680a..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-sink-sdk.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-id: dev-guide-sdk-guide-sinks
-title: "SDK Guide: Data Sinks"
-sidebar_label: "SDK Guide: Data Sinks"
-original_id: dev-guide-sdk-guide-sinks
----
-
-## Project Setup
-(coming soon, please check the [tutorial](dev-guide-tutorial-processors) to learn how to define sinks)
-
-## SDK reference
-The complete SDK reference for defining data sinks will follow soon. Please check the SDK's Javadoc for now!
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-ssl.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-ssl.md
deleted file mode 100644
index 7b73398..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-ssl.md
+++ /dev/null
@@ -1,36 +0,0 @@
----
-id: dev-guide-ssl
-title: Use SSL
-sidebar_label: Use SSL
-original_id: dev-guide-ssl
----
-
-In this tutorial we explain how you can use SSL Certificates to provide transport layer security between your Browser and the Streampipes Backend.
-
-## Prerequisites
-You need a valid Certificate consisting of a Private and a Public Key. Both Keys must be in PEM Format. Please note that your Private Key should never be shared, otherwise the communication can not be considered secure.
-
-## Edit docker-compose.yml
-In order to use SSL you have to open port 443 on the nginx Service. Incoming insecure Traffic on Port 80 will automatically be reroutet to Port 443.
-
-The Environment-Variable NGINX_SSL must be set to "true".
-
-Finally you have to inject the Certificates into the Docker-Container. In the example below, the Certificates are placed in the directory /etc/ssl/private/ on the host machine. Please change the path according to the place where the Certificates are located on your machine. The path after the colon should not be changed!
-```yaml
-[...]
-  nginx:
-    image: streampipes/ui
-    ports:
-      - "80:80"
-      - "443:443"
-    environment:
-      - NGINX_SSL=true
-    volumes:
-      - /etc/ssl/private/private.pem:/etc/nginx/ssl/ssl.pem
-      - /etc/ssl/private/public.pem:/etc/nginx/ssl/cert.pem
-    depends_on:
-      - backend
-    networks:
-      spnet:
-[...]
-```
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-static-properties.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-static-properties.md
deleted file mode 100644
index 1d736ef..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-static-properties.md
+++ /dev/null
@@ -1,265 +0,0 @@
----
-id: dev-guide-static-properties
-title: "SDK Guide: Static Properties"
-sidebar_label: Static Properties
-original_id: dev-guide-static-properties
----
-
-## Introduction
-Static properties represent user-faced parameters that are provided by pipeline developers.
-Processing elements can specify required static properties, which will render different UI views in the pipeline editor.
-
-The following reference describes how static properties can be defined using the SDK.
-
-<div class="admonition tip">
-<div class="admonition-title">Code on Github</div>
-<p>For all examples, the code can be found on <a href="https://github.com/streampipes/streampipes-pipeline-elements-examples/tree/dev/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/streampipes/pe/examples/jvm/staticproperty">Github</a>.</p>
-</div>
-
-## Reference
-
-The methods described below to create static properties are available in the ``ProcessingElementBuilder`` and ``DataSinkBuilder`` classes and are usually used in the ``declareModel`` method of the controller class.
-
-### Mapping property
-
-In StreamPipes, processing elements usually operate on fields of an event stream. For instance, a filter processor operates on a specific field from an input stream (e.g., a field measuring the temperature).
-Typically, pipeline developers should select the exact field where the operations is applied upon by themselves.
-As this field is not yet known at pipeline element development time (as it is defined by the pipeline developer in the pipeline editor), mapping properties serve to map a stream requirement to a specific field from the actual input event stream.
-
-### Unary mapping property
-
-A unary mapping property maps a stream requirement to an actual field of an event stream. Therefore, the ``StreamRequirementsBuilder`` provides the opportunity to directly add a mapping property based along with a property requirement:
-
-```java
-.requiredStream(StreamRequirementsBuilder.
-    create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.numberReq(),
-            Labels.from("mp-key", "My Mapping", ""),
-            PropertyScope.NONE)
-    .build())
-```
-
-This leads to a selection dialog in the pipeline element customization which provides the user with a selection of all event properties (fields) from the input stream that match the specified property requirement:
-
-<img src="/img/dev-guide-static-properties/sp-mapping-unary.png" width="80%" alt="Text"/>
-
-At invocation time, the value can be extracted in the ``onInvocation`` method as follows:
-
-```java
-// Extract the mapping property value
-String mappingPropertySelector = extractor.mappingPropertyValue("mp-key");
-```
-
-Note that this method returns a ``PropertySelector``, which can be used by the event model to extract the actual value of this field.
-
-### N-ary mapping property
-
-N-ary mapping properties work similar to unary mapping properties, but allow the mapping of one requirement to multiple event properties matching the requirement:
-
-```java
-.requiredStream(StreamRequirementsBuilder.
-    create()
-    .requiredPropertyWithNaryMapping(EpRequirements.numberReq(),
-            Labels.from("mp-key", "My Mapping", ""),
-            PropertyScope.NONE)
-    .build())
-```
-
-This renders the following selection, where users can select more than one matching event property:
-
-<img src="/img/dev-guide-static-properties/sp-mapping-nary.png" width="80%" alt="Text"/>
-
-The following snippet returns a list containing the property selectors of all event properties that have been selected:
-
-```java
-// Extract the mapping property value
-List<String> mappingPropertySelectors = extractor.mappingPropertyValues("mp-key");
-```
-
-### Free-Text Parameters
-
-A free-text parameter requires the pipeline developer to enter a single value - which can be a string or another primitive data type.
-The input of free-text parameters can be restricted to specific value ranges or can be linked to the value set of a connected input data stream.
-
-#### Text Parameters
-
-A text parameter lets the user enter a string value. The following code line in the controller class
-
-```java
-.requiredTextParameter(Labels.from(SP_KEY, "Example Name", "Example Description"))
-```
-
-leads to the following input dialog in the pipeline editor:
-
-<img src="/img/dev-guide-static-properties/sp-text-parameter.png" width="80%" alt="Text"/>
-
-Users can enter any value that will be converted to a string datatype. To receive the entered value in the ``onInvocation`` method, use the following method from the ``ParameterExtractor``
-
-```java
-String textParameter = extractor.singleValueParameter(SP_KEY, String.class);
-```
-
-#### Number parameters
-
-A number parameter lets the user enter a number value, either a floating-point number or an integer:
-
-```java
-// create an integer parameter
-.requiredIntegerParameter(Labels.from(SP_KEY, "Integer Parameter", "Example Description"))
-
-// create a float parameter
-.requiredFloatParameter(Labels.from("float-key", "Float Parameter", "Example Description"))
-
-```
-
-leads to the following input dialog in the pipeline editor only accepting integer values:
-
-<img src="/img/dev-guide-static-properties/sp-number-parameter.png" width="80%" alt="Number Parameter"/>
-
-The pipeline editor performs type validation and ensures that only numbers can be added by the user. To receive the entered value in the ``onInvocation`` method, use the following method from the ``ParameterExtractor``
-
-```java
-// Extract the integer parameter value
-Integer integerParameter = extractor.singleValueParameter(SP_KEY, Integer.class);
-
-// Extract the float parameter value
-Float floatParameter = extractor.singleValueParameter("float-key", Float.class);
-
-```
-
-#### Numbers with value specification
-
-You can also specify the value range of a number-based free text parameter:
-
-```java
-// create an integer parameter with value range
-.requiredIntegerParameter(Labels.from(SP_KEY, "Integer Parameter", "Example Description"), 0, 100, 1)
-
-```
-
-which renders the following input field:
-
-<img src="/img/dev-guide-static-properties/sp-number-parameter-with-range.png" width="80%" alt="Number Parameter"/>
-
-Receive the entered value in the same way as a standard number parameter.
-
-#### Free-text parameters linked to an event property
-
-
-### Single-Value Selections
-
-Single-value selections let the user select from a pre-defined list of options.
-A single-value selection requires to select exactly one option.
-
-```java
-.requiredSingleValueSelection(Labels.from("id", "Example Name", "Example Description"),
-    Options.from("Option A", "Option B", "Option C"))
-
-```
-
-Single-value selections will be rendered as a set of radio buttons in the pipeline editor:
-
-<img src="/img/dev-guide-static-properties/sp-single-selection.png" width="80%" alt="Number Parameter"/>
-
-To extract the selected value, use the following method from the parameter extractor:
-
-```java
-// Extract the selected value
-String selectedSingleValue = extractor.selectedSingleValue("id", String.class);
-```
-
-<div class="admonition tip">
-<div class="admonition-title">Declaring options</div>
-<p>Sometimes, you may want to use an internal name that differs from the display name of an option.
-For that, you can use the method Options.from(Tuple2{'<'}String, String{'>'}) and the extractor method selectedSingleValueInternalName.</p>
-</div>
-
-
-
-### Multi-Value Selections
-
-Multi-value selections let the user select from a pre-defined list of options, where multiple or no option might be selected.
-
-```java
-.requiredMultiValueSelection(Labels.from("id", "Example Name", "Example Description"),
-    Options.from("Option A", "Option B", "Option C"))
-
-```
-
-Multi-value selections will be rendered as a set of checkboxes in the pipeline editor:
-
-<img src="/img/dev-guide-static-properties/sp-multi-selection.png" width="80%" alt="Number Parameter"/>
-
-To extract the selected value, use the following method from the parameter extractor:
-
-```java
-// Extract the selected value
-List<String> selectedMultiValue = extractor.selectedMultiValues("id", String.class);
-```
-
-### Domain Concepts
-
-(coming soon...)
-
-### Collections
-
-You can also define collections based on other static properties.
-
-```java
-// create a collection parameter
-.requiredParameterAsCollection(Labels.from("collection", "Example Name", "Example " +
-        "Description"), StaticProperties.stringFreeTextProperty(Labels
-        .from("text-property","Text","")))
-```
-
-While the items of the collection can be provided in the same way as the underlying static property, the UI provides buttons to add and remove items to the collections.
-
-<img src="/img/dev-guide-static-properties/sp-collection.png" width="80%" alt="Number Parameter"/>
-
-To extract the selected values from the collection, use the following method from the parameter extractor:
-
-```java
-// Extract the text parameter value
-List<String> textParameters = extractor.singleValueParameterFromCollection("collection", String.class);
-```
-
-### Runtime-resolvable selections
-
-In some cases, the options of selection parameters are not static, but depend on other values or might change at runtime. In this case, you can use runtime-resolvable selections.
-
-First, let your controller class implement ``ResolvesContainerProvidedOptions``:
-
-```java
-public class RuntimeResolvableSingleValue extends
-     StandaloneEventProcessingDeclarer<DummyParameters> implements ResolvesContainerProvidedOptions { ... }
-```
-
-Next, define the parameter in the ``declareModel`` method:
-
-```java
-// create a single value selection parameter that is resolved at runtime
-    .requiredSingleValueSelectionFromContainer(Labels.from("id", "Example Name", "Example " +
-            "Description"))
-```
-
-Finally, implement the method ``resolveOptions``, which will be called at runtime once the processor is used:
-
-```java
-  @Override
-  public List<RuntimeOptions> resolveOptions(String requestId, EventProperty linkedEventProperty) {
-    return Arrays.asList(new RuntimeOptions("I was defined at runtime", ""));
-  }
-```
-
-The UI will render a single-value parameter based on the options provided at runtime:
-
-<img src="/img/dev-guide-static-properties/sp-single-selection-remote.png" width="80%" alt="Number Parameter"/>
-
-The parameter extraction does not differ from the extraction of static single-value parameters.
-
-<div class="admonition info">
-<div class="admonition-title">Multi-value selections</div>
-<p>Although this example shows the usage of runtime-resolvable selections using single value selections, the same also works for multi-value selections!</p>
-</div>
-
-
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-stream-requirements.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-stream-requirements.md
deleted file mode 100644
index 38c3518..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-stream-requirements.md
+++ /dev/null
@@ -1,179 +0,0 @@
----
-id: dev-guide-stream-requirements
-title: "SDK Guide: Stream Requirements"
-sidebar_label: Stream Requirements
-original_id: dev-guide-stream-requirements
----
-
-## Introduction
-
-Data processors and data sinks can define ``StreamRequirements``. Stream requirements allow pipeline elements to express requirements on an incoming event stream that are needed for the element to work properly.
-Once users create pipelines in the StreamPipes Pipeline Editor, these requirements are verified against the connected event stream.
-By using this feature, StreamPipes ensures that only pipeline elements can be connected that are syntactically and semantically valid.
-
-This guide covers the creation of stream requirements. Before reading this section, we recommend that you make yourself familiar with the SDK guide on [data processors](dev-guide-processor-sdk.md) and [data sinks](dev-guide-sink-sdk.md).
-
-<div class="admonition tip">
-<div class="admonition-title">Code on Github</div>
-<p>For all examples, the code can be found on <a href="https://www.github.com/streampipes/streampipes-pipeline-elements-examples/tree/dev/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/streampipes/pe/examples/jvm/requirements/">Github</a>.</p>
-</div>
-
-## The StreamRequirementsBuilder
-
-Stream requirements can be defined in the ``Controller`` class of the pipeline element. Start with a method body like this:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create(ID, PIPELINE_ELEMENT_NAME, DESCRIPTION)
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-
-                    .build())
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-The ``StreamRequirementsBuilder`` class provides methods to add stream requirements to a pipeline element.
-
-## Requirements on primitive fields
-
-As a very first example, let's assume we would like to create a data processor that filters numerical values that are above a given threshold.
-Consequently, any data stream that is connected to the filter processor needs to provide a numerical value.
-
-The stream requirement would be assigned as follows:
-
-```java
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create(ID, PIPELINE_ELEMENT_NAME, DESCRIPTION)
-            .requiredStream(StreamRequirementsBuilder
-                    .create()
-                    .requiredProperty(EpRequirements.numberReq())
-                    .build())
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-Note the line starting with ``requiredProperty``, which requires any stream to provide a datatype of type ``number``.
-
-In many cases, you'll want to let the user select a specific field from a data stream from all available fields that match the specified requirement. For that, you simply use the method ``requiredPropertyWithUnaryMapping`` as follows:
-
-```java
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create(ID, PIPELINE_ELEMENT_NAME, DESCRIPTION)
-            .requiredStream(StreamRequirementsBuilder
-                    .create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.numberReq(),
-                    Labels.from("number-mapping", "The value that should be filtered", ""), PropertyScope.NONE)
-                    .build())
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-See also the developer guide on [static properties](dev-guide-static-properties.md) to better understand the usage of ``MappingProperties``.
-
-Requirements on primitive fields can be specified for all common datatypes:
-
-```java
- @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.requirements" +
-            ".simple", "Simple requirements specification examples", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.numberReq()) // any number
-                    .requiredProperty(EpRequirements.doubleReq()) // any field of type double
-                    .requiredProperty(EpRequirements.booleanReq()) // any field of type boolean
-                    .requiredProperty(EpRequirements.integerReq()) // any field of type integer
-                    .requiredProperty(EpRequirements.stringReq()) // any field of type string
-
-                    .requiredProperty(EpRequirements.anyProperty()) // any field allowed (no restriction)
-                    .requiredProperty(EpRequirements.timestampReq())  // any timestamp field
-                    .build())
-
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-```
-
-### Specifying semantics
-
-For some algorithms, only specifying the datatype is not sufficient. Let's consider a geofencing algorithm that detects the precense some geospatial coordinate (e.g., from a vehicle) within a given location.
-
-You could specify something like this:
-
-```java
-    StreamRequirementsBuilder
-    .create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.doubleEp(), Labels.from("mapping-latitude", "Latitude", ""), PropertyScope.NONE)
-    .requiredPropertyWithUnaryMapping(EpRequirements.doubleEp(), Labels.from("mapping-longitude", "Longitude", ""), PropertyScope.NONE)
-    .build()
-```
-
-However, this would allow users to create strange pipelines as users could connect any stream containing a double value to our geofencing algorithm.
-To avoid such situations, you can also specify requirements based on the semantics of a field:
-
-```java
-    StreamRequirementsBuilder
-    .create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(SO.Latitude), Labels.from("mapping-latitude", "Latitude", ""), PropertyScope.NONE)
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(SO.Longitude), Labels.from("mapping-longitude", "Longitude", ""), PropertyScope.NONE)
-    .build()
-```
-
-Note that in this case, we make use of Schema.org's ``Latitude`` concept ([https://schema.org/latitude](https://schema.org/latitude)). StreamPipes already includes popular vocabularies for specifying semantics. You are also free to use your own vocabularies.
-
-
-## Requirements on lists
-
-Similarly to primitive requirements, you can define processors that require data streams with list fields, see the following examples:
-
-```java
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.requirements" +
-            ".list", "List requirements specification examples", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.Integer))
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.Double))
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.Boolean))
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.String))
-                    .build())
-
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-## Requirements on nested properties
-
-(coming soon, see the Javadoc for now)
-
-
-
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-tutorial-processors.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-tutorial-processors.md
deleted file mode 100644
index 2464bb8..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-tutorial-processors.md
+++ /dev/null
@@ -1,503 +0,0 @@
----
-id: dev-guide-tutorial-processors
-title: "Tutorial: Data Processors"
-sidebar_label: "Tutorial: Data Processors"
-original_id: dev-guide-tutorial-processors
----
-
-In this tutorial, we will add a new data processor using the Apache Flink wrapper.
-
-From an architectural point of view, we will create a self-contained service that includes the description of the data processor and a Flink-compatible implementation.
-Once a pipeline is started that uses this data processor, the implementation is submitted to an Apache Flink cluster.
-
-If this is the first time you are extending StreamPipes, we recommend doing the [data source tutorial](dev-guide-sdk-guide-sources) first.
-
-## Objective
-
-We are going to create a new data processor that realized a simple geofencing algorithm - we detect vehicles that enter a specified radius around a user-defined location.
-This pipeline element will be a generic element that works with any event stream that provides geospatial coordinates in form of a latitude/longitude pair.
-
-The algorithm outputs every location event once the position has entered the geofence.
-
-
-<div class="admonition note">
-<div class="admonition-title">Note</div>
-<p>The implementation in this tutorial is pretty simple - our processor will fire an event every time the GPS location is inside the geofence.
-       In a real-world application, you would probably want to define a pattern that recognizes the _first_ event a vehicle enters the geofence.<br/>
-       This can be easily done using a CEP library, e.g., Apache Flink CEP.</p>
-</div>
-
-
-## Project setup
-
-To create new projects from scratch, several Maven archetypes exist to start developing.
-Enter the following command to create a new project based on the StreamPipes ``Processors-Flink`` archetype:
-
-```
-mvn archetype:generate -DarchetypeGroupId=org.streampipes \
--DarchetypeArtifactId=streampipes-archetype-pe-processors-flink -DarchetypeVersion=0.61.0 \
--DgroupId=org.streampipes.tutorial -DartifactId=geofence-tutorial -DclassNamePrefix=Geofencing -DpackageName=geofencing
-```
-
-Once you've imported the generated project, the project structure should look as follows:
-
-<img src="/img/tutorial-processors/project-structure-processor.PNG" alt="Project Structure Data Processor"/>
-
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Besides the basic project skeleton, the sample project also includes an example Dockerfile you can use to package your application into a Docker container.</p>
-</div>
-
-Now you're ready to create your first data processor for StreamPipes!
-
-## Adding data processor requirements
-
-First, we will add a new stream requirement.
-Open the class `GeofencingController` which should look as follows:
-
-```java
-package org.streampipes.tutorial.pe.processor.geofencing;
-
-import org.streampipes.tutorial.config.Config;
-
-import org.streampipes.model.DataProcessorType;
-import org.streampipes.model.graph.DataProcessorDescription;
-import org.streampipes.model.graph.DataProcessorInvocation;
-import org.streampipes.sdk.builder.ProcessingElementBuilder;
-import org.streampipes.sdk.builder.StreamRequirementsBuilder;
-import org.streampipes.sdk.extractor.ProcessingElementParameterExtractor;
-import org.streampipes.sdk.helpers.EpRequirements;
-import org.streampipes.sdk.helpers.Labels;
-import org.streampipes.sdk.helpers.OutputStrategies;
-import org.streampipes.sdk.helpers.SupportedFormats;
-import org.streampipes.sdk.helpers.SupportedProtocols;
-import org.streampipes.wrapper.flink.FlinkDataProcessorDeclarer;
-import org.streampipes.wrapper.flink.FlinkDataProcessorRuntime;
-
-public class GeofencingController extends
-				FlinkDataProcessorDeclarer<GeofencingParameters> {
-
-	private static final String EXAMPLE_KEY = "example-key";
-
-	@Override
-	public DataProcessorDescription declareModel() {
-		return ProcessingElementBuilder.create("org.streampipes.tutorial-geofencing", "Geofencing",
-				"Description")
-						.category(DataProcessorType.ENRICH)
-						.requiredStream(StreamRequirementsBuilder
-							.create()
-							.requiredProperty(EpRequirements.anyProperty())
-							.build())
-						.supportedFormats(SupportedFormats.jsonFormat())
-						.supportedProtocols(SupportedProtocols.kafka())
-						.outputStrategy(OutputStrategies.keep())
-						.requiredTextParameter(Labels.from(EXAMPLE_KEY, "Example Text Parameter", "Example " +
-				"Text Parameter Description"))
-						.build();
-	}
-
-	@Override
-	public FlinkDataProcessorRuntime<GeofencingParameters> getRuntime(DataProcessorInvocation
-				graph, ProcessingElementParameterExtractor extractor) {
-
-		String exampleString = extractor.singleValueParameter(EXAMPLE_KEY, String.class);
-
-		GeofencingParameters params = new GeofencingParameters(graph, exampleString);
-
-		return new GeofencingProgram(params, Config.INSTANCE.getDebug());
-	}
-
-}
-
-```
-
-In this class, we need to implement two methods: The `declareModel` method is used to define abstract stream requirements such as event properties that must be present in any input stream that is later connected to the element using the StreamPipes UI.
-The second method, `getRuntime` is used to create and deploy the parameterized Flink program once a pipeline using this element is started.
-
-Similar to data sources, the SDK provides a builder class to generate the description for data processors.
-Delete the conent within the ``declareModel`` method and add the following lines to the `declareModel` method:
-
-```java
-return ProcessingElementBuilder.create("org.streampipes.tutorial.geofencing", "Geofencing", "A simple geofencing data processor " +
-            "using the Apache Flink wrapper")
-```
-
-This creates a new data processor with the ID, title and description assigned to the element builder.
-Next, we add some _stream requirements_ to the description. As we'd like to develop a generic pipeline element that works with any event that provides a lat/lng pair, we define two stream requirements as stated below:
-
-```java
-.requiredStream(StreamRequirementsBuilder
-    .create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lat),
-            Labels.from("latitude-field", "Latitude", "The event " +
-            "property containing the latitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lng),
-            Labels.from("longitude-field", "Longitude", "The event " +
-                    "property containing the longitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-    .build())
-```
-
-The first line, `.requiredStream()` defines that we want a data processor with exactly one input stream. Adding more stream requirements would create elements with multiple input connectors in StreamPipes.
-Stream requirements can be assigned by using the `StreamRequirementsBuilder` class.
-In our example, we define two requirements, so-called _domain property requirements_. In contrast to _data type requirements_ where we'd expect an event property with a field of a specific data type (e.g., float), domain property requirements expect a specific domain property, e.g., from a vocabulary such as the WGS84 Geo vocab.
-
-Once a pipeline is deployed, we are interested in the actual field (and its field name) that contains the latitude and longitude values.
-In some cases, there might me more than one field that satisfies a property requirement and we would like users to select the property the geofencing component should operate on.
-Therefore, our example uses the method `requiredPropertyWithUnaryMapping`, which will map a requirement to a real event property of an input stream and  let the user choose the appropriate field in the StreamPipes UI when pipelines are defined.
-
-Finally, the `PropertyScope` indicates that the required property is a measurement value (in contrast to a dimension value). This allows us later to provide improved user guidance in the pipeline editor.
-
-Besides requirements, users should be able to define the center coordinate of the Geofence and the size of the fence defined as a radius around the center in meters.
-The radius can be defined by adding a simple required text field to the description:
-
-```java
-.requiredIntegerParameter("radius", "Geofence Size", "The size of the circular geofence in meters.", 0, 1000, 1)
-```
-
-Similar to mapping properties, text parameters have an internalId (radius), a label and a description.
-In addition, we can assign a _value specification_ to the parameter indicating the value range we support.
-Our example supports a radius value between 0 and 1000 with a granularity of 1.
-In the StreamPipes UI, a required text parameter is rendered as a text input field, in case we provide an optional value specification, a slider input is automatically generated.
-
-Such user-defined parameters are called _static properties_. There are many different types of static properties (see the [Processor SDK](processor-sdk) for an overview).
-
-One example are _DomainProperties_ we use for defining the center of the geofence.
-Our data processor requires a lat/lng pair that marks the center of the geofence.
-However, letting users directly input latitude and longitude coordinates wouldn't be very user-friendly.
-Therefore, we can link required text parameters to _ontology concepts_. By understanding the required input, the StreamPipes UI is able to determine which user interface works best for a specific concept.
-
-Add the following line to the `declareModel` method:
-
-```java
-.requiredOntologyConcept(Labels.from("location", "Geofence Center", "Provide the coordinate of the " +
-    "geofence center"), OntologyProperties.mandatory(Geo.lat), OntologyProperties.mandatory(Geo.lng))
-
-```
-
-We've now defined that we would like to receive an instance that provides a latitude and a longitude coordinate.
-Users can input these values either manually, or they can look up _domain knowledge_, i.e., knowledge stored isolated from the stream definition.
-
-Finally, we need to define technical requirements of the data processor, called _groundings_.
-StreamPipes supports various runtime data formats (e.g., JSON or Thrift) and various protocols (e.g., Kafka or JMS).
-Each component defines supports formats and protocol separately.
-For our example, we'd like to support JSON-based messages and Kafka as input and output broker protocol, so append the following:
-
-```java
-.supportedProtocols(SupportedProtocols.kafka())
-.supportedFormats(SupportedFormats.jsonFormat())
-.build();
-```
-
-Now we need to define the output of our Geofencing pipeline element.
-As explained in the first section, the element should fire every time some geo-located entity arrives within the defined geofence.
-Therefore, the processor outputs the same schema as it receives as an input.
-Although we don't know the exact input right now as it depends on the stream users connect in StreamPipes when creating pipelines, we can define an _output strategy_ as follows:
-
-```java
-.outputStrategy(OutputStrategies.keep())
-```
-
-This defines a _KeepOutputStrategy_, i.e., the input event schema is not modified by the processor.
-There are many more output strategies you can define depending on the functionality you desire, e.g., _AppendOutput_ for defining a processor that enriches events or _CustomOutput_ in case you would like users to select the output by themselves.
-
-That's it! We've now defined input requirements, required user input, technical requirements concerned with data format and protocol and an output strategy.
-In the next section, you will learn how to extract these parameters once the pipeline element is invoked after a pipeline was created.
-
-## Pipeline element invocation
-
-Once users start a pipeline that uses our geofencing component, the _getRuntime_ method in our class is called. The class `DataSinkInovcation` includes a graph that contains information on the configuration parameters a users has selected in the pipeline editor and information on the acutal streams that are connected to the pipeline element.
-
-Before we explain in more detail how to extract these values from the processor invocation, we need to adapt a little helper class.
-Open the file ```GeofencingParameters``` and modify it as follows:
-
-```java
-public class GeofencingParameters extends EventProcessorBindingParams {
-
-  private String latitudeFieldName;
-  private String longitudeFieldName;
-
-  private Float centerLatitude;
-  private Float centerLongitude;
-
-  private Integer radius;
-
-  public GeofencingParameters(DataProcessorInvocation graph, String latitudeFieldName, String longitudeFieldName,
-                              Float centerLatitude, Float centerLongitude, Integer radius) {
-    super(graph);
-    this.latitudeFieldName = latitudeFieldName;
-    this.longitudeFieldName = longitudeFieldName;
-    this.centerLatitude = centerLatitude;
-    this.centerLongitude = centerLongitude;
-    this.radius = radius;
-  }
-
-  public String getLatitudeFieldName() {
-    return latitudeFieldName;
-  }
-
-  public String getLongitudeFieldName() {
-    return longitudeFieldName;
-  }
-
-  public Float getCenterLatitude() {
-    return centerLatitude;
-  }
-
-  public Float getCenterLongitude() {
-    return centerLongitude;
-  }
-
-  public Integer getRadius() {
-    return radius;
-  }
-```
-
-This simple Pojo class will later serve to store user-defined parameters in a single object.
-
-Now we go back to the controller class and extract these values from the invocation object.
-
-The ``ProcessingElementParameterExtractor``  provides convenience methods to extract the relevant information from the `DataProcessorInvocation` object.
-
-Next, we are interested in the fields of the input event stream that contains the latitude and longitude value we would like to compute against the geofence center location as follows:
-
-```java
-String latitudeFieldName = extractor.mappingPropertyValue("latitude-field");
-String longitudeFieldName = extractor.mappingPropertyValue("longitude-field");
-```
-
-We use the same `internalId` we've used to define the mapping property requirements in the `declareModel` method.
-
-Next, for extracting the geofence center coordinates, we use the following statements:
-
-```java
-Float centerLatitude = extractor.supportedOntologyPropertyValue("location", Geo.lat, Float.class);
-Float centerLongitude = extractor.supportedOntologyPropertyValue("location", Geo.lng, Float.class);
-```
-
-The radius value can be extracted as follows:
-
-```java
-Integer radius = extractor.singleValueParameter("radius", Integer.class);
-```
-
-Now we can create a new instance of our previously created parameter class:
-
-```java
-GeofencingParameters params = new GeofencingParameters(dataProcessorInvocation, latitudeFieldName,
-            longitudeFieldName, centerLatitude, centerLongitude, radius);
-```
-
-Finally, return an instance of the class ```GeofencingProgram```:
-
-```java
-return new GeofencingProgram(params, true);
-```
-
-<div class="admonition tip">
-<div class="admonition-title">Info</div>
-<p>The line above uses the Flink MiniCluster to start the Flink program for debugging purposes.
-       Before you build the project and use it in a real environment, replace the line as follows, which triggers cluster execution:
-       <code>return new GeofencingProgram(params, new FlinkDeploymentConfig(Config.JAR_FILE, Config.INSTANCE.getFlinkHost(), Config.INSTANCE.getFlinkPort())</code></p>
-</div>
-
-
-Great! That's all we need to describe a data processor for usage in StreamPipes. Your controller class should look as follows:
-
-```java
-import org.streampipes.model.graph.DataProcessorDescription;
-import org.streampipes.model.graph.DataProcessorInvocation;
-import org.streampipes.model.schema.PropertyScope;
-import org.streampipes.sdk.builder.ProcessingElementBuilder;
-import org.streampipes.sdk.builder.StreamRequirementsBuilder;
-import org.streampipes.sdk.extractor.ProcessingElementParameterExtractor;
-import org.streampipes.sdk.helpers.EpRequirements;
-import org.streampipes.sdk.helpers.Labels;
-import org.streampipes.sdk.helpers.OntologyProperties;
-import org.streampipes.sdk.helpers.OutputStrategies;
-import org.streampipes.sdk.helpers.SupportedFormats;
-import org.streampipes.sdk.helpers.SupportedProtocols;
-import org.streampipes.vocabulary.Geo;
-import org.streampipes.wrapper.flink.FlinkDataProcessorDeclarer;
-import org.streampipes.wrapper.flink.FlinkDataProcessorRuntime;
-
-public class GeofencingController extends FlinkDataProcessorDeclarer<GeofencingParameters> {
-
-  @Override
-  protected FlinkDataProcessorRuntime<GeofencingParameters> getRuntime(DataProcessorInvocation dataProcessorInvocation) {
-    ProcessingElementParameterExtractor extractor = ProcessingElementParameterExtractor.from(dataProcessorInvocation);
-
-    String latitudeFieldName = extractor.mappingPropertyValue("latitude-field");
-    String longitudeFieldName = extractor.mappingPropertyValue("longitude-field");
-
-    Float centerLatitude = extractor.supportedOntologyPropertyValue("location", Geo.lat, Float.class);
-    Float centerLongitude = extractor.supportedOntologyPropertyValue("location", Geo.lng, Float.class);
-
-    Integer radius = extractor.singleValueParameter("radius", Integer.class);
-
-    GeofencingParameters params = new GeofencingParameters(dataProcessorInvocation, latitudeFieldName,
-            longitudeFieldName, centerLatitude, centerLongitude, radius);
-
-    return new GeofencingProgram(params);
-  }
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("geofencing-flink", "Geofencing", "A simple geofencing data processor " +
-            "using the Apache Flink wrapper")
-            .requiredStream(StreamRequirementsBuilder
-                    .create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lat),
-                            Labels.from("latitude-field", "Latitude", "The event " +
-                            "property containing the latitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-                    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lng),
-                            Labels.from("longitude-field", "Longitude", "The event " +
-                                    "property containing the longitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-                    .build())
-            .requiredIntegerParameter("radius", "Geofence Size", "The size of the circular geofence in meters.",
-                    0, 1000, 1)
-            .requiredOntologyConcept(Labels.from("location", "Geofence Center", "Provide the coordinate of the " +
-                    "geofence center"), OntologyProperties.mandatory(Geo.lat), OntologyProperties.mandatory(Geo.lng))
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-            .build();
-  }
-}
-
-```
-
-## Adding an implementation
-
-Everything we need to do now is to add an implementation which does not differ from writing an Apache Flink topology.
-
-Open the class `GeofencingProcessor.java` and add the following piece of code, which realizes the Geofencing functionality:
-
-```java
-public class GeofencingProcessor implements FlatMapFunction<Map<String, Object>, Map<String, Object>> {
-
-  private String latitudeFieldName;
-  private String longitudeFieldName;
-
-  private Float centerLatitude;
-  private Float centerLongitude;
-
-  private Integer radius;
-
-  public GeofencingProcessor(String latitudeFieldName, String longitudeFieldName, Float centerLatitude, Float centerLongitude, Integer radius) {
-    this.latitudeFieldName = latitudeFieldName;
-    this.longitudeFieldName = longitudeFieldName;
-    this.centerLatitude = centerLatitude;
-    this.centerLongitude = centerLongitude;
-    this.radius = radius;
-  }
-
-  @Override
-  public void flatMap(Event in, Collector<Event> out) throws Exception {
-    Float latitude = in.getFieldBySelector(latitudeFieldName).getAsPrimitive().getAsFloat();
-    Float longitude = in.getFieldBySelector(longitudeFieldName).getAsPrimitive().getAsFloat();
-
-    Float distance = distFrom(latitude, longitude, centerLatitude, centerLongitude);
-
-    if (distance <= radius) {
-      out.collect(in);
-    }
-  }
-
-  public static Float distFrom(float lat1, float lng1, float lat2, float lng2) {
-    double earthRadius = 6371000;
-    double dLat = Math.toRadians(lat2-lat1);
-    double dLng = Math.toRadians(lng2-lng1);
-    double a = Math.sin(dLat/2) * Math.sin(dLat/2) +
-            Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) *
-                    Math.sin(dLng/2) * Math.sin(dLng/2);
-    double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
-    return (float) (earthRadius * c);
-  }
-
-}
-```
-
-We won't go into details here as this isn't StreamPipes-related code, but in general the class extracts latitude and longitude fields from the input event (which is provided as a map data type) and calculates the distance between the geofence center and these coordinates.
-If the distance is below the given radius, the event is forwarded to the next operator.
-
-Finally, we need to connect this program to the Flink topology. StreamPipes automatically adds things like the Kafka consumer and producer, so that you only need to invoke the actual geofencing processor.
-Open the file `GeofencingProgram` and append the following line inside the `getApplicationLogic()` method:
-
-```java
-return dataStreams[0].flatMap(new GeofencingProcessor(params.getLatitudeFieldName(), params.getLongitudeFieldName(),
-    params.getCenterLatitude(), params.getCenterLongitude(), params.getRadius()));
-```
-
-## Preparing the container
-The final step is to define the deployment type of our new data source. In this tutorial, we will create a so-called `StandaloneModelSubmitter`.
-This client will start an embedded web server that provides the description of our data source and automatically submits the program to the registered Apache Flink cluster.
-
-Go to the class `Init` that extends `StandaloneModelSubmitter` and should look as follows:
-```java
-package org.streampipes.tutorial.main;
-
-import org.streampipes.container.init.DeclarersSingleton;
-import org.streampipes.container.standalone.init.StandaloneModelSubmitter;
-
-import org.streampipes.tutorial.config.Config;
-import org.streampipes.tutorial.pe.processor.geofencing.GeofencingController;
-
-public class Init extends StandaloneModelSubmitter {
-
-  public static void main(String[] args) throws Exception {
-    DeclarersSingleton.getInstance()
-            .add(new GeofencingController());
-
-    new Init().init(Config.INSTANCE);
-
-  }
-}
-```
-
-<div class="admonition info">
-<div class="admonition-title">Info</div>
-<p>In the example above, we make use of a class `Config`.
-       This class contains both mandatory and additional configuration parameters required by a pipeline element container.
-       These values are stored in the Consul-based key-value store of your StreamPipes installation.
-       The SDK guide contains a detailed manual on managing container configurations.
-</p>
-</div>
-
-## Starting the container
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>By default, the container registers itself using the hostname later used by the Docker container, leading to a 404 error when you try to access an RDF description.
-       For local development, we provide an environment file in the ``development`` folder. You can add your hostname here, which will override settings from the Config class.
-       For instance, use the IntelliJ ``EnvFile`` plugin to automatically provide the environment variables upon start.
-</p>
-</div>
-
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p> The default port of all pipeline element containers as defined in the `Config` file is port 8090.
-       If you'd like to run mutliple containers at the same time on your development machine, change the port in the environment file.
-</p>
-</div>
-
-Now we are ready to start our container!
-
-Execute the main method in the class `Main` we've just created, open a web browser and navigate to http://localhost:8090 (or the port you have assigned in the environment file).
-
-You should see something as follows:
-
-<img src="/img/tutorial-processors/pe-overview-flink.PNG" alt="Pipeline Element Container Overview (Flink)"/>
-
-Click on the link of the data source to see the RDF description of the pipeline element.
-
-<img src="/img/tutorial-processors/pe-rdf-geofencing.PNG" alt="Geofencing RDF description"/>
-
-The container automatically registers itself in the Consul installation of StreamPipes.
-To install the just created element, open the StreamPipes UI and follow the manual provided in the [user guide](user-guide-installation).
-
-## Read more
-
-Congratulations! You've just created your first data processor for StreamPipes.
-There are many more things to explore and data processors can be defined in much more detail using multiple wrappers.
-Follow our [SDK guide](dev-guide-sdk-guide-processors) to see what's possible!
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-tutorial-sinks.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-tutorial-sinks.md
deleted file mode 100644
index 2bda85f..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-tutorial-sinks.md
+++ /dev/null
@@ -1,247 +0,0 @@
----
-id: dev-guide-tutorial-sinks
-title: "Tutorial: Data Sinks"
-sidebar_label: "Tutorial: Data Sinks"
-original_id: dev-guide-tutorial-sinks
----
-
-In this tutorial, we will add a new data sink using the standalone wrapper.
-
-From an architectural point of view, we will create a self-contained service that includes the description of the data sink and a corresponding implementation.
-
-## Objective
-
-We are going to create a new data sink that calls an external HTTP endpoint to forward data to an external service.
-
-For each incoming event, an external service is invoked using an HTTP POST request. In this example, we'll call an endpoint provided by [RequestBin](https://requestbin.com/).
-To setup your own endpoint, go to [https://requestbin.com/](https://requestbin.com/) and click "Create a request bin". Copy the URL of the newly created endpoint.
-
-
-## Project setup
-
-We'll create a new project using the provided sinks-standalone-jvm Maven archetype.
-Enter the following command to create a new project based on the StreamPipes ``Sinks-JVM`` archetype:
-
-```
-mvn archetype:generate -DarchetypeGroupId=org.streampipes \
--DarchetypeArtifactId=streampipes-archetype-pe-sinks-jvm -DarchetypeVersion=0.63.0 \
--DgroupId=org.streampipes.tutorial -DartifactId=sink-tutorial -DclassNamePrefix=Rest -DpackageName=geofencing
-```
-
-Once you've imported the generated project, the project structure should look as follows:
-
-<img src="/img/tutorial-sinks/project-structure-sinks.png" alt="Project Structure Data Sink"/>
-
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Besides the basic project skeleton, the sample project also includes an example Dockerfile you can use to package your application into a Docker container.</p>
-</div>
-
-Now you're ready to create your first data sink for StreamPipes!
-
-## Adding data sink requirements
-
-First, we will add a new stream requirement.
-Open the class `RestController` which should look as follows:
-
-```java
-package org.streampipes.tutorial.pe.sink.rest;
-
-import org.streampipes.model.DataSinkType;
-import org.streampipes.model.graph.DataSinkDescription;
-import org.streampipes.model.graph.DataSinkInvocation;
-import org.streampipes.sdk.builder.DataSinkBuilder;
-import org.streampipes.sdk.builder.StreamRequirementsBuilder;
-import org.streampipes.sdk.extractor.DataSinkParameterExtractor;
-import org.streampipes.sdk.helpers.EpRequirements;
-import org.streampipes.sdk.helpers.Labels;
-import org.streampipes.sdk.helpers.SupportedFormats;
-import org.streampipes.sdk.helpers.SupportedProtocols;
-import org.streampipes.wrapper.standalone.ConfiguredEventSink;
-import org.streampipes.wrapper.standalone.declarer.StandaloneEventSinkDeclarer;
-import org.streampipes.sdk.helpers.*;
-import org.streampipes.sdk.utils.Assets;
-
-public class RestController extends StandaloneEventSinkDeclarer<RestParameters> {
-
-	private static final String EXAMPLE_KEY = "example-key";
-
-	@Override
-	public DataSinkDescription declareModel() {
-		return DataSinkBuilder.create("org.streampipes.tutorial.pe.sink.rest")
-						.category(DataSinkType.NOTIFICATION)
-						.withAssets(Assets.DOCUMENTATION, Assets.ICON)
-						.withLocales(Locales.EN)
-						.requiredStream(StreamRequirementsBuilder
-                                            .create()
-                                            .requiredPropertyWithNaryMapping(EpRequirements.anyProperty(), Labels.withId(
-                                                    "fields-to-send"), PropertyScope.NONE)
-                                            .build())
-						.build();
-	}
-
-	@Override
-	public ConfiguredEventSink<RestParameters> onInvocation(DataSinkInvocation graph, DataSinkParameterExtractor extractor) {
-
-		 List<String> fieldsToSend = extractor.mappingPropertyValues("fields-to-send");
-        
-         RestParameters params = new RestParameters(graph, fieldsToSend);
-
-		return new ConfiguredEventSink<>(params, Rest::new);
-	}
-
-}
-
-```
-
-In this class, we need to implement two methods: The `declareModel` method is used to define abstract stream requirements such as event properties that must be present in any input stream that is later connected to the element using the StreamPipes UI.
-The second method, `onInvocation` is used to create and deploy program once a pipeline using this sink is started.
-
-The ``declareModel`` method describes the properties of our data sink:
-* ``category`` defines a category for this sink.
-* ``withAssets`` denotes that we will provide an external documentation file and an icon, which can be found in the ``resources`` folder
-* ``withLocales`` defines that we will provide an external language file, also available in the ``resources`` folder
-* ``requiredStream`` defines requirements any input stream connected to this sink must provide. In this case, we do not have any specific requirements, we just forward all incoming events to the REST sink. However, we want to let the user display a list of available fields from the connected input event, where users can select a subset. This is defined by defining a Mapping from the empty requirement. This will later on render a selection dialog in the pipeline editor.
-
-The ``onInvocation`` method is called when a pipeline containing the sink is started. Once a pipeline is started, we would like to extract user-defined parameters.
-In this example, we simply extract the fields selected by users that should be forwarded to the REST sink. Finally, we return a new configured event sink containing the parameters.
-
-## Pipeline element invocation
-
-Once users start a pipeline that uses our geofencing component, the _getRuntime_ method in our class is called. The class `DataSinkInovcation` includes a graph that contains information on the configuration parameters a users has selected in the pipeline editor and information on the acutal streams that are connected to the pipeline element.
-
-Before we explain in more detail how to extract these values from the processor invocation, we need to adapt a little helper class.
-Open the file ```RestParameters``` and modify it as follows:
-
-```java
-public class RestParameters extends EventSinkBindingParams {
-
-  private List<String> fieldsToSend;
-
-  public RestParameters(DataSinkInvocation graph, List<String> fieldsToSend) {
-    super(graph);
-    this.fieldsToSend = fieldsToSend;
-  }
-
-  public List<String> getFieldsToSend() {
-    return fieldsToSend;
-  }
-}
-```
-
-This file will later provide information on the configured pipeline element.
-
-## Adding an implementation
-
-Now open the class ``Rest`` to add the proper implementation (i.e., the Rest call executed for every incoming event).
-
-Our final class should look as follows:
-
-```java
-private static Logger LOG = LoggerFactory.getLogger(Rest.class.getCanonicalName());
-
-  private static final String REST_ENDPOINT_URI = YOUR_REQUEST_BIN_URL;
-  private List<String> fieldsToSend;
-  private SpDataFormatDefinition dataFormatDefinition;
-
-  public Rest() {
-    this.dataFormatDefinition = new JsonDataFormatDefinition();
-  }
-
-  @Override
-  public void onInvocation(RestParameters parameters, EventSinkRuntimeContext runtimeContext) {
-    this.fieldsToSend = parameters.getFieldsToSend();
-  }
-
-  @Override
-  public void onEvent(Event event) {
-    Map<String, Object> outEventMap = event.getSubset(fieldsToSend).getRaw();
-    try {
-      String json = new String(dataFormatDefinition.fromMap(outEventMap));
-      Request.Post(REST_ENDPOINT_URI).body(new StringEntity(json, Charsets.UTF_8)).execute();
-    } catch (SpRuntimeException e) {
-      LOG.error("Could not parse incoming event");
-    } catch (IOException e) {
-      LOG.error("Could not reach endpoint at {}", REST_ENDPOINT_URI);
-    }
-  }
-
-  @Override
-  public void onDetach() {
-
-  }
-```
-The only class variable you need to change right now is the REST_ENDPOINT_URL. Change this url to the URL provided by your request bin.
-We'll ignore the other class variables and the constructor for now. Important are three methods, ``onInvocation``, ``onEvent`` and ``onDetach``.
-
-The ``onInvocation`` method is called once a pipeline containing our REST data sink is started. The ``onEvent`` method is called for each incoming event. Finally, ``onDetach`` is called when a pipeline is stopped.
-
-In the ``onInvocation`` method, we can extract the selected fields to be forwarded to the REST endpoint.
-In the ``ònEvent`` method, we use a helper method to get a subset of the incoming event.
-Finally, we convert the resulting ``Map`` to a JSON string and call the endpoint.
-
-
-## Preparing the container
-The final step is to define the deployment type of our new data source. In this tutorial, we will create a so-called `StandaloneModelSubmitter`.
-This client will start an embedded web server that provides the description of our data source and automatically starts the program in an embedded container.
-
-Go to the class `Init` that extends `StandaloneModelSubmitter` and should look as follows:
-```java
-
-public static void main(String[] args) throws Exception {
-    DeclarersSingleton.getInstance()
-            .add(new RestController());
-
-    DeclarersSingleton.getInstance().setPort(Config.INSTANCE.getPort());
-    DeclarersSingleton.getInstance().setHostName(Config.INSTANCE.getHost());
-
-    DeclarersSingleton.getInstance().registerDataFormats(new JsonDataFormatFactory(),
-            new CborDataFormatFactory(),
-            new SmileDataFormatFactory(),
-            new FstDataFormatFactory());
-
-    DeclarersSingleton.getInstance().registerProtocols(new SpKafkaProtocolFactory(),
-            new SpJmsProtocolFactory());
-
-    new Init().init(Config.INSTANCE);
-```
-
-<div class="admonition info">
-<div class="admonition-title">Info</div>
-<p>In the example above, we make use of a class `Config`.
-       This class contains both mandatory and additional configuration parameters required by a pipeline element container.
-       These values are stored in the Consul-based key-value store of your StreamPipes installation.
-       The SDK guide contains a detailed manual on managing container configurations.
-</p>
-</div>
-
-## Starting the container
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>By default, the container registers itself using the hostname later used by the Docker container, leading to a 404 error when you try to access an RDF description.
-       For local development, we provide an environment file in the ``development`` folder. You can add your hostname here, which will override settings from the Config class.
-       For instance, use the IntelliJ ``EnvFile`` plugin to automatically provide the environment variables upon start.
-</p>
-</div>
-
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p> The default port of all pipeline element containers as defined in the `Config` file is port 8090.
-       If you'd like to run mutliple containers at the same time on your development machine, change the port in the environment file.
-</p>
-</div>
-
-Now we are ready to start our container!
-
-Execute the main method in the class `Main` we've just created.
-
-The container automatically registers itself in the Consul installation of StreamPipes.
-To install the just created element, open the StreamPipes UI and follow the manual provided in the [user guide](user-guide-installation).
-
-## Read more
-
-Congratulations! You've just created your first data sink for StreamPipes.
-There are many more things to explore and data sinks can be defined in much more detail using multiple wrappers.
-Follow our [SDK guide](dev-guide-sdk-guide-sinks) to see what's possible!
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-tutorial-sources.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-tutorial-sources.md
deleted file mode 100644
index 2c55241..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/dev-guide-tutorial-sources.md
+++ /dev/null
@@ -1,283 +0,0 @@
----
-id: dev-guide-tutorial-sources
-title: "Tutorial: Data Sources"
-sidebar_label: "Tutorial: Data Sources"
-original_id: dev-guide-tutorial-sources
----
-
-In this tutorial, we will add a new data source consisting of a single data stream. The source will be provided as a standalone component (i.e., the description will be accessible through an integrated web server).
-
-## Objective
-
-We are going to create a new data stream that is produced by a GPS sensor installed in a delivery vehicle.
-The sensor produces a continuous stream of events that contain the current timestamp, the current lat/lng position of the vehicle and the plate number of the vehicle.
-Events are published in a JSON format as follows:
-```json
-{
-  "timestamp" : 145838399,
-  "latitude" : 37.04,
-  "longitude" : 17.04,
-  "plateNumber" : "KA-AB 123"
-}
-```
-
-These events are published to a Kafka broker using the topic `org.streampipes.tutorial.vehicle`.
-
-In the following section, we show how to describe this stream in a form that allows you to import and use it in StreamPipes.
-
-## Project setup
-
-Instead of creating a new project from scratch, we recommend to use the Maven archetype to create a new project skeleton.
-Enter the following command in a command line of your choice (Apache Maven needs to be installed):
-
-```
-mvn archetype:generate \
--DarchetypeGroupId=org.streampipes -DarchetypeArtifactId=streampipes-archetype-pe-sources \
--DarchetypeVersion=0.61.0 -DgroupId=my.groupId \
--DartifactId=my-source -DclassNamePrefix=MySource -DpackageName=mypackagename
-```
-
-Configure the variables ``artifactId`` (which will be the Maven artifactId), ``classNamePrefix`` (which will be the class name of your data stream) and ``packageName``.
-
-For this tutorial, use ``Vehicle`` as ``classNamePrefix``.
-
-Your project will look as follows:
-
-<img src="/img/tutorial-sources/project-structure.PNG" alt="Project Structure"/>
-
-That's it, go to the next section to learn how to create your first data stream!
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Besides the basic project skeleton, the sample project also includes an example Dockerfile you can use to package your application into a Docker container.
-</p>
-</div>
-
-## Adding a data stream description
-
-Now we will add a new data stream definition.
-First, open the class `VehicleStream` which should look as follows:
-
-```java
-
-package my.groupId.pe.mypackagename;
-
-import org.streampipes.model.SpDataStream;
-import org.streampipes.model.graph.DataSourceDescription;
-import org.streampipes.sdk.builder.DataStreamBuilder;
-import org.streampipes.sdk.helpers.EpProperties;
-import org.streampipes.sdk.helpers.Formats;
-import org.streampipes.sdk.helpers.Protocols;
-import org.streampipes.sources.AbstractAdapterIncludedStream;
-
-
-public class MySourceStream extends AbstractAdapterIncludedStream {
-
-  @Override
-  public SpDataStream declareModel(DataSourceDescription sep) {
-    return DataStreamBuilder.create("my.groupId-mypackagename", "MySource", "")
-            .property(EpProperties.timestampProperty("timestamp"))
-
-            // configure your stream here
-
-            .format(Formats.jsonFormat())
-            .protocol(Protocols.kafka("localhost", 9092, "TOPIC_SHOULD_BE_CHANGED"))
-            .build();
-  }
-
-  @Override
-  public void executeStream() {
-
-  }
-}
-```
-
-This class extends the class ``AbstractAdapterIncludedStream``, which indicates that this source continuously produces data (configured in the ``executeStream()`` method.
-In contrast, the class `AbstractAlreadyExistingStream` indicates that we only want to describe an already existing stream (e.g., a stream that already sends data to an existing Kafka broker).
-
-Now we will add the definition of the data stream. Add the following code inside of the `declareModel` method:
-```java
-return DataStreamBuilder.create("org.streampipes.tutorial.vehicle.position", "Vehicle Position", "An event stream " +
-          "that produces current vehicle positions")
-```
-
-This line creates a new instance of the SDK's `DataStreamBuilder` by providing three basic parameters:
-The first parameter must be a unique identifier of your data stream.
-The second and third parameters indicate a label and a description of your stream.
-These values will later be used in the StreamPipes UI to display stream details in a human-readable manner.
-
-Next, we will add the properties as stated above to the stream definition by adding the following lines:
-```java
-.property(EpProperties.timestampProperty("timestamp"))
-.property(EpProperties.stringEp(Labels.from("plate-number", "Plate Number", "Denotes the plate number of the vehicle"), "plateNumber", "http://my.company/plateNumber"))
-.property(EpProperties.doubleEp(Labels.from("latitude", "Latitude", "Denotes the latitude value of the vehicle's position"), "latitude", Geo.lat))
-.property(EpProperties.doubleEp(Labels.from("longitude", "Longitude", "Denotes the longitude value of the vehicle's position"), "longitude", Geo.lng))
-```
-These four _event properties_ compose our _event schema_. An event property must, at least, provide the following attributes:
-
-* **Runtime Name**. The runtime name indicates the key of the property at runtime, e.g., if our JSON message contains a structure such as `{"plateNumber" : "KA-F 123"}`, the runtime name must be `plateNumber`.
-* **Runtime Type**. An event property must have a primitive type (we will later see how to model more complex properties such as lists and nested properties).
-The type must be an instance of `XMLSchema` primitives, however, the SDK provides convenience methods to provide the property type.
-* **Domain Property**. The domain property indicates the semantics of the event property. For instance, the `latitude` property is linked to the `http://www.w3.org/2003/01/geo/wgs84_pos#lat` property of the WGS84 vocabulary.
-The domain property should be an URI as part of an existing or domain-specific vocabulary. The SDK provides convenience methods for popuplar vocabularies (e.g., Schema.org, Dolce or WGS84).
-
-In order to complete the minimum required specification of an event stream, we need to provide information on the transport format and protocol of the data stream at runtime.
-
-This can be achieved by extending the builder with the respective properties (which should already have been auto-generated):
-```java
-.format(Formats.jsonFormat())
-.protocol(Protocols.kafka("localhost", 9092, "TOPIC_SHOULD_BE_CHANGED"))
-.build();
-```
-
-Set ``org.streampipes.tutorial.vehicle`` as your new topic by replacing the term ``TOPIC_SHOULD_BE_CHANGED`.
-
-In this example, we defined that the data stream consists of events in a JSON format and that Kafka is used as a message broker to transmit events.
-The last build() method call triggers the construction of the RDF-based data stream definition.
-
-That's it! In the next section, we will connect the data stream to a source and inspect the generated RDF description.
-
-## Creating some dummy data
-
-Let's assume our stream should produce some random values that are sent to StreamPipes. We'll add a very simple data simulator to the ``executeStream`` method as follows:
-
-```java
-@Override
-  public void executeStream() {
-
-    SpKafkaProducer producer = new SpKafkaProducer("localhost:9092", "TOPIC_SHOULD_BE_CHANGED");
-    Random random = new Random();
-    Runnable runnable = new Runnable() {
-      @Override
-      public void run() {
-        for (;;) {
-          JsonObject jsonObject = new JsonObject();
-          jsonObject.addProperty("timestamp", System.currentTimeMillis());
-          jsonObject.addProperty("plateNumber", "KA-FZ 1");
-          jsonObject.addProperty("latitude", random.nextDouble());
-          jsonObject.addProperty("longitude", random.nextDouble());
-
-          producer.publish(jsonObject.toString());
-
-          try {
-            Thread.sleep(1000);
-          } catch (InterruptedException e) {
-            e.printStackTrace();
-          }
-
-        }
-      }
-    };
-
-    new Thread(runnable).start();
-  }
-```
-
-Change the topic and the URL of your Kafka broker (as stated in the controller).
-
-## Adding a source description
-
-A data source can be seen like a container for a set of data streams. Usually, a data source includes events that are logically or physically connected.
-For instance, in our example we would add other streams produced by vehicle sensors (such as fuel consumption) to the same data source description.
-
-Open the class `DataSource` which should look as follows:
-```java
-
-package my.groupId.pe.mypackagename;
-
-import org.streampipes.container.declarer.DataStreamDeclarer;
-import org.streampipes.container.declarer.SemanticEventProducerDeclarer;
-import org.streampipes.model.graph.DataSourceDescription;
-import org.streampipes.sdk.builder.DataSourceBuilder;
-
-import java.util.Arrays;
-import java.util.List;
-
-
-public class DataSource implements SemanticEventProducerDeclarer {
-
-  public DataSourceDescription declareModel() {
-    return DataSourceBuilder.create("my.groupId.mypackagename.source", "MySource " +
-        "Source", "")
-            .build();
-  }
-
-  public List<DataStreamDeclarer> getEventStreams() {
-    return Arrays.asList(new MySourceStream());
-  }
-}
-```
-First, we need to define the source. Similar to data streams, a source consists of an id, a human-readable name and a description.
-Replace the content defined in the `declareModel` method with the following code:
-```java
-return DataSourceBuilder.create("org.streampipes.tutorial.source.vehicle", "Vehicle Source", "A data source that " +
-    "holds event streams produced by vehicles.")
-    .build();
-```
-
-## Preparing the container
-
-The final step is to define the deployment type of our new data source. In this tutorial, we will create a so-called `StandaloneModelSubmitter`.
-This client will start an embedded web server that provides the description of our data source.
-
-Go to the class `Init` that implements `StandaloneModelSubmitter`, which should look as follows:
-```java
-package my.groupId.main;
-
-import org.streampipes.container.init.DeclarersSingleton;
-import org.streampipes.container.standalone.init.StandaloneModelSubmitter;
-import my.groupId.config.Config;
-import my.groupId.pe.mypackagename.DataSource;
-
-public class Init extends StandaloneModelSubmitter {
-
-  public static void main(String[] args) throws Exception {
-    DeclarersSingleton.getInstance()
-            .add(new DataSource());
-
-    new Init().init(Config.INSTANCE);
-
-  }
-}
-```
-This code adds the `VehicleSource`. Finally, the `init` method is called
-which triggers the generation of the corresponding RDF description and startup of the web server.
-
-<div class="admonition info">
-<div class="admonition-title">Info</div>
-<p>In the example above, we make use of a class `Config`.
-       This class contains both mandatory and additional configuration parameters required by a pipeline element container.
-       These values are stored in the Consul-based key-value store of your StreamPipes installation.
-       The SDK guide contains a detailed manual on managing container configurations.</p>
-</div>
-
-## Starting the container
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>By default, the container registers itself using the hostname later used by the Docker container, leading to a 404 error when you try to access an RDF description.
-       For local development, we provide an environment file in the ``development`` folder. You can add your hostname here, which will override settings from the Config class.
-       For instance, use the IntelliJ ``EnvFile`` plugin to automatically provide the environment variables upon start.
-</p>
-</div>
-
-Now we are ready to start our first container!
-
-Execute the main method in the class `Main` we've just created, open a web browser and navigate to http://localhost:8090, or change the port according to the value of the ``SP_PORT`` variable in the env file.
-
-You should see something as follows:
-
-<img src="/img/tutorial-sources/pe-overview.PNG" alt="Pipeline Element Container Overview"/>
-
-Click on the link of the data source to see the RDF description of the pipeline element.
-
-<img src="/img/tutorial-sources/pe-rdf.PNG" alt="Pipeline Element RDF description"/>
-
-The container automatically registers itself in the Consul installation of StreamPipes.
-To install the just created element, open the StreamPipes UI and follow the manual provided in the [user guide](user-guide-introduction).
-
-## Read more
-
-Congratulations! You've just created your first pipeline element for StreamPipes.
-There are many more things to explore and data sources can be defined in much more detail.
-Follow our [SDK guide](dev-guide-source-sdk) to see what's possible!
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processor.geo.flink/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processor.geo.flink/documentation.md
deleted file mode 100644
index fa262bd..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processor.geo.flink/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processor.geo.flink
-title: Spatial Grid Enrichment
-sidebar_label: Spatial Grid Enrichment
-original_id: org.streampipes.processor.geo.flink
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processor.geo.flink/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Groups spatial events into cells of a given size
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md
deleted file mode 100644
index fbb4d2e..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification
-title: Generic Image Classification
-sidebar_label: Generic Image Classification
-original_id: org.streampipes.processor.imageclassification.jvm.generic-image-classification
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processor.imageclassification.jvm.generic-image-classification/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Image  + Classification Description (Generic Model)
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md
deleted file mode 100644
index 876df89..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher
-title: Image Enricher
-sidebar_label: Image Enricher
-original_id: org.streampipes.processor.imageclassification.jvm.image-enricher
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processor.imageclassification.jvm.image-enricher/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Image Enrichment: Enriches an  + image with  + given bounding box coordinates
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processor.imageclassification.qrcode/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processor.imageclassification.qrcode/documentation.md
deleted file mode 100644
index 5f21cf4..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processor.imageclassification.qrcode/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processor.imageclassification.qrcode
-title: QR Code Reader
-sidebar_label: QR Code Reader
-original_id: org.streampipes.processor.imageclassification.qrcode
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processor.imageclassification.qrcode/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-QR Code Reader: Detects a QR Code in an image
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/documentation.md
deleted file mode 100644
index 3b08d40..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/documentation.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation
-title: Aggregation
-sidebar_label: Aggregation
-original_id: org.streampipes.processors.aggregation.flink.aggregation
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.aggregation.flink.aggregation/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs different aggregation functions based on a sliding time window (e.g., average, sum, min, max)
-
-***
-
-## Required input
-
-The aggregation processor requires a data stream that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Group by
-The aaggregation function can be calculated separately (partitioned) by the selected field value. 
-
-### Output every
-The frequency in which aggregated values are sent in seconds.
-
-### Time window
-The size of the time window in seconds
-
-### Aggregated Value
-The field used for calculating the aggregation value.
-
-## Output
-
-This processor appends the latest aggregated value to every input event that arrives.
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.aggregation.flink.rate/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.aggregation.flink.rate/documentation.md
deleted file mode 100644
index 4de9b0c..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.aggregation.flink.rate/documentation.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.aggregation.flink.rate
-title: Event Rate
-sidebar_label: Event Rate
-original_id: org.streampipes.processors.aggregation.flink.rate
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.aggregation.flink.rate/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Computes the current event rate. Output is a number representing events per second.
-
-***
-
-## Required input
-
-The event rate processor works with any stream and does not have any specific requirements.
-
-***
-
-## Configuration
-
-### Time Baseline
-Time window size used for calculating the rate in seconds, also defines the output rate
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md
deleted file mode 100644
index 5d3d4dd..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop
-title: Math
-sidebar_label: Math
-original_id: org.streampipes.processors.enricher.flink.processor.math.mathop
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.enricher.flink.processor.math.mathop/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs calculations on event properties (+, -, *, /, %).
-
-***
-
-## Required input
-The math processor works with any event that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Left operand
-The field from the input event that should be used as the left operand.
-
-### Right operand
-The field from the input event that should be used as the right operand.
-
-### Operation
-The math operation that should be performed.
-
-## Output
-The processor appends the calculation result to each input event.
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md
deleted file mode 100644
index 418dfd5..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop
-title: Static Math
-sidebar_label: Static Math
-original_id: org.streampipes.processors.enricher.flink.processor.math.staticmathop
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.enricher.flink.processor.math.staticmathop/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs calculation on an event property with a static value (+, -, *, /, %).
-
-***
-
-## Required input
-The math processor works with any event that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Left operand
-The field from the input event that should be used as the left operand.
-
-### Right operand value
-Specify the value of the right operand.
-
-### Operation
-The math operation that should be performed.
-
-## Output
-The processor appends the calculation result to each input event.
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md
deleted file mode 100644
index 88e9a0b..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry
-title: Trigonometry Functions
-sidebar_label: Trigonometry Functions
-original_id: org.streampipes.processors.enricher.flink.processor.trigonometry
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.enricher.flink.processor.trigonometry/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs Trigonometric functions (sin, cos, tan) on event properties.
-
-***
-
-## Required input
-The trigonometry processor works with any event that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Alpha
-The field that should be used for calculating the trigonometric function.
-
-
-### Operation
-The trigonometric function that should be calculated.
-
-## Output
-The processor appends the calculation result to each input event.
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md
deleted file mode 100644
index c9d1f14..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md
+++ /dev/null
@@ -1,34 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing
-title: URL Dereferencing
-sidebar_label: URL Dereferencing
-original_id: org.streampipes.processors.enricher.flink.processor.urldereferencing
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.enricher.flink.processor.urldereferencing/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Parses and appends the html page as a string to event.
-
-***
-
-## Required input
-The URL Dereferencing processor requires an input stream that provides an input field of type 'string', representing 
-the URL to dereference.
-
-***
-
-## Configuration
-
-### URL
-The field containing the URL to dereference.
-
-## Output
-The processor appends the extracted HTML page to each input event.
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.timestamp/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.timestamp/documentation.md
deleted file mode 100644
index b60eb4c..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.enricher.flink.timestamp/documentation.md
+++ /dev/null
@@ -1,31 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.enricher.flink.timestamp
-title: Timestamp Enricher
-sidebar_label: Timestamp Enricher
-original_id: org.streampipes.processors.enricher.flink.timestamp
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.enricher.flink.timestamp/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Appends the current time in ms to the event payload.
-
-***
-
-## Required input
-The timestamp enricher works with any input event.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-This processor appends the current system time to every input event.
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.filters.jvm.compose/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.filters.jvm.compose/documentation.md
deleted file mode 100644
index 4176bb3..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.filters.jvm.compose/documentation.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.filters.jvm.compose
-title: Compose
-sidebar_label: Compose
-original_id: org.streampipes.processors.filters.jvm.compose
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.filters.jvm.compose/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Merges two event streams. Any time, a new input event arrives, it is merged with the last input event from the other 
-event stream and forwarded.
-
-***
-
-## Required input
-The Compose processor does not have any specific input requirements.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-The compose processor has a configurable output that can be selected by the user at pipeline modeling time.
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/documentation.md
deleted file mode 100644
index 33d64f0..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/documentation.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter
-title: Numerical Filter
-sidebar_label: Numerical Filter
-original_id: org.streampipes.processors.filters.jvm.numericalfilter
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.filters.jvm.numericalfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-The Numerical Filter processor filters numerical values based on a given threshold.
-
-***
-
-## Required input
-The processor works with any input event that has one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Field
-Specifies the field name where the filter operation should be applied on.
-
-
-### Operation
-Specifies the filter operation that should be applied on the field.
-
-### Threshold value
-Specifies the threshold value.
-
-## Output
-The processor outputs the input event if it satisfies the filter expression.
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.filters.jvm.project/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.filters.jvm.project/documentation.md
deleted file mode 100644
index 9267db7..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.filters.jvm.project/documentation.md
+++ /dev/null
@@ -1,31 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.filters.jvm.project
-title: Projection
-sidebar_label: Projection
-original_id: org.streampipes.processors.filters.jvm.project
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.filters.jvm.project/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Outputs a selectable subset of an input event type.
-
-***
-
-## Required input
-The project processor works with any input event stream.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-The output depends on the fields selected at pipeline development time.
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.filters.jvm.textfilter/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.filters.jvm.textfilter/documentation.md
deleted file mode 100644
index 266d710..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.filters.jvm.textfilter/documentation.md
+++ /dev/null
@@ -1,36 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.filters.jvm.textfilter
-title: Text Filter
-sidebar_label: Text Filter
-original_id: org.streampipes.processors.filters.jvm.textfilter
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.filters.jvm.textfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-The Text Filter processor filters text values based on a given string.
-
-***
-
-## Required input
-The processor works with any input event that has one field containing a text.
-
-***
-
-## Configuration
-
-### Text Field
-The field containing the text that should be filtered.
-
-
-### Operation
-The operation used by the filter processor (equals or matches)
-
-## Output
-The processor outputs the input event if it satisfies the filter expression.
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md
deleted file mode 100644
index 5fed34f..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection
-title: Peak Detection
-sidebar_label: Peak Detection
-original_id: org.streampipes.processors.pattern-detection.flink.peak-detection
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.pattern-detection.flink.peak-detection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detect peaks in time series data
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.frequency/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.frequency/documentation.md
deleted file mode 100644
index 848d786..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.frequency/documentation.md
+++ /dev/null
@@ -1,34 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.siddhi.frequency
-title: Frequency Calculation
-sidebar_label: Frequency Calculation
-original_id: org.streampipes.processors.siddhi.frequency
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.siddhi.frequency/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Calculates the frequency of the event stream.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.frequencychange/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.frequencychange/documentation.md
deleted file mode 100644
index fd9925c..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.frequencychange/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.siddhi.frequencychange
-title: Frequency Change
-sidebar_label: Frequency Change
-original_id: org.streampipes.processors.siddhi.frequencychange
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.siddhi.frequencychange/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects when the frequency of the event stream changes
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.increase/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.increase/documentation.md
deleted file mode 100644
index 99bf3d4..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.increase/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.siddhi.increase
-title: Trend
-sidebar_label: Trend
-original_id: org.streampipes.processors.siddhi.increase
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.siddhi.increase/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects the increase of a numerical field over a customizable time window. Example: A temperature value increases by 10 percent within 5 minutes.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.numericalfilter/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.numericalfilter/documentation.md
deleted file mode 100644
index 0097df4..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.numericalfilter/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.siddhi.numericalfilter
-title: Numerical Filter (Siddhi)
-sidebar_label: Numerical Filter (Siddhi)
-original_id: org.streampipes.processors.siddhi.numericalfilter
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.siddhi.numericalfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.sequence/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.sequence/documentation.md
deleted file mode 100644
index 9a5f8cd..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.sequence/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.siddhi.sequence
-title: Sequence Detection
-sidebar_label: Sequence Detection
-original_id: org.streampipes.processors.siddhi.sequence
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.siddhi.sequence/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Merges events from two event streams, when the top event arrives first and then the bottom event
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.stop/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.stop/documentation.md
deleted file mode 100644
index e76242f..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.siddhi.stop/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.siddhi.stop
-title: Stream Stop Detection
-sidebar_label: Stream Stop Detection
-original_id: org.streampipes.processors.siddhi.stop
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.siddhi.stop/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Triggers an event when the input data stream stops sending events
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/documentation.md
deleted file mode 100644
index cd84a7b..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection
-title: Language Detection
-sidebar_label: Language Detection
-original_id: org.streampipes.processors.textmining.flink.languagedetection
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.textmining.flink.languagedetection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects the language of a written text.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.textmining.flink.wordcount/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.textmining.flink.wordcount/documentation.md
deleted file mode 100644
index 6cefaba..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.textmining.flink.wordcount/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.textmining.flink.wordcount
-title: Word Count
-sidebar_label: Word Count
-original_id: org.streampipes.processors.textmining.flink.wordcount
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.textmining.flink.wordcount/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Counts words on continuous text-based streams
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-converter/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-converter/documentation.md
deleted file mode 100644
index fb10362..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-converter/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.flink.field-converter
-title: Field Converter
-sidebar_label: Field Converter
-original_id: org.streampipes.processors.transformation.flink.field-converter
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.flink.field-converter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Converts a string value to a number data type
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/documentation.md
deleted file mode 100644
index 3a433ee..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper
-title: Field Mapper
-sidebar_label: Field Mapper
-original_id: org.streampipes.processors.transformation.flink.field-mapper
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.flink.field-mapper/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Replaces one or more field with a new field and computes a hash value of these fields
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/documentation.md
deleted file mode 100644
index b9ff741..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer
-title: Field Renamer
-sidebar_label: Field Renamer
-original_id: org.streampipes.processors.transformation.flink.field-renamer
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.flink.field-renamer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Replaces the runtime name of an event property with a custom defined name. Useful for data ingestion purposes where a specific event schema is needed.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/documentation.md
deleted file mode 100644
index cf60c30..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher
-title: Field Hasher
-sidebar_label: Field Hasher
-original_id: org.streampipes.processors.transformation.flink.fieldhasher
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.flink.fieldhasher/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-The Field Hasher uses an algorithm to encode values in a field. The Field Hasher can use MD5, SHA1 or SHA2 to hash field values.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md
deleted file mode 100644
index d64a469..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter
-title: Measurement Unit Converter
-sidebar_label: Measurement Unit Converter
-original_id: org.streampipes.processors.transformation.flink.measurement-unit-converter
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.flink.measurement-unit-converter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Converts a unit of measurement to another one
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md
deleted file mode 100644
index d202b43..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate
-title: Boilerplate Removal
-sidebar_label: Boilerplate Removal
-original_id: org.streampipes.processors.transformation.flink.processor.boilerplate
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.flink.processor.boilerplate/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Removes boilerplate and extract fulltext from HTML
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/documentation.md
deleted file mode 100644
index ee71b3d..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/documentation.md
+++ /dev/null
@@ -1,36 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value
-title: Value Changed
-sidebar_label: Value Changed
-original_id: org.streampipes.processors.transformation.jvm.changed-value
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.jvm.changed-value/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor sends out an event everytime a specific object changes. It also adds a timestamp in ms from the system time.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.count-array/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.count-array/documentation.md
deleted file mode 100644
index cb1232f..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.count-array/documentation.md
+++ /dev/null
@@ -1,38 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.jvm.count-array
-title: Count Array
-sidebar_label: Count Array
-original_id: org.streampipes.processors.transformation.jvm.count-array
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.jvm.count-array/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor takes a list field, computes the size of the list and appends the result to the event.
-
-***
-
-## Required input
-
-This processor works with any event that has a field of type ``list``.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### List Field
-
-The field containing the list that should be used.
-
-## Output
-
-Outputs the incoming event while appending the list size (named ``countValue``) to the incoming event.
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/documentation.md
deleted file mode 100644
index a3f5cfa..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value
-title: Calculate Duration
-sidebar_label: Calculate Duration
-original_id: org.streampipes.processors.transformation.jvm.duration-value
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.jvm.duration-value/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor calculates the duration for a given stream with a start timestamp and an end timestamp.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md
deleted file mode 100644
index 90eb856..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md
+++ /dev/null
@@ -1,41 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor
-title: Timestamp Extractor
-sidebar_label: Timestamp Extractor
-original_id: org.streampipes.processors.transformation.jvm.processor.timestampextractor
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.jvm.processor.timestampextractor/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor extracts a timestamp into the individual time fields (e.g. day field, hour field, ....)
-
-***
-
-## Required input
-
-This processor requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-### Timestamp Field
-
-The field of the event containing the timestamp to parse.
-
-### Extract Fields
-
-Select the individual parts of the timestamp that should be extracted, e.g., Year, Minute and Day.
-
-## Output
-
-The output of this processor is a new event that contains the fields selected by the ``Extract Fields`` parameter.
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.split-array/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.split-array/documentation.md
deleted file mode 100644
index cd1eb09..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.processors.transformation.jvm.split-array/documentation.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.jvm.split-array
-title: Split Array
-sidebar_label: Split Array
-original_id: org.streampipes.processors.transformation.jvm.split-array
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.jvm.split-array/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor takes an array of event properties and creates an event for each of them. Further property of the events can be added to each element
-Add a detailed description here
-
-***
-
-## Required input
-
-This processor works with any event that has a field of type ``list``.
-
-***
-
-## Configuration
-
-### Keep Fields
-
-Fields of the event that should be kept in each resulting event.
-
-### List field
-
-The name of the field that contains the list values that should be split.
-
-
-## Output
-
-This data processor produces an event with all fields selected by the ``Keep Fields`` parameter and all fields of the
- selected list field.
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.jms/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.jms/documentation.md
deleted file mode 100644
index 0649fed..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.jms/documentation.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.brokers.jvm.jms
-title: JMS Publisher
-sidebar_label: JMS Publisher
-original_id: org.streampipes.sinks.brokers.jvm.jms
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.brokers.jvm.jms/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes events to a message broker (e.g., ActiveMQ) using the Java Message Service (JMS) protocol.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### JMS Broker Settings
-
-The basic settings to connect to the broker. 
-The JMS broker URL indicates the URL of the broker (e.g., tcp://localhost), the port indicates the port of the broker
- (e.g., 61616)
-
-
-### JMS Topic
-
-The topic where events should be sent to.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/documentation.md
deleted file mode 100644
index 49702e6..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/documentation.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka
-title: Kafka Publisher
-sidebar_label: Kafka Publisher
-original_id: org.streampipes.sinks.brokers.jvm.kafka
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.brokers.jvm.kafka/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes events to Apache Kafka.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Kafka Broker Settings
-
-The basic settings to connect to the broker. 
-The Kafka broker URL indicates the URL of the broker (e.g., localhost), the port indicates the port of the broker
- (e.g., 9092)
-
-
-### Kafka Topic
-
-The topic where events should be sent to.
-
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md
deleted file mode 100644
index 3617a44..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq
-title: RabbitMQ Publisher
-sidebar_label: RabbitMQ Publisher
-original_id: org.streampipes.sinks.brokers.jvm.rabbitmq
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.brokers.jvm.rabbitmq/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Forwards events to a RabbitMQ broker
-Add a detailed description here
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Host
-
-The hostname of the RabbitMQ broker.
-
-### Port
-
-The port of the RabbitMQ broker.
-
-### User
-
-The username used to connect to the RabbitMQ broker.
-
-### Password
-
-The password used to connect to the RabbitMQ broker.
-
-### Exchange Name
-
-The name of the exchange.
-
-### RabbitMQ Topic
-
-The topic where events should be sent to.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.rest/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.rest/documentation.md
deleted file mode 100644
index e890c09..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.brokers.jvm.rest/documentation.md
+++ /dev/null
@@ -1,36 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.brokers.jvm.rest
-title: REST Publisher
-sidebar_label: REST Publisher
-original_id: org.streampipes.sinks.brokers.jvm.rest
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.brokers.jvm.rest/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Posts a JSON representation of an event to a REST interface.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### REST URL
-
-The complete URL of the REST endpoint.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/documentation.md
deleted file mode 100644
index 5e7c9c2..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/documentation.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch
-title: Elasticsearch
-sidebar_label: Elasticsearch
-original_id: org.streampipes.sinks.databases.flink.elasticsearch
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.databases.flink.elasticsearch/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores data in an Elasticsearch database.
-
-***
-
-## Required input
-
-This sink requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Timestamp Field
-
-The field which contains the required timestamp.
-
-### Index Name
-
-The name of the Elasticsearch index where events are stored to.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/documentation.md
deleted file mode 100644
index 9140c60..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/documentation.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb
-title: CouchDB
-sidebar_label: CouchDB
-original_id: org.streampipes.sinks.databases.jvm.couchdb
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.databases.jvm.couchdb/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in an Apache CouchDB database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Hostname
-
-The hostname of the CouchDB instance.
-
-### Port
-
-The port of the CouchDB instance.
-
-### Database Name
-
-The name of the database where events will be stored
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/documentation.md
deleted file mode 100644
index 0877773..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/documentation.md
+++ /dev/null
@@ -1,68 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb
-title: InfluxDB
-sidebar_label: InfluxDB
-original_id: org.streampipes.sinks.databases.jvm.influxdb
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.databases.jvm.influxdb/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in an InfluxDB.
-
-***
-
-## Required input
-
-This sink requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname/URL of the InfluxDB instance. (Include http(s)://).
-
-### Port
-
-The port of the InfluxDB instance.
-
-### Database Name
-
-The name of the database where events will be stored.
-
-### Measurement Name
-
-The name of the Measurement where events will be stored (will be created if it does not exist).
-
-### Username
-
-The username for the InfluxDB Server.
-
-### Password
-
-The password for the InfluxDB Server.
-
-### Timestamp Field
-
-The field which contains the required timestamp.
-
-### Buffer Size
-
-Indicates how many events are written into a buffer, before they are written to the database.
-
-### Maximum Flush
-
-The maximum waiting time for the buffer to fill the Buffer size before it will be written to the database in ms.
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/documentation.md
deleted file mode 100644
index 077ddbd..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/documentation.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql
-title: PostgreSQL
-sidebar_label: PostgreSQL
-original_id: org.streampipes.sinks.databases.jvm.postgresql
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.databases.jvm.postgresql/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in a Postgres database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname of the PostgreSQL instance.
-
-### Port
-
-The port of the PostgreSQL instance (default 5432).
-
-### Database Name
-
-The name of the database where events will be stored
-
-### Table Name
-
-The name of the table where events will be stored (will be created if it does not exist)
-
-### Username
-
-The username for the PostgreSQL Server.
-
-### Password
-
-The password for the PostgreSQL Server.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/documentation.md
deleted file mode 100644
index 13290a2..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/documentation.md
+++ /dev/null
@@ -1,35 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard
-title: Dashboard Sink
-sidebar_label: Dashboard Sink
-original_id: org.streampipes.sinks.internal.jvm.dashboard
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.internal.jvm.dashboard/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This sink visualizes data streams in the StreamPipes dashboard. 
-Visualizations can be configured in Live Dashboard of StreamPipes after the pipeline has been started.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-No further configuration necessary, individual visualizations can be configured in the Dashboard itself.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.internal.jvm.notification/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.internal.jvm.notification/documentation.md
deleted file mode 100644
index bf63af3..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.internal.jvm.notification/documentation.md
+++ /dev/null
@@ -1,41 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.internal.jvm.notification
-title: Notification
-sidebar_label: Notification
-original_id: org.streampipes.sinks.internal.jvm.notification
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.internal.jvm.notification/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Displays a notification in the UI panel of StreamPipes.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-This sink does not have any requirements and works with any incoming event type.
-
-### Notification Title
-
-The title of the notification.
-
-### Content
-
-The notification message.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.email/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.email/documentation.md
deleted file mode 100644
index 5b19408..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.email/documentation.md
+++ /dev/null
@@ -1,50 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.notifications.jvm.email
-title: Email Notification
-sidebar_label: Email Notification
-original_id: org.streampipes.sinks.notifications.jvm.email
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.notifications.jvm.email/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This sink sends an email to a specified receiver.
-
-Before you use this sink, the settings of your email server need to be configured.
-After you've installed the element, navigate to ``Settings``, open the panel ``Sinks Notifications JVM`` and add your
- mail server and credentials.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-The following configuration is required:
-
-### Receiver Address
-
-The email address of the receiver.
-
-### Subject
-
-The subject of the email.
-
-### Content
-
-The mail text.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/documentation.md
deleted file mode 100644
index 9aeadca..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/documentation.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal
-title: OneSignal
-sidebar_label: OneSignal
-original_id: org.streampipes.sinks.notifications.jvm.onesignal
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.notifications.jvm.onesignal/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This sink sends a push message to the OneSignal application
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### App Id
-
-The OneSignal application ID.
-
-### API Key
-
-The OneSignal API key.
-
-### Content
-
-The message that should be sent to OneSignal
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.slack/documentation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.slack/documentation.md
deleted file mode 100644
index 459a00f..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/org.streampipes.sinks.notifications.jvm.slack/documentation.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.notifications.jvm.slack
-title: Slack Notification
-sidebar_label: Slack Notification
-original_id: org.streampipes.sinks.notifications.jvm.slack
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.notifications.jvm.slack/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Slack bot to send notifications directly into your slack
-
-Before you use this sink, the Slack token needs to be configured.
-After you've installed the element, navigate to ``Settings``, open the panel ``Sinks Notifications JVM`` and add your
-Slack API token.
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Receiver
-
-The receiver of the Slack message.
-
-### Channel Type
-
-The channel type, should be "User" or "Channel"
-
-### Content
-
-The message that should be sent.
-
-### 2nd parameter
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/user-guide-first-steps.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/user-guide-first-steps.md
deleted file mode 100644
index 8b2f7ca..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/user-guide-first-steps.md
+++ /dev/null
@@ -1,215 +0,0 @@
----
-id: user-guide-first-steps
-title: First steps
-sidebar_label: First steps
-original_id: user-guide-first-steps
----
-
-In this section, you'll learn how to create and run pipelines in StreamPipes.
-Before starting with this guide, all steps from the installation guide must be finished successfully and StreamPipes must be up and running.
-
-This guide consists of three steps:
-First, you'll learn how to create your first pipeline using the interactive tutorial.
-Afterwards, this section contains two examples on how to create pipelines based on the built-in data simulator.
- 
-## Interactive Tutorial
-The easiest way to get started with StreamPipes is the interactive tutorial. Once you open the pipeline editor for the first time, you'll see a splash screen as shown below.
-Click **Start tour** to start the interactive tutorial, which will guide you through your first steps with StreamPipes.
- 
-![Interactive Tutorial](/img/quickstart/interactive-tutorial.png)  
-
-If the splash screen does not show up, make sure you've installed the following pipeline elements:
-* Flow rate (data stream)
-* Numerical Filter (processing element)
-* Dashboard (data sink)
-
-After you've finished this very first tour, try the following tours to learn more about other features of StreamPipes:
-* Open the Live Dashboard and start the dashboard tour (by clicking the school icon in the top menu bar) to learn how to create real-time visualizations
-* Open StreamPipes Connect and start the tour to learn how to connect new data sources with StreamPipes.
- 
-## First Examples
-
-In this tutorial, you will create two simple pipelines that demonstrate the basic functionality of StreamPipes.
-The first example deals with monitoring a flow rate sensor.
-This pipeline ensures that everything works properly and data is sent through the whole system.
-In the second example we model a more complex situation detection pipeline that triggers a notification.
-Let's start with our first pipeline.
-If you have problems with any of the examples, please send us an email.
-We are happy to help you.
-
-## Data Simulation
-All the data sources that we have integrated in the StreamPipes demonstrator are simulated according to real world sensors.
-For example a flow rate sensor in a water pipe, which measures how much water flows in that pipe or a water level sensor in a water tank, that reports how high the water level is in the tank.
-In the next section you will use the flow rate sensor to build your first pipeline.
-
-## Flow Rate Visualization
-In the first example, we create a live line chart to monitor the value of the mass flow from a flow rate sensor.
-
-### Create Pipeline
-* As a first step go to the pipeline editor
-* Select the **FRS1** (Flow Rate Source 1)source
-* Then navigate to the **Data Sink** tab
-* Select the **DS** (Dashboard Sink) and connect the source with the sink
-* After connecting the elements save the pipeline by clicking on the save button on the top left corner
-* In the save menu add a name *Flow Rate Monitoring* and a description *This is my very first pipeline!*
-* Also select the **Start pipeline immediatly** checkbox
-* Then click the button **Save and go to pipeline view**
-* You are navigated to the pipeline view and a confirmation that the pipeline was started successfully should be shown
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/01_PipelineEditor_DataStreams.png" alt="Show Pipeline Editor Streams"/>
-    <img src="/img/quickstart/examples_master/02_example1_source.png" alt="Sources"/>
-    <img src="/img/quickstart/examples_master/03_example1_pipeline_finished.png" alt="Pipeline Finished"/>
-    <img src="/img/quickstart/examples_master/04_example1_save.png" alt="Saved Pipeline"/>
-    <img src="/img/quickstart/examples_master/05_example1_pipeline_started.png" alt="Pipeline 01 Started"/>
-</div>
-
-### Create Visualization
-* After we have created the pipeline we must create the line chart
-* Navigate to the **Live Dashboard** of StreamPipes
-* Click on the **Add visualization** button
-* Select the just created pipeline **Flow Rate Monitoring** and click the **next** button
-* For the visualization select the **Line Chart** and click **next** again
-* Now you have to enter the configuration for the line chart
-    * Select time mapping: **timestamp**
-    * Select number mapping: **mass_flow**
-    * Range Minimum: **0** 
-    * Range Maximum: **10**
-* When all parameters are set correctly click the next button again.
-* Congratulation you created the first pipeline and should now see the line chart
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/06_example01_live_visualisation.png" alt="Visualize Pipeline"/>
-    <img src="/img/quickstart/examples_master/07_example01_first_step.png" alt="Configure Visualization Step 1"/>
-    <img src="/img/quickstart/examples_master/08_example01_second_step.png" alt="Configure Visualization Step 2"/>
-    <img src="/img/quickstart/examples_master/09_example01_third_step.png" alt="Configure Visualization Step 3"/>
-    <img src="/img/quickstart/examples_master/10_example1_finished.png" alt="Pipeline 01 Done"/>
-</div>
-
-
-## Condition monitoring of a water tank
-In our second example we are going to create a more complex pipeline.
-This pipeline has two sources, the flow rate sensor from the previous example and a source measuring the water level in a tank.
-Our goal is to send a notification when the flow rate stops and the water level in the water tank sinks too fast.
-In this case a service technician should check the system as soon as possible.
-This example should just illustrate how the individual components work.
-Since the system currently uses simulated data each time the situation occurs a notification is triggered.
-
-Now lets start!
-
-
-### Build the pipeline
-* First we have to select the **FRS1** (Flow Rate Sensor 1) and **WL1** (Water Level) form the sources tab
-* In a first step we want to detect when the flow rate stops
-* Use the **NF** (Numerical Filter) from the processing elements tab and connect it to the **FRS1** source
-* Configure the **Numerical Filter**:
-    * Field name for filter operator: **mass_flow**
-    * Filter Operation: **<**
-    * Threshold value: **1**
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/11_example2_start.png" alt="Start Example 2"/>
-    <img src="/img/quickstart/examples_master/12_example2_numerical.png" alt="Select Numericl Filter"/>
-    <img src="/img/quickstart/examples_master/13_example2_configure_numerical.png" alt="Configure Numerical Filter"/>
-</div>
-
-* As a next step we add an aggregation to the water level. This reduces the inaccuracies we have because the water moves in the tank. 
-* Select the **A** (Aggregation) processing element
-* Connect the **WL1** with **A**
-* Configure **Aggregation**:
-    * Property Selection: **level**
-    * Operation: **Average**
-    * Time Window Size: **10**
-    * Output Frequency: **1**
-    * Groupe By: **None**
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/14_example2_aggregate.png" alt="Select Aggregation"/>
-    <img src="/img/quickstart/examples_master/15_example2_configure_aggregate.png" alt="Configure Aggregation"/>
-        <img src="/img/quickstart/examples_master/15_example2_configure_aggregate_2.png" alt="Configure Aggregation"/>
-
-</div>
-
-* With the next processing element we check if the water level decreases too fast
-* Select **I** (Trend) and connect it to **A**
-* Configure **Trend**:
-    * Timestamp field: **timestamp**
-    * Value to observe: **aggregatedValue** (This value is created by previous element)
-    * Group by: **sensorId**
-    * Increase / Decrease: **Decrease**
-    * Percentage of Increase / Decrease: **20**
-    * Time Window Length: **10**
-    * Select Output: **All**
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/16_example2_increase.png" alt="Select Increase"/>
-    <img src="/img/quickstart/examples_master/17_example2_configure1_increase.png" alt="Configute 01 Increase"/>
-</div>
-
-* Now we connect the two stream with the sequence element, which checks if both events occur in a certain time
-* Select **S** (Sequence) and connect both data streams to it
-* Configure **Sequence**:
-    * Time Window Size: **1**
-    * Time Unit: **sec**
-    
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/19_example2_sequence.png" alt="Select Sequence Detection"/>
-    <img src="/img/quickstart/examples_master/20_example2_configure_sequence.png" alt="ConfigureSequence Detection"/>
-</div>
-
-* Now we create a notification for the service technician that something is wrong with the system
-* Select **N** (Notification) from the data sink tab
-* Connect **S**  with **N**
-* Configure **Notification**: 
-    * Notification title: **Alarm**
-    * Content: **One notification was triggered by our first complex pipeline. Yeahhhh!**
-    
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/21_example2_notification.png" alt="Select Notification"/>
-    <img src="/img/quickstart/examples_master/22_example2_configure_notification.png" alt="Configure Notification"/>
-</div>
-
-* Add the dashboard sink to the increase element to monitor the preliminary results
-* Select **DS** and connect to **I**
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/23_example2_dashboard_sink.png" alt="Select Dashboard"/>
-</div>
-
-* Save the pipeline 
-* Save configuration:
-    * Pipeline Name: **Second Pipeline**
-    * Description: **Complex monitorung rule**
-    * Start pipeline immediately: **CHECK**
-* Click **Save and go to pipeline view**
- 
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/24_example2_save.png" alt="Save Pipeline"/>
-</div>
-
-* All pipeline elements should be started successfully 
-* It can be seen that the elements run on different technologies, in flink and a java container
-    * http://pe-flink-examples:8090
-    * http://pe-jvm-examples:8090
-* Go to visualization and create **Raw Data** visualization for the new pipeline   
-    
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/25_example2_started.png" alt="Pipeline Started Sucessfull"/>
-    <img src="/img/quickstart/examples/26_example2_visualisation.png" alt="Add Visualization"/>
-</div>
-
-* Every time you can see output in the **Raw Data** visualization of the new pipeline and the **Line Chart** from the first example are zero, a Notification is triggered by the pipeline.
-* Go to the **Notifications** view and have a look at the notification
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples/27_example2_notification.png" alt="Show Notification"/>
-</div>
-
-
-Congratulation you finished the quick start!
-It is recommended to stop the last pipeline, because it will keep creating notifications ;)
-
-We hope we gave you an easy quick start into StreamPipes.
-If you have any questions or suggestions, just send us an email.
-From here on you can explore all features in the [User Guide](user-guide-introduction.md) or go to the [Developer Guide](dev-guide-introduction.md) to learn how to write your own StreamPipes processing elements.
-
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/user-guide-installation.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/user-guide-installation.md
deleted file mode 100644
index 3f20cf3..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/user-guide-installation.md
+++ /dev/null
@@ -1,74 +0,0 @@
----
-id: user-guide-installation
-title: Installation
-sidebar_label: Installation
-original_id: user-guide-installation
----
-
-<div class="admonition error">
-<div class="admonition-title">StreamPipes desktop version</div>
-<p>StreamPipes usually runs on a big data infrastructure. We did our best that you can install it yourself with less powerful hardware, even on your laptop.<br/>
-   By default, StreamPipes will start a lightweight version (not including big data tools) with few pipeline elements. To start the full version, run ./streampipes start bigdata.</p>
-</div>
-
-## Prerequisites
-StreamPipes is a modern web application, therefore you need Chrome (recommended) or Firefox to test it.
-
-### Supported operating systems
-We rely on Docker and support three operating systems for the StreamPipes system
-
-* Linux
-* OSX
-* Windows 10
-    * Please note that older Windows versions are not compatible with Docker. Also Linux VMs under Windows might not work, due to network problems with docker.
-
-### Installation
-You need to have Docker installed on your system before you continue with the installation guide.
-
-
-<div class="admonition info">
-<div class="admonition-title">Install Docker</div>
-<p>Go to https://docs.docker.com/installation/ and follow the instructions to install Docker for your OS. Make sure docker can be started as a non-root user (described in the installation manual, don’t forget to log out and in again) and check that Docker is installed correctly by executing docker-run hello-world</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Configure Docker</div>
-<p>By default, Docker uses only a limited number of CPU cores and memory.
-       If you run StreamPipes on Windows or on a Mac you need to adjust the default settings.
-       To do that, click on the Docker icon in your tab bar and open the preferences.
-       Go to the advanced preferences and set the **number of CPUs to 6** (recommended) and the **Memory to 8GB**.
-       After changing the settings, Docker needs to be restarted.</p></div>
-
-
-<div class="admonition warn">
-<div class="admonition-title">Server Recommendations</div>
-<p>
-<li>Unix based OS is recommended (also works with Windows)</li>
-    <li>min. 12 GB RAM (16 recommended)</li>
-    <li>Docker (latest version, see instructions above)</li>
-    <li>Docker Compose (latest version., see instructions above)</li>
-</p>
-</div>
-
-## Install StreamPipes
-We provide a script to install, stop, and start StreamPipes.
-
-
-The installer is available in two different versions, one to run StreamPipes on your laptop and another big data version which is intended to be run on a more powerful computer or server.
-In the desktop version, only a limited amount of processors is available to ensure that the system also runs with less memory.
-
-1. Clone or download the installer script from [https://www.github.com/streampipes/streampipes-installer](https://www.github.com/streampipes/streampipes-installer)
-2. Execute ``./streampipes start`` to run a lightweight StreamPipes version with few pipelines elements (not including Big Data frameworks) or start the full version (16GB RAM recommended) by executing ``./streampipes start bigdata``
-3. Open your browser, navigate to ``http://YOUR_HOSTNAME_HERE`` and follow the installation instructions.
-4. Once finished, switch to the pipeline editor and start the interactive tour or check the [online tour](https://docs.streampipes.org/docs/user-guide-tour) to learn how to create your first pipeline!
-
-
-<div class="admonition info">
-<div class="admonition-title">Installation might take some minutes</div>
-<p> StreamPipes is a modular, easily extensible system consisting of several micro services.
-       The installer automatically downloads all required services. Depending on your internet connection, the first installation may take some while.</p></div>
-
-
-After installing it, open your browser and navigate to `localhost`.
-
-Now you can continue with the tutorial on page [Getting Started](user-guide-getting-started.md).
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/user-guide-processing-elements.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/user-guide-processing-elements.md
deleted file mode 100644
index df9e4a3..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/user-guide-processing-elements.md
+++ /dev/null
@@ -1,138 +0,0 @@
----
-id: user-guide-processing-elements
-title: Processing Elements
-sidebar_label: Processing Elements
-original_id: user-guide-processing-elements
----
-
-This page explains some processing elements (not including the full list) that are available in the StreamPipes Starter Kit.
-New Processing Elements can also be included during runtime.
-The once presented on this page come with StreamPipes and cen be used immediately. 
-Check the [developer guide](dev-guide-tutorial-processors) to learn how new Processing Elements can be implemented and integrated into StreamPipes.
-
-## Data Streams
-
-<details class="info">
-<summary>Water Level</summary>
-
-{'{'}
-"underflow": false,
-"overflow": false,
-"level": 74.2184,
-"timestamp": 1515450274503,
-"sensorId": "level01"
-{'}'}
-</details>
-
-<details class="info">
-<summary>Flow Rate</summary>
-
-		Example Event:
-			{'{'}
-				"mass_flow":5.344,
-				"temperature":45.8665,
-				"timestamp":1515450053387,
-				"sensorId":"flowrate01"
-        {'}'}
-</details>
-
-<details class="info">
-<summary>Pressure Tank</summary>
-
-    Example Event:
-		{'{'}
-			"pressure": 57.1648,
-			"timestamp": 1515450424800,
-			"sensorId": "pressure01"
-		  {'}'}
-</details>
-
-<details class="info">
-<summary>Vehicle Position</summary>
- 		Example Event:
-		{'{'}
-			"latitude": 40.7551,
-			"plateNumber": "level02",
-			"timestamp": 1515450606449,
-			"longitude": -73.953
-		  {'}'}
-</details>
-    
-## Processing Elements
-
-<div class="admonition info">
-<div class="admonition-title">Numerical Filter</div>
-<p>Filters numerical values based on a given threshold</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Projection</div>
-<p>Outputs a subset of an incoming event, e.g., if the input event contains both temperature and machineId, only the temperature can be send to the next component</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Text Filter</div>
-<p>Filters text-based fields based on a filter condition</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Aggregation</div>
-<p> Can be used to aggregate measurements, e.g., to calculate the average temperature during the last 10 minutes</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Peak Detection</div>
-<p>This component detects peaks in time series data</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Timestamp Enrichment</div>
-<p>Appends the current time to any incoming event</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Increase</div>
-<p>Detects the increase of a value over time, e.g., a 10-percent-increase of the temperature within 5 minutes</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Co-Occurrence</div>
-<p>Can be used to detect the co-occurrence of two events, e.g., a high temperature occurs together with high dust particle level within 10 minutes
-</p>
-</div>
-
-...and many more!
-
-## Data Sinks
-
-<div class="admonition info">
-<div class="admonition-title">Notification</div>
-<p>Creates a notification in the ProaSense UI.</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Dashboard</div>
-<p>Forwards events to the visualization component</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">CouchDB</div>
-<p>Stores data in a CouchDB database</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Kafka Publisher</div>
-<p>Forwards data to a Kafka cluster</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Elasticsearch</div>
-<p>Stores data in an Elasticsearch cluster</p>
-</div>
-
-...and many more!
-
-## Further resources
-
-Also check the github project [https://www.github.com/streampipes/streampipes-pipeline-elements](https://www.github.com/streampipes/streampipes-pipeline-elements) to get an up-to-date list of available pipeline elements.
-
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/user-guide-software-components.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/user-guide-software-components.md
deleted file mode 100644
index f38126d..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/user-guide-software-components.md
+++ /dev/null
@@ -1,335 +0,0 @@
----
-id: user-guide-software-components
-title: Software Components
-sidebar_label: Software Components
-original_id: user-guide-software-components
----
-
-This page contains all the software components that can be used within the StreamPipes framework.
-Some of them are mandatory but others are just necessary for a special capabilities.
-In the [Installation Guide](user-guide-installation.md#installation_1) we  already provide a docker-compose.yml file with all the necessary components
-for a minimal setup.
-Extend this configuration files with further containers described on this page and configure StreamPipes
-according to your needs.
-
-
-## StreamPipes Framework
-
-<details class="tip">
-<summary>StreamPipes Backend</summary>
-
-#### Description
-The StreamPipes Backend is the main component of the StreamPipes Framework. It contains the application logic to create and execute pipelines.
-Furthermore, it provides a REST-API that is used by other components for communication.
-
-#### Docker Compose
-```yaml
-backend:
-  image: streampipes/backend
-  depends_on:
-    - "consul"
-  ports:
-    - "8030:8030"
-  volumes:
-    - ./config:/root/.streampipes
-    - ./config/aduna:/root/.aduna
-  networks:
-    spnet:
-```
-</details>
-
-
-<details class="tip">
-<summary>StreamPipes UI</summary>
-
-#### Description
-This service uses nginx and contains the UI of StreamPipes.
-The UI can, for example, be used to import new pipeline elements, create new pipelines and manage the pipeline
-execution. The UI communicates with the backend via the REST interface.
-
-#### Docker Compose
-```yaml
-nginx:
-  image: streampipes/ui
-  ports:
-    - "80:80"
-  depends_on:
-    - backend
-  networks:
-    spnet:
-```
-</details>
-
-## StreamPipes Services
-
-<details class="tip">
-<summary>Consul</summary>
-#### Description
-Consul is used to store configuration parameters of the backend service and processing elements.
-It is further used for service discovery. Once a processing element container is started in the network, it is
-automatically discovered via the service discovery feature of Consul.
-
-#### Docker Compose
-```yaml
-consul:
-    image: consul
-    environment:
-      - "CONSUL_LOCAL_CONFIG={'{\"disable_update_check\": true}'}"
-      - "CONSUL_BIND_INTERFACE=eth0"
-      - "CONSUL_HTTP_ADDR=0.0.0.0"
-    entrypoint:
-      - consul
-      - agent
-      - -server
-      - -bootstrap-expect=1
-      - -data-dir=/consul/data
-      - -node=consul-one
-      - -bind={'{{ GetInterfaceIP "eth0" }}'}
-      - -client=0.0.0.0
-      - -enable-script-checks=true
-      - -ui
-    volumes:
-      - ./config/consul:/consul/data
-    ports:
-      - "8500:8500"
-      - "8600:8600"
-    networks:
-      spnet:
-        ipv4_address: 172.30.0.9
-```
-</details>
-
-<details class="tip">
-<summary>Zookeeper</summary>
-#### Description
-Apache Kafka and Apache Flink require zookeeper to manage their clusters.
-
-#### Docker Compose
-```yaml
-zookeeper:
-    image: wurstmeister/zookeeper
-    ports:
-      - "2181:2181"
-    networks:
-      spnet:
-```
-</details>
-
-<details class="tip">
-<summary>Kafka</summary>
-
-#### Description
-Kafka is used as the primary message broker. It is possible to use other brokers or even multiple message brokers in a single pipeline, but Kafka is the
-default. The communication between the processing elements in a pipeline is mostly done via Kafka.
-
-#### Docker Compose
-```yaml
-  kafka:
-    image: wurstmeister/kafka:0.10.0.1
-    ports:
-      - "9092:9092"
-    environment:
-      KAFKA_ADVERTISED_HOST_NAME: ###TODO ADD HOSTNAME HERE ###
-      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
-    volumes:
-      - /var/run/docker.sock:/var/run/docker.sock
-    networks:
-      spnet:
-```
-</details>
-
-<details class="tip">
-<summary>ActiveMQ</summary>
-#### Description
-ActiveMQ is another message broker which can be used in addition to Kafka. Currently, the main purpose is to provide
-an endpoint for the websocket connections required by the real-time dashboard of the StreamPipes UI.
-
-#### Docker Compose
-```yaml
-activemq:
-  image: streampipes/activemq
-  ports:
-    - "61616:61616"
-    - "61614:61614"
-    - "8161:8161"
-  networks:
-    spnet:
-
-    ```
-</details>
-
-<details class="tip">
-<summary>CouchDB</summary>
-
-#### Description
-CouchDB is the main database for StreamPipes data that needs to be persisted such as pipelines, users and visualizations created in the dashboard.
-
-#### Docker Compose
-```yaml
-couchdb:
-  image: couchdb
-  ports:
-    - "5984:5984"
-  volumes:
-    - ./config/couchdb/data:/usr/local/var/lib/couchdb
-  networks:
-    spnet:
-```
-</details>
-
-<details class="tip">
-<summary>Flink</summary>
-#### Description
-This service sets up a sample flink cluster with one jobmanager and one taskmanager. Although this cluster can be used for testing, it is not recommended for production use.
-
-#### Docker Compose
-```yaml
-jobmanager:
-  image: streampipes/flink
-  ports:
-    - "8081:8099"
-  command: jobmanager
-  networks:
-    spnet:
-
-
-taskmanager:
-  image: ipe-wim-gitlab.fzi.de:5000/streampipes/services/flink
-  command: taskmanager
-  environment:
-    - FLINK_NUM_SLOTS=20
-  networks:
-    spnet:
-```
-</details>
-
-
-## Processing Elements
-
-<details class="tip">
-<summary>PE Examples Sources</summary>
-#### Description
-This Processing Element Container contains several sample data sources that can be used to work with StreamPipes.
-It consists of sources descriptions and data simulators that constantly produce data.
-
-#### Docker Compose
-```yaml
-    pe-examples-sources:
-      image: streampipes/pe-examples-sources:
-      depends_on:
-        - "consul"
-      ports:
-        - "8098:8090"
-      networks:
-        spnet:
-```
-</details>
-
-<details class="tip">
-<summary>PE Examples JVM</summary>
-
-#### Description
-This Processing Element Container contains some sink example implementations, like for example the real-time
-dashboard. This can be used to visualize data within StreamPipes.
-
-#### Docker Compose
-```yaml
-      pe-exanmples-jvm:
-        image: streampipes/pe-examples-jvm
-        depends_on:
-          - "consul"
-        environment:
-          - STREAMPIPES_HOST=###TODO ADD HOSTNAME HERE ###
-        ports:
-          - "8096:8090"
-        networks:
-          spnet:
-```
-</details>
-
-<details class="tip">
-<summary>PE Examples Flink</summary>
-
-#### Description
-The Flink Samples Processing Element Container contains some example algorithms that can be used within processing
-pipelines in the pipeline editor. Those algorithms are deployed to a Flink cluster once the pipeline is started.
-
-#### Docker Compose
-```yaml
-  pe-flink-samples:
-    image: streampipes/pe-examples-flink
-    depends_on:
-      - "consul"
-    ports:
-      - "8094:8090"
-    volumes:
-      - ./config:/root/.streampipes
-    networks:
-      spnet:
-```
-</details>
-
-### Third Party Services
-
-<details class="tip">
-<summary>Elasticsearch</summary>
-
-#### Description
-This service can be used to run Elasticsearch. Data can be written into Elasticsearch with the Elasticsearch
-sink of the PE Flink samples conatiner.
-
-#### Docker Compose
-```yaml
-elasticsearch:
-  image: ipe-wim-gitlab.fzi.de:5000/streampipes/services/elasticsearch
-  ports:
-    - "9200:9200"
-    - "9300:9300"
-  volumes:
-    - ./config/elasticsearch/data:/usr/share/elasticsearch/data
-  networks:
-    spnet:
-```
-</details>
-
-<details class="tip">
-<summary>Kibana</summary>
-#### Description
-Kibana is used to visualize data that is written into Elasticsearch. It can be used in addition to our live dashboard
-to analyse and visualize historic data.
-
-#### Docker Compose
-```yaml
-kibana:
-  image: kibana:5.2.2
-  ports:
-    - "5601:5601"
-  volumes:
-    - ./config/kibana/kibana.yml:/opt/kibana/config/kibana.yml
-  environment:
-    - ELASTICSEARCH_URL=http://elasticsearch:9200
-  networks:
-    spnet:
-```
-</details>
-
-
-<details class="tip">
-<summary>Kafka Web Console</summary>
-
-#### Description
-The kafka web console can be used to monitor the kafka cluster. This is a good tool for debugging your newly
-developed pipeline elements.
-
-#### Docker Compose
-```yaml
-kafka-web-console:
-  image: hwestphal/kafka-web-console
-  ports:
-    - "9000:9000"
-  volumes:
-    - ./config:/data
-  networks:
-    spnet:
-```
-</details>
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/user-guide-tour.md b/website-v2/versioned_docs/version-0.61.0-pre-asf/user-guide-tour.md
deleted file mode 100644
index 9fdf141..0000000
--- a/website-v2/versioned_docs/version-0.61.0-pre-asf/user-guide-tour.md
+++ /dev/null
@@ -1,280 +0,0 @@
----
-id: user-guide-tour
-title: Tour
-sidebar_label: Tour
-original_id: user-guide-tour
----
-
-StreamPipes is a framework that enables domain experts to model and execute stream processing pipelines in a big data infrastructure.
-The graphical user interface of StreamPipes is a web application that provides an easy to use solution for domain experts.
-In this page, an overview of the many features of StreamPipes is given. We will tour through all features and explain what they do and how users can interact with them.
-
-First of all, a user needs to log in to the system.
-The credentials for the user are specified during the installation process.
-
-![StreamPipes Login](/img/features_0_62_0/login.png) 
-
-## Home
-After logging in, the user is redirected on to the home page.
-The home page gives an overview over the different features available in the StreamPipes UI.
-
-On the left, the navigation menu can be seen.
-You can either use the icons on the left side or click on the menu icon on the
-top left to open the details view of the navigation menu.
-
-On the top right, a link refers to the documentation and the logout button is present.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/home/home.png" alt="Home"/>
-    <img src="/img/features_0_62_0/home/open_menu.png" alt="Open Menu"/>
-</div>
-
-
-
-## Pipeline Editor
-The first feature we are going to explain is the Pipeline Editor.
-This is one of the central features of StreamPipes, since graphical modeling of pipelines takes place in this view.
-
-On the top we can see four tabs: __Data Sets__, __Data Streams__, __Processing Elements__, and __Data Sinks__.
-Each tab contains multiple pipeline elements, which can be installed at runtime.
-The installation of pipeline elements is explained later in section [Install Pipeline Elements](user-guide-tour.md#install-pipeline-elements).
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/editor/2_PipelineEditor_DataStreams.png" alt="Data Streams"/>
-    <img src="/img/features_0_62_0/editor/3_PipelineEditor_DataProcessors.png" alt="Processing Elements"/>
-    <img src="/img/features_0_62_0/editor/4_PipelineEditor_DataSinks.png" alt="Data Sinks"/>
-    <img src="/img/features_0_62_0/editor/1_PipelineEditor_DataSets.png" alt="Data Sets"/>
-</div>
-
-There are multiple ways to search for a pipeline element. 
-The easiest way is to enter a search term in the search field on the top left corner.
-The system filters the elements according to the search term and only presents the relevant ones.
-Another way is to select one of the categories from the drop down menu.
-The system then filters the elements according to the selected category.
-The category of an element is defined by its functionality.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/editor/5_text_filter.png" alt="Text Filter"/>
-    <img src="/img/features_0_62_0/editor/6_category_drop_down.png" alt="Category Drop Down"/>
-    <img src="/img/features_0_62_0/editor/7_category_filter.png" alt="Category Filter"/>
-</div>
-
-Modelling of a pipeline starts with choosing one ore more data sources. Therefore a data stream or data set must be selected
-and moved into the editor via drag and drop.
-After adding a data stream, we can select a processing element to transform the events of the data stream.
-This is done again by dragging the processing element icon into our editor.
-The mouse can be used to connect the two elements.
-It is automatically checked in the background if the two elements are semantically compatible.
-If this check is successful, a configuration menu is shown. It contains the parameters that can be modified by the
-user. For all parameters, a description is provided and the system also prevents the user from entering parameters that
-are not correct, according to the semantic description of the element.
-It is also ensured that all required parameters are provided by the user, otherwise an error message is displayed.
-
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/editor/8_connect_elements.png" alt="Connect Elements"/>
-    <img src="/img/features_0_62_0/editor/9_configure_element.png" alt="Configure Elements"/>
-</div>
-
-When the user tries to connect two elements that are not compatible, the system shows a __connection error__ message.
-The example illustrated below shows such a case. The user tried to connect a text filter to a light sensor.
-This is not possible since the text filter processing element requires at least one event property of type string, which is not provided by the light sensor.
-
-![Connection Error](/img/features_0_62_0/editor/10_connection_error.png) 
-
-To further improve the usability, multiple ways are available to connect new elements besides the drag and drop option.
-Each processing element has multiple short-cut buttons to connect it with another element.
-The first one (eye icon) can be used to get a suggestion of all elements that are compatible with the current element.
-The second one (plus icon) gives a recommendation on the elements the user might want to connect, based on the usage of the component in
-other pipelines.
-There is also a button (question tag icon) to open the documentation of a selected element.
-Elements can be deleted by clicking the 'delete' button.
-Each element can also be re-configured at a later point in time using the configuration button.
-There is one important aspect about re-configuration of pipeline elements you need to be aware of: Only elements that are not yet connected to another element can be modified.
-The reason for this behaviour is that some of the following elements might rely on the configuration of previous elements.
-This way it is ensured that the user can not change the behaviour of the pipeline by accident.
- 
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/editor/11_shortcut_buttons.png" alt="Shortcut Buttons"/>
-    <img src="/img/features_0_62_0/editor/12_compatible_elements.png" alt="Compatible Elements"/>
-    <img src="/img/features_0_62_0/editor/13_recommend_elements.png" alt="Recommended elements"/>
-</div>
-
-
-After the pipeline is completely modelled, the editor looks similar to the first image below.
-Especially for larger pipelines, the auto layout button in the editor menu might be helpful.
-With this button, the pipeline will be beautifully aligned in the editor, helping users to get a better overview of the complete pipeline.
-On the top left corner of the editor, the 'save' button can be found.
-After the modelling of the pipeline is done, use this button to save and execute the pipeline.
-A save dialogue pops up when clicking the save button. 
-The pipeline title must be entered and an additional description can be provided.
-It is recommended to always provide a description, because it makes it easier for other users to understand the meaning of the pipeline.
-In the save menu, the user can either just store the pipeline configuration or store it and immediately start the pipeline.
-Once the pipeline is executed, the user is redirected to the _Manage Pipeline_ view.
-In this view, the user gets immediate feedback whether all components did start correctly and the pipeline is up and running.
-This view also shows that individual elements might run in different environments on different servers.
-If there is an error during the execution, a notification containing a (hopefully) detailed error description is provided in this view.
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/editor/14_save_adjust.png" alt="Save adjust delete"/>
-    <img src="/img/features_0_62_0/editor/15_save_dialogue.png" alt="Complete pipeline"/>
-    <img src="/img/features_0_62_0/editor/16_pipeline_sucessfully_started.png" alt="Pipeline sucessfully started"/>
-</div>
-
-
-## Manage Pipelines
-The _Manage Pipelines_ view provides an overview of all existing pipelines.
-Existing pipelines can be managed using this view.
-For instance, users can start and stop pipelines or delete them when they are not longer needed.
-Pipeline actions can be performed by clicking one of the buttons next to each pipeline.
-For each pipeline, the title and description is displayed in the table.
-By clicking the edit symbol an overview of the created pipline is shown. In this window you are able to analyze statistics, identify errors or edit the pipeline.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/manage_pipelines/1_pipeline_overview.png" alt="Pipeline Overview"/>
-    <img src="/img/features_0_62_0/manage_pipelines/2_pipeline_information.png" alt="Pipeline infomation"/>
-    <img src="/img/features_0_62_0/manage_pipelines/3_delete_pipeline.png" alt="Delete Pipelines"/>
-    <img src="/img/features_0_62_0/manage_pipelines/4_pipeline_deleted.png" alt="Delete Pipelines"/>
-</div>
-
-In a setting with many defined pipelines, it can get really hard to keep track of all pipelines.
-This is why we introduce categories.
-A category is a set of pipelines that can be defined by users in order to better organize pipelines.
-By clicking on the "Manage Categories" button on the top left, a new category can be added to StreamPipes.
-In this example, we create a new category named "New Demo Category".
-After saving a category, pipelines can be added to the newly created category.
-The new category is then presented as a tab in the _Pipeline Management_ view.
-This tab contains all previously defined pipelines.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/manage_pipelines/5_pipeline_category.png" alt="Pipeline Category"/>
-    <img src="/img/features_0_62_0/manage_pipelines/6_add_category.png" alt="Add Pipeline Category"/>
-    <img src="/img/features_0_62_0/manage_pipelines/7_new_category.png" alt="New Category"/>
-    <img src="/img/features_0_62_0/manage_pipelines/8_show_new_category.png" alt="Show new Category"/>
-</div>
-
-## Live Dashboard
-The live dashboard can be used for multiple use cases.
-It is a good way to live monitor a running system in a dashboard, but it can also be used during the pipeline development to get a fast feedback from newly created pipelines.
-Below is a screenshot of an example dashboard showing the current value of pressure, which further shows a line chart and a trafficlight for a water level pipeline.
-All pipelines that contain the "Dashboard Sink" can be visualized in this view.
-To add a new visualisation, click on the "Add visualisation" button on the top left corner.
-Afterwards, a three-step configuration menu is shown.
-The first step is to select the pipeline that should be visualized.
-In the second step, the type of visualization can be defined.
-Currently 10 different types are available, including line charts, various map visualizations and data tables.
-After selecting the type (in our example "Gauge"), you can select the specific measurement values of the data stream that should be displayed.
-In the example below, the water level value should be monitored and the gauge value should range from 0 to 100.
-Once all steps are completed, the new visualization is placed on the dashboard and live data is presented as soon as it becomes available.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/dashboard/01_dashboard.png" alt="Screenshot of live dashboard"/>
-    <img src="/img/features_0_62_0/dashboard/02_new_visualisation.png" alt="Select Pipeline to visualize"/>
-    <img src="/img/features_0_62_0/dashboard/03_select_gauge.png" alt="Select Visualization Type"/>
-    <img src="/img/features_0_62_0/dashboard/04_configure_gauge.png" alt="Configure  Visualzation"/>
-    <img src="/img/features_0_62_0/dashboard/05_new_gauge_done.png" alt="Show new Visualzation"/>
-</div>
-
-## File Download
-With the file download,  it is possible to download stored files directly from Elasticsearch.
-This can be very useful for example when a data dumb is needed for a specific time range.
-All data that is written into Elasticsearch using the _Elasticsearch Sink_ can be accessed by the file downloader.
-A common use case is to download data for offline analysis and to train a machine learning algorithm.
-First, an index must be defined, afterwards, the time range must be set.
-A date picker helps users to enter the time range.
-When a user clicks the "Create File" button the file is created.
-All files stored on the server can be downloaded via the download button.
-If the files are not longer needed, they can be deleted by clicking the delete button.
-This will remove the file from the server.
-Since data is stored in Elasticsearch anyways. it is recommended not to store the files for a longer period of time on the server.
-When a file is needed again at a later point in time it is easy to create it again. 
-This way a lot of disk space on the server can be saved, especially when the files are rather large.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/file_download/01_file_download.png" alt="File Download"/>
-    <img src="/img/features_0_62_0/file_download/02_file_download.png" alt="File Download with selected time range"/>
-    <img src="/img/features_0_62_0/file_download/03_file_download.png" alt="File Download with new File"/>
-</div>
-
-## Notifications
-Notifications are a good solution to notify someone when a urgent situation occurs.
-A notification can be created by using the notification sink in the pipeline editor.
-When using such a sink a configuration dialogue is presented to the user.
-In this dialogue the user must provide enough information to resolve the solution when it occurs.
-The message can be nicely configured in the message editor.
-It is also possible to embed values of the event that triggered the notification.
-This can be done with the #property# notation.
-All available properties are presented in the notification configurator.
-When the notification is triggered the #property# template is replaced with the actual value of the property.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/notification/01_select_notification_sink.png" alt="Select Notification"/>
-    <img src="/img/features_0_62_0/notification/02_configure_notification.png" alt="Configure Notification"/>
-</div>
-
-A pop up icon on the notification tab in the menu shows the user how many unread notifications currently are in the system.
-This icon also alerts users when new notifications occur.
-In the notification overview all notifications are listed.
-On the top are the new notifications that are not read yet.
-A user can mark them as read by clicking on the little envelope icon.
-Those notifications are then no longer in the unread section, but they remain in the "All Messages" view.
-This way it is possible to keep track of all notifications and have a look at them at a later point in time.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/notification/03_new_notification.png" alt="New Notification"/>
-</div>
-
-
-## Install Pipeline Elements
-StreamPipes is highly configurable and extensible.
-Pipeline elements can be added and removed during runtime.
-This can be done in the "Install Pipeline Elements" view.
-All available pipeline elements are shown here and can be selected to install or uninstall.
-It is also possible to select multiple or all of them and then install them all together.
-When a new element is installed by the user it is automatically available in the "Pipeline Editor" and can be used for pipelines.
-Elements that are uninstalled are removed from the system. 
-They can not longer be used within pipelines.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/install_elements/01_install_elements.png" alt="Install Elements View"/>
-    <img src="/img/features_0_62_0/install_elements/02_install_countAggregation.png" alt="Insall new Element"/>
-    <img src="/img/features_0_62_0/install_elements/03_installed_countAggregation.png" alt="Installation Successful"/>
-    <img src="/img/features_0_62_0/install_elements/04_countAggregation_in_editor.png" alt="Show new installed element"/>
-</div>
-
-
-## My Elements
-The "My Elements" view gives a quick overview over all installed pipeline elements.
-Here they can be inspected and the description can be re-imported.
-In this view it is also possible to have a look at the JSON-LD representation of each element.
-This is not important for a user, but it is worth noting that the system uses this machine understandable format to support the user.
-For example all the information of the sources, like data schema or unit information is in the JSON-LD meta data.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/my_elements/01_my_elements.png" alt="My Elements Overview"/>
-    <img src="/img/features_0_62_0/my_elements/02_my_elements_jsonid.png" alt="View JSON-LD"/>
-</div>
-
-## Configuration
-The last feature is the _configuration view_.
-Here, it is possible to change the configuration parameters of installed components.
-All components containing processing elements automatically register in StreamPipes when they are started in the same network as the backend component.
-Once a container is registered it is represented in the configuration view.
-The green dot on the top left indicates that tha container is running properly.
-When there is a problem with a container the green dot changes to red and the user knows there is a problem.
-To configure the parameters the top right arrow of a configuration box must be clicked.
-Then the configuration menu pops up. 
-Within there it is possible to change the parameters of a service.
-To make the changes persistent the "Update" button must be clicked.
-A user should keep in mind that sometimes it is necessary to restart a container when the parameters are changed.
-Sometimes it is also necessary to re-import the pipeline element description, either by uninstalling and re-installing them after the container restart or be reloading the description in the "My elements" view.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/configuration/01_configuration_overview.png" alt="Configuration Overview"/>
-    <img src="/img/features_0_62_0/configuration/02_change_config.png" alt="Change Configuration"/>
-</div>
-
-
-Congratulations! You've just finished your first tour of StreamPipes.
-Although there's still more to learn, we introduced most of the currently available features.
-On the next page, the different processing elements that come with the installation are explained.
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/dev-guide-archetype.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/dev-guide-archetype.md
deleted file mode 100644
index 796f632..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/dev-guide-archetype.md
+++ /dev/null
@@ -1,153 +0,0 @@
----
-id: dev-guide-archetype
-title: Start Developing
-sidebar_label: Start Developing
-original_id: dev-guide-archetype
----
-
-In this tutorial we explain how you can use the Maven archetypes to develop your own StreamPipes processors and sinks.
-We use IntelliJ in this tutorial, but it works with any IDE of your choice.
-
-## Prerequisites
-You need to have Maven installed, further you need an up and running StreamPipes installation on your development computer.
-To ease the configuration of environment variables, we use the IntelliJ [env Plugin](https://plugins.jetbrains.com/plugin/7861-envfile).
-Install this in IntelliJ. The development also works without the plugin, then you have to set the environment variables manually instead of using the env configuration file.
-
-## Create Project
-To create a new project, we provide multiple Maven Archteypes.
-Currently, we have archetypes for the JVM and Flink wrappers, each for processors and sinks.
-The commands required to create a new pipeline element project can be found below. Make sure that you select a version compatible with your StreamPipes installation.
-Copy the command into your terminal to create a new project.
-The project will be created in the current folder.
-First, the ``groupId`` of the resulting Maven artifact must be set.
-We use ``groupId``: ``org.example`` and ``artifactId``: ``ExampleProcessor``.
-You can keep the default values for the other settings, confirm them by hitting enter.
-Now, a new folder with the name ``ExampleProcessor`` is generated.
-
-
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-processors-jvm  \
-  -DarchetypeVersion={sp.version}
-```
-<details class="info">
-    <summary>Select: [Processors / Sinks] [JVM / Flink]</summary>
-
-## Processors JVM
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-processors-jvm  \
-  -DarchetypeVersion=0.64.0
-```
-
-## Processors Flink
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-processors-flink  \
-  -DarchetypeVersion=0.64.0
-```
-
-## Sinks JVM
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-sinks-jvm  \
-  -DarchetypeVersion=0.64.0
-```
-
-## Sinks Flink
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-sinks-flink  \
-  -DarchetypeVersion=0.64.0
-```
-</details>
-
-
-## Edit Processor
-Open the project in your IDE.
-If everything worked, the structure should look similar to the following image.
-The *config* package contains all the configuration parameters of your processors / sinks.
-In the *main* package, it is defined which processors / sinks you want to activate and the *pe.processor.example* package contains three classes with the application logic.
-For details, have a look at the other parts of the Developer Guide, where these classes are explained in more depth.
-
-<img src="/img/archetype/project_structure.png" width="30%" alt="Project Structure"/>
-
-Due to a dependency conflict in the 0.64.0 release, open your pom.xml and add the following lines to the ``dependencies`` section:
-```
-<dependency>
-    <groupId>javax.validation</groupId>
-    <artifactId>validation-api</artifactId>
-    <version>2.0.1.Final</version>
-</dependency>
-
-```
-
-Open the class *Example* and edit the ``onEvent`` method to print the incoming event, log it to the console and send it to the next component without changing it.
-
-```java
-@Override
-public void onEvent(Event event, SpOutputCollector collector) {
-    // Print the incoming event on the console
-    System.out.println(in);
-
-    // Hand the incoming event to the output collector without changing it.
-    collector.onEvent(in);
-}
-```
-
-## Start Processor
-Before the processor can be started, you need to edit the *env* file in the *development* folder.
-Replace all local hosts in this file with the IP address or DNS name of your computer.
-This is relevant to make the mapping between the services running in Docker and your component running in the local IDE.
-After all updates are updated, this file is used by the envfile plugin to provide configuration parameters to the pipeline element.
-Alternatively, environment variables can also be set on your host or IDE.
-Now start the project by clicking on **(Run -> Edit Configuration)**.
-Add a new configuration in the Configuration menu by clicking on the + sign and select **Application**.
-Name the configuration *ExampleProcessor* and select the *Init* class as the 'Main class'.
-Then set *ExampleProcessor* in 'Use classpath of module'.
-
-
-As the last step, switch to the tab *EnvFile* and load the env file.
-Click on 'Enable EnvFile' to activate it and add the just edited env file by clicking on the + sign.
-Save all the changes by clicking *Apply*.
-Now you can start the processor.
-
-<div class="my-carousel">
-    <img src="/img/archetype/run_configuration.png" alt="Configuration View"/>
-    <img src="/img/archetype/run_env_configuration.png" alt="Environment Configuration View"/>
-</div>
-
-To check if the service is up and running, open the browser on *'localhost:6666'*. The machine-readable escription of the processor should be visible as shown below.
-
-<img src="/img/archetype/endpoint.png" width="90%" alt="Project Structure"/>
-
-
-<div class="admonition error">
-<div class="admonition-title">Common Problems</div>
-<p>
-If the service description is not shown on 'localhost:6666', you might have to change the port address.
-This needs to be done in the configuration of your service, further explained in the configurations part of the developer guide.
-
-If the service does not show up in the StreamPipes installation menu, click on 'MANAGE ENDPOINTS' and add 'http://<span></span>YOUR_IP_OR_DNS_NAME:6666'.
-Use the IP or DNS name you provided in the env file.
-After adding the endpoint, a new processor with the name *Example* should show up.
-</p>
-</div>
-
-Now you can go to StreamPipes.
-Your new processor *'Example'* should now show up in the installation menu.
-Install it, then switch to the pipeline view and create a simple pipeline that makes use of your newly created processor.
-In case you opened the StreamPipes installation for the first time, it should have been automatically installed during the setup process.
-
-<img src="/img/archetype/example_pipeline.png" width="80%" alt="Project Structure"/>
-
-Start this pipeline.
-Now you should see logging messages in your console and, once you've created a visualisation, you can also see the resulting events of your component in StreamPipes.
-
-Congratulations, you have just created your first processor!
-From here on you can start experimenting and implement your own algorithms.
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/dev-guide-configuration.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/dev-guide-configuration.md
deleted file mode 100644
index 2d3cf1c..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/dev-guide-configuration.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: dev-guide-configuration
-title: Configuration
-sidebar_label: Configuration
-original_id: dev-guide-configuration
----
-
-On this page we explain how the StreamPipes configuration works.
-StreamPipes allows the individual services (pipeline element containers and third-party services) to store configuration parameters in a distributed key-value store.
-This has the advantage that individual services do not need to store any configurations on the local file system, enabling us to run containers anywhere.
-As a key-value store we use [Consul](https://www.consul.io/), which is an essential service for all our services.
-
-<img src="/img/configuration/consul.png" width="50%" alt="Semantic description of data processor"/>
-
-
-## Edit Configurations
-All services in StreamPipes can have configuration parameters.
-You can either change them in the consul user interface (which is by default running on port 8500) or directly in the StreamPipes Configurations Page.
-Once a new  pipeline element container is started, it is registered in Consul and the parameters can be edited in the configuration page, as shown below.
-To store changes in Consul, the update button must be clicked.
-
-<div class="my-carousel">
-    <img src="/img/configuration/configuration_1.png" alt="Configuration View"/>
-</div>
-
-## Configuration for Developers
-We provide a Configurations API for the use of configuration parameters in your services.
-Each processing element project has a “config” package [[Example]](https://github.com/streampipes/streampipes-pipeline-elements/tree/dev/streampipes-sinks-internal-jvm/src/main/java/org/streampipes/sinks/internal/jvm/config).
-This package usually contains two classes.
-One containing unique keys for the configuration values and one containing the getter and setter methods to access these values.
-For the naming of configuration keys, we recommend to use “SP” as a prefix.
-As we explain later, it is possible to set default configurations as environment variables, this prefix makes them unique on your server.
-A configuration entry needs a unique config key. For this key, a value can be specified containing the configuration, like for example the port number of the service.
-For each configuration, a description explaining the parameter can be provided, further the data type must be specified and whether it is a password or not.
-Below, the schema of a configuration item is shown on the left and an example of a port configuration on the right.
-
-<img src="/img/configuration/config_key.png" width="80%" alt="Semantic description of data processor"/>
-
-As a developer, you can add as many new configurations to services as you wish, but there are some that are required for all processing element containers.
-Those are **the host**, **the port**, and **the name** of the service.
-
-## Default Values
-You can provide default values for the configurations, which are used when a configuration is read for the first time.
-The first option is to register a configuration parameter in the Config class.
-This is a fallback value, which is used if nothing else is defined.
-Since this value is static, we offer a second option.
-It is possible to provide a default value by setting an environment variable.
-In this case, the convention is that the key of a configuration parameter must be used as the environment variable.
-Now, this value is used instead of the value defined in the Config class.
-During development, the configuration values often need to be changed for debugging purposes, therefore we provide an .env file in all processing element projects and archetypes.
-This file can be used by your IDE to set the environment variables. (e.g., [Intellij Plugin](https://plugins.jetbrains.com/plugin/7861-envfile))
-When you need to change the variable at runtime, you can do this in the StreamPipes configurations as explained before.
-Those changes take effect immediately without the need of a container restart.
-
-<div class="admonition warning">
-<div class="admonition-title">Installed pipeline elements</div>
-<p>Be cautious, when the configuration is used in the semantic description of a processing element which is already installed in StreamPipes, you have to reload this element in StreamPipes (my elements -> reload).
-   In addition, changes might affect already running pipelines.</p>
-</div>
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/dev-guide-environment.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/dev-guide-environment.md
deleted file mode 100644
index 3c9aa69..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/dev-guide-environment.md
+++ /dev/null
@@ -1,113 +0,0 @@
----
-id: dev-guide-development-environment
-title: Development Environment
-sidebar_label: Development Environment
-original_id: dev-guide-development-environment
----
-
-In this section, we describe our recommended minimum setup for locally setting up a development instance of StreamPipes needed to develop, run and test new pipeline elements.
-
-## IDE & required dev tools
-StreamPipes does not have specific requirements on the IDE - so feel free to choose the IDE of your choice.
-The only requirements in terms of development tools are that you have Java 8 and Maven installed.
-
-## Docker-based local StreamPipes instance
-In order to quickly test developed pipeline elements without needing to install all services required by StreamPipes, we provide a CLI tool that allows you to selectively start StreamPipes components.
-The CLI tool allows to switch to several templates (based on docker-compose) depending on the role. For instance, if you are developing a pipeline element, use the template ``pe-developer``. This will start backend and ui components in a Docker container, while you can easily test your pipeline element in your IDE.
-
-For now, we refer to the Github Readme for instructions on how to use the CLI tool: [https://github.com/streampipes/streampipes-cli](https://github.com/streampipes/streampipes-cli)
-
-## Starter projects
-
-Now, once you've started the development instance, you are ready to develop your very first pipeline element.
-Instead of starting from scratch, we recommend using our provided maven archetypes:
-
-### Maven archetypes
-
-Create the Maven archetype as described in the [Getting Started](dev-guide-archetype) guide.
-
-### Starting from scratch
-
-In order to develop a new pipeline element from scratch, you need to create a new Maven project and import the following dependencies:
-
-<details class="info">
-<summary>pom.xml</summary>
-```
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-container-standalone</artifactId>
-    <version>0.64.0</version>
-</dependency>
-
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-sdk</artifactId>
-    <version>0.64.0</version>
-</dependency>
-
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-vocabulary</artifactId>
-    <version>0.64.0</version>
-</dependency>
-
-<!-- This dependency needs to be imported if you plan to develop a new data processor or data sink using the Apache Flink wrapper -->
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-wrapper-flink</artifactId>
-    <version>0.64.0</version>
-</dependency>
-
-<!-- This dependency needs to be imported if you plan to develop a new data processor or data sink which is running directly on the JVM -->
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-wrapper-standalone</artifactId>
-    <version>0.64.0</version>
-</dependency>
-
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-dataformat-json</artifactId>
-    <version>0.64.0</version>
-</dependency>
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-dataformat-smile</artifactId>
-     <version>0.64.0</version>
-</dependency>
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-dataformat-cbor</artifactId>
-     <version>0.64.0</version>
-</dependency>
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-dataformat-fst</artifactId>
-     <version>0.64.0</version>
-</dependency>
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-messaging-jms</artifactId>
-     <version>0.64.0</version>
-</dependency>
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-messaging-kafka</artifactId>
-     <version>0.64.0</version>
-</dependency>
-```
-</details>
-
-The following three dependencies are mandatory:
-
-* `streampipes-container-standalone`, defines that we are going to create a new pipeline element where the description will be accessible through an embedded web server.
-* `streampipes-sdk` imports the SDK which provides many convencience functions to create new pipeline elements.
-* `streampipes-vocabulary` imports various RDF vocabularies which are used by the SDK to auto-generate the semantic description of pipeline elements.
-
-The following three dependencies might be optional depending on the pipeline element type you plan to create:
-
-*  `streampipes-wrapper-flink` should be used in case you plan to connect a new data processor or data sink that uses Apache Flink for processing events at runtime.
-*  `streampipes-wrapper-standalone` should be used in case you plan to connect a new data processor or data sink that does not use an external processing engine. Events are directly processed in a single-host fashion.
-
-
-Finally, this dependency will provide abstract classes to define data sources and streams.
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/dev-guide-tutorial-processors.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/dev-guide-tutorial-processors.md
deleted file mode 100644
index 2d83972..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/dev-guide-tutorial-processors.md
+++ /dev/null
@@ -1,511 +0,0 @@
----
-id: dev-guide-tutorial-processors
-title: "Tutorial: Data Processors"
-sidebar_label: "Tutorial: Data Processors"
-original_id: dev-guide-tutorial-processors
----
-
-In this tutorial, we will add a new data processor using the Apache Flink wrapper.
-
-From an architectural point of view, we will create a self-contained service that includes the description of the data processor and a Flink-compatible implementation.
-Once a pipeline is started that uses this data processor, the implementation is submitted to an Apache Flink cluster.
-
-## Objective
-
-We are going to create a new data processor that realized a simple geofencing algorithm - we detect vehicles that enter a specified radius around a user-defined location.
-This pipeline element will be a generic element that works with any event stream that provides geospatial coordinates in form of a latitude/longitude pair.
-
-The algorithm outputs every location event once the position has entered the geofence.
-
-
-<div class="admonition note">
-<div class="admonition-title">Note</div>
-<p>The implementation in this tutorial is pretty simple - our processor will fire an event every time the GPS location is inside the geofence.
-       In a real-world application, you would probably want to define a pattern that recognizes the _first_ event a vehicle enters the geofence.<br/>
-       This can be easily done using a CEP library, e.g., Apache Flink CEP.</p>
-</div>
-
-
-## Project setup
-
-To create new projects from scratch, several Maven archetypes exist to start developing.
-Enter the following command to create a new project based on the StreamPipes ``Processors-Flink`` archetype:
-
-```
-mvn archetype:generate -DarchetypeGroupId=org.streampipes \
--DarchetypeArtifactId=streampipes-archetype-pe-processors-flink -DarchetypeVersion=0.64.0 \
--DgroupId=org.streampipes.tutorial -DartifactId=geofence-tutorial -DclassNamePrefix=Geofencing -DpackageName=geofencing
-```
-
-
-Once you've imported the generated project, the project structure should look as follows:
-
-<img src="/img/tutorial-processors/project-structure-processor.PNG" alt="Project Structure Data Processor"/>
-
-
-Due to a dependency conflict in the 0.64.0 release, add open your pom.xml and add the following lines to the ``dependencies`` section:
-```
-<dependency>
-    <groupId>javax.validation</groupId>
-    <artifactId>validation-api</artifactId>
-    <version>2.0.1.Final</version>
-</dependency>
-
-```
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Besides the basic project skeleton, the sample project also includes an example Dockerfile you can use to package your application into a Docker container.</p>
-</div>
-
-Now you're ready to create your first data processor for StreamPipes!
-
-## Adding data processor requirements
-
-First, we will add a new stream requirement.
-Open the class `GeofencingController` which should look as follows:
-
-```java
-package org.streampipes.tutorial.pe.processor.geofencing;
-
-import org.streampipes.tutorial.config.Config;
-
-import org.streampipes.model.DataProcessorType;
-import org.streampipes.model.graph.DataProcessorDescription;
-import org.streampipes.model.graph.DataProcessorInvocation;
-import org.streampipes.sdk.builder.ProcessingElementBuilder;
-import org.streampipes.sdk.builder.StreamRequirementsBuilder;
-import org.streampipes.sdk.extractor.ProcessingElementParameterExtractor;
-import org.streampipes.sdk.helpers.EpRequirements;
-import org.streampipes.sdk.helpers.Labels;
-import org.streampipes.sdk.helpers.OutputStrategies;
-import org.streampipes.sdk.helpers.SupportedFormats;
-import org.streampipes.sdk.helpers.SupportedProtocols;
-import org.streampipes.wrapper.flink.FlinkDataProcessorDeclarer;
-import org.streampipes.wrapper.flink.FlinkDataProcessorRuntime;
-
-public class GeofencingController extends
-				FlinkDataProcessorDeclarer<GeofencingParameters> {
-
-	private static final String EXAMPLE_KEY = "example-key";
-
-	@Override
-	public DataProcessorDescription declareModel() {
-		return ProcessingElementBuilder.create("org.streampipes.tutorial-geofencing")
-						.category(DataProcessorType.ENRICH)
-                        .withAssets(Assets.DOCUMENTATION, Assets.ICON)
-						.withLocales(Locales.EN)
-						.requiredStream(StreamRequirementsBuilder
-							.create()
-							.requiredProperty(EpRequirements.anyProperty())
-							.build())
-						.outputStrategy(OutputStrategies.keep())
-						.requiredTextParameter(Labels.from(EXAMPLE_KEY, "Example Text Parameter", "Example " +
-				"Text Parameter Description"))
-						.build();
-	}
-
-	@Override
-	public FlinkDataProcessorRuntime<GeofencingParameters> getRuntime(DataProcessorInvocation
-				graph, ProcessingElementParameterExtractor extractor) {
-
-		String exampleString = extractor.singleValueParameter(EXAMPLE_KEY, String.class);
-
-		GeofencingParameters params = new GeofencingParameters(graph, exampleString);
-
-		return new GeofencingProgram(params, Config.INSTANCE.getDebug());
-	}
-
-}
-
-```
-
-In this class, we need to implement two methods: The `declareModel` method is used to define abstract stream requirements such as event properties that must be present in any input stream that is later connected to the element using the StreamPipes UI.
-The second method, `getRuntime` is used to create and deploy the parameterized Flink program once a pipeline using this element is started.
-
-Similar to data sources, the SDK provides a builder class to generate the description for data processors.
-Delete the content within the ``declareModel`` method and add the following lines to the `declareModel` method:
-
-```java
-return ProcessingElementBuilder.create("org.streampipes.tutorial.geofencing", "Geofencing", "A simple geofencing data processor " +
-            "using the Apache Flink wrapper")
-```
-
-This creates a new data processor with the ID, title and description assigned to the element builder.
-Next, we add some _stream requirements_ to the description. As we'd like to develop a generic pipeline element that works with any event that provides a lat/lng pair, we define two stream requirements as stated below:
-
-```java
-.requiredStream(StreamRequirementsBuilder
-    .create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lat),
-            Labels.from("latitude-field", "Latitude", "The event " +
-            "property containing the latitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lng),
-            Labels.from("longitude-field", "Longitude", "The event " +
-                    "property containing the longitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-    .build())
-```
-
-The first line, `.requiredStream()` defines that we want a data processor with exactly one input stream. Adding more stream requirements would create elements with multiple input connectors in StreamPipes.
-Stream requirements can be assigned by using the `StreamRequirementsBuilder` class.
-In our example, we define two requirements, so-called _domain property requirements_. In contrast to _data type requirements_ where we'd expect an event property with a field of a specific data type (e.g., float), domain property requirements expect a specific domain property, e.g., from a vocabulary such as the WGS84 Geo vocab.
-
-Once a pipeline is deployed, we are interested in the actual field (and its field name) that contains the latitude and longitude values.
-In some cases, there might me more than one field that satisfies a property requirement and we would like users to select the property the geofencing component should operate on.
-Therefore, our example uses the method `requiredPropertyWithUnaryMapping`, which will map a requirement to a real event property of an input stream and  let the user choose the appropriate field in the StreamPipes UI when pipelines are defined.
-
-Finally, the `PropertyScope` indicates that the required property is a measurement value (in contrast to a dimension value). This allows us later to provide improved user guidance in the pipeline editor.
-
-Besides requirements, users should be able to define the center coordinate of the Geofence and the size of the fence defined as a radius around the center in meters.
-The radius can be defined by adding a simple required text field to the description:
-
-```java
-.requiredIntegerParameter("radius", "Geofence Size", "The size of the circular geofence in meters.", 0, 1000, 1)
-```
-
-Similar to mapping properties, text parameters have an internalId (radius), a label and a description.
-In addition, we can assign a _value specification_ to the parameter indicating the value range we support.
-Our example supports a radius value between 0 and 1000 with a granularity of 1.
-In the StreamPipes UI, a required text parameter is rendered as a text input field, in case we provide an optional value specification, a slider input is automatically generated.
-
-Such user-defined parameters are called _static properties_. There are many different types of static properties (see the [Processor SDK](dev-guide-sdk-guide-processors#docsNav) for an overview).
-
-One example are _DomainProperties_ we use for defining the center of the geofence.
-Our data processor requires a lat/lng pair that marks the center of the geofence.
-However, letting users directly input latitude and longitude coordinates wouldn't be very user-friendly.
-Therefore, we can link required text parameters to _ontology concepts_. By understanding the required input, the StreamPipes UI is able to determine which user interface works best for a specific concept.
-
-Add the following line to the `declareModel` method:
-
-```java
-.requiredOntologyConcept(Labels.from("location", "Geofence Center", "Provide the coordinate of the " +
-    "geofence center"), OntologyProperties.mandatory(Geo.lat), OntologyProperties.mandatory(Geo.lng))
-
-```
-
-We've now defined that we would like to receive an instance that provides a latitude and a longitude coordinate.
-Users can input these values either manually, or they can look up _domain knowledge_, i.e., knowledge stored isolated from the stream definition.
-
-Finally, we need to define technical requirements of the data processor, called _groundings_.
-StreamPipes supports various runtime data formats (e.g., JSON or Thrift) and various protocols (e.g., Kafka or JMS).
-Each component defines supports formats and protocol separately.
-For our example, we'd like to support JSON-based messages and Kafka as input and output broker protocol, so append the following:
-
-```java
-.supportedProtocols(SupportedProtocols.kafka())
-.supportedFormats(SupportedFormats.jsonFormat())
-.build();
-```
-
-Now we need to define the output of our Geofencing pipeline element.
-As explained in the first section, the element should fire every time some geo-located entity arrives within the defined geofence.
-Therefore, the processor outputs the same schema as it receives as an input.
-Although we don't know the exact input right now as it depends on the stream users connect in StreamPipes when creating pipelines, we can define an _output strategy_ as follows:
-
-```java
-.outputStrategy(OutputStrategies.keep())
-```
-
-This defines a _KeepOutputStrategy_, i.e., the input event schema is not modified by the processor.
-There are many more output strategies you can define depending on the functionality you desire, e.g., _AppendOutput_ for defining a processor that enriches events or _CustomOutput_ in case you would like users to select the output by themselves.
-
-That's it! We've now defined input requirements, required user input, technical requirements concerned with data format and protocol and an output strategy.
-In the next section, you will learn how to extract these parameters once the pipeline element is invoked after a pipeline was created.
-
-## Pipeline element invocation
-
-Once users start a pipeline that uses our geofencing component, the _getRuntime_ method in our class is called. The class `DataSinkInovcation` includes a graph that contains information on the configuration parameters a users has selected in the pipeline editor and information on the acutal streams that are connected to the pipeline element.
-
-Before we explain in more detail how to extract these values from the processor invocation, we need to adapt a little helper class.
-Open the file ```GeofencingParameters``` and modify it as follows:
-
-```java
-public class GeofencingParameters extends EventProcessorBindingParams {
-
-  private String latitudeFieldName;
-  private String longitudeFieldName;
-
-  private Float centerLatitude;
-  private Float centerLongitude;
-
-  private Integer radius;
-
-  public GeofencingParameters(DataProcessorInvocation graph, String latitudeFieldName, String longitudeFieldName,
-                              Float centerLatitude, Float centerLongitude, Integer radius) {
-    super(graph);
-    this.latitudeFieldName = latitudeFieldName;
-    this.longitudeFieldName = longitudeFieldName;
-    this.centerLatitude = centerLatitude;
-    this.centerLongitude = centerLongitude;
-    this.radius = radius;
-  }
-
-  public String getLatitudeFieldName() {
-    return latitudeFieldName;
-  }
-
-  public String getLongitudeFieldName() {
-    return longitudeFieldName;
-  }
-
-  public Float getCenterLatitude() {
-    return centerLatitude;
-  }
-
-  public Float getCenterLongitude() {
-    return centerLongitude;
-  }
-
-  public Integer getRadius() {
-    return radius;
-  }
-```
-
-This simple Pojo class will later serve to store user-defined parameters in a single object.
-
-Now we go back to the controller class and extract these values from the invocation object.
-
-The ``ProcessingElementParameterExtractor``  provides convenience methods to extract the relevant information from the `DataProcessorInvocation` object.
-
-Next, we are interested in the fields of the input event stream that contains the latitude and longitude value we would like to compute against the geofence center location as follows:
-
-```java
-String latitudeFieldName = extractor.mappingPropertyValue("latitude-field");
-String longitudeFieldName = extractor.mappingPropertyValue("longitude-field");
-```
-
-We use the same `internalId` we've used to define the mapping property requirements in the `declareModel` method.
-
-Next, for extracting the geofence center coordinates, we use the following statements:
-
-```java
-Float centerLatitude = extractor.supportedOntologyPropertyValue("location", Geo.lat, Float.class);
-Float centerLongitude = extractor.supportedOntologyPropertyValue("location", Geo.lng, Float.class);
-```
-
-The radius value can be extracted as follows:
-
-```java
-Integer radius = extractor.singleValueParameter("radius", Integer.class);
-```
-
-Now we can create a new instance of our previously created parameter class:
-
-```java
-GeofencingParameters params = new GeofencingParameters(dataProcessorInvocation, latitudeFieldName,
-            longitudeFieldName, centerLatitude, centerLongitude, radius);
-```
-
-Finally, return an instance of the class ```GeofencingProgram```:
-
-```java
-return new GeofencingProgram(params, true);
-```
-
-<div class="admonition tip">
-<div class="admonition-title">Info</div>
-<p>The line above uses the Flink MiniCluster to start the Flink program for debugging purposes.
-       Before you build the project and use it in a real environment, replace the line as follows, which triggers cluster execution:
-       <code>return new GeofencingProgram(params, new FlinkDeploymentConfig(Config.JAR_FILE, Config.INSTANCE.getFlinkHost(), Config.INSTANCE.getFlinkPort())</code></p>
-</div>
-
-
-Great! That's all we need to describe a data processor for usage in StreamPipes. Your controller class should look as follows:
-
-```java
-import org.streampipes.model.graph.DataProcessorDescription;
-import org.streampipes.model.graph.DataProcessorInvocation;
-import org.streampipes.model.schema.PropertyScope;
-import org.streampipes.sdk.builder.ProcessingElementBuilder;
-import org.streampipes.sdk.builder.StreamRequirementsBuilder;
-import org.streampipes.sdk.extractor.ProcessingElementParameterExtractor;
-import org.streampipes.sdk.helpers.EpRequirements;
-import org.streampipes.sdk.helpers.Labels;
-import org.streampipes.sdk.helpers.OntologyProperties;
-import org.streampipes.sdk.helpers.OutputStrategies;
-import org.streampipes.sdk.helpers.SupportedFormats;
-import org.streampipes.sdk.helpers.SupportedProtocols;
-import org.streampipes.vocabulary.Geo;
-import org.streampipes.wrapper.flink.FlinkDataProcessorDeclarer;
-import org.streampipes.wrapper.flink.FlinkDataProcessorRuntime;
-
-public class GeofencingController extends FlinkDataProcessorDeclarer<GeofencingParameters> {
-
-  @Override
-  protected FlinkDataProcessorRuntime<GeofencingParameters> getRuntime(DataProcessorInvocation dataProcessorInvocation) {
-    ProcessingElementParameterExtractor extractor = ProcessingElementParameterExtractor.from(dataProcessorInvocation);
-
-    String latitudeFieldName = extractor.mappingPropertyValue("latitude-field");
-    String longitudeFieldName = extractor.mappingPropertyValue("longitude-field");
-
-    Float centerLatitude = extractor.supportedOntologyPropertyValue("location", Geo.lat, Float.class);
-    Float centerLongitude = extractor.supportedOntologyPropertyValue("location", Geo.lng, Float.class);
-
-    Integer radius = extractor.singleValueParameter("radius", Integer.class);
-
-    GeofencingParameters params = new GeofencingParameters(dataProcessorInvocation, latitudeFieldName,
-            longitudeFieldName, centerLatitude, centerLongitude, radius);
-
-    return new GeofencingProgram(params);
-  }
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("geofencing-flink", "Geofencing", "A simple geofencing data processor " +
-            "using the Apache Flink wrapper")
-            .requiredStream(StreamRequirementsBuilder
-                    .create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lat),
-                            Labels.from("latitude-field", "Latitude", "The event " +
-                            "property containing the latitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-                    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lng),
-                            Labels.from("longitude-field", "Longitude", "The event " +
-                                    "property containing the longitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-                    .build())
-            .requiredIntegerParameter("radius", "Geofence Size", "The size of the circular geofence in meters.",
-                    0, 1000, 1)
-            .requiredOntologyConcept(Labels.from("location", "Geofence Center", "Provide the coordinate of the " +
-                    "geofence center"), OntologyProperties.mandatory(Geo.lat), OntologyProperties.mandatory(Geo.lng))
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-            .build();
-  }
-}
-
-```
-
-## Adding an implementation
-
-Everything we need to do now is to add an implementation which does not differ from writing an Apache Flink topology.
-
-Open the class `GeofencingProcessor.java` and add the following piece of code, which realizes the Geofencing functionality:
-
-```java
-public class GeofencingProcessor implements FlatMapFunction<Map<String, Object>, Map<String, Object>> {
-
-  private String latitudeFieldName;
-  private String longitudeFieldName;
-
-  private Float centerLatitude;
-  private Float centerLongitude;
-
-  private Integer radius;
-
-  public GeofencingProcessor(String latitudeFieldName, String longitudeFieldName, Float centerLatitude, Float centerLongitude, Integer radius) {
-    this.latitudeFieldName = latitudeFieldName;
-    this.longitudeFieldName = longitudeFieldName;
-    this.centerLatitude = centerLatitude;
-    this.centerLongitude = centerLongitude;
-    this.radius = radius;
-  }
-
-  @Override
-  public void flatMap(Event in, Collector<Event> out) throws Exception {
-    Float latitude = in.getFieldBySelector(latitudeFieldName).getAsPrimitive().getAsFloat();
-    Float longitude = in.getFieldBySelector(longitudeFieldName).getAsPrimitive().getAsFloat();
-
-    Float distance = distFrom(latitude, longitude, centerLatitude, centerLongitude);
-
-    if (distance <= radius) {
-      out.collect(in);
-    }
-  }
-
-  public static Float distFrom(float lat1, float lng1, float lat2, float lng2) {
-    double earthRadius = 6371000;
-    double dLat = Math.toRadians(lat2-lat1);
-    double dLng = Math.toRadians(lng2-lng1);
-    double a = Math.sin(dLat/2) * Math.sin(dLat/2) +
-            Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) *
-                    Math.sin(dLng/2) * Math.sin(dLng/2);
-    double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
-    return (float) (earthRadius * c);
-  }
-
-}
-```
-
-We won't go into details here as this isn't StreamPipes-related code, but in general the class extracts latitude and longitude fields from the input event (which is provided as a map data type) and calculates the distance between the geofence center and these coordinates.
-If the distance is below the given radius, the event is forwarded to the next operator.
-
-Finally, we need to connect this program to the Flink topology. StreamPipes automatically adds things like the Kafka consumer and producer, so that you only need to invoke the actual geofencing processor.
-Open the file `GeofencingProgram` and append the following line inside the `getApplicationLogic()` method:
-
-```java
-return dataStreams[0].flatMap(new GeofencingProcessor(params.getLatitudeFieldName(), params.getLongitudeFieldName(),
-    params.getCenterLatitude(), params.getCenterLongitude(), params.getRadius()));
-```
-
-## Preparing the container
-The final step is to define the deployment type of our new data source. In this tutorial, we will create a so-called `StandaloneModelSubmitter`.
-This client will start an embedded web server that provides the description of our data source and automatically submits the program to the registered Apache Flink cluster.
-
-Go to the class `Init` that extends `StandaloneModelSubmitter` and should look as follows:
-```java
-package org.streampipes.tutorial.main;
-
-import org.streampipes.container.init.DeclarersSingleton;
-import org.streampipes.container.standalone.init.StandaloneModelSubmitter;
-
-import org.streampipes.tutorial.config.Config;
-import org.streampipes.tutorial.pe.processor.geofencing.GeofencingController;
-
-public class Init extends StandaloneModelSubmitter {
-
-  public static void main(String[] args) throws Exception {
-    DeclarersSingleton.getInstance()
-            .add(new GeofencingController());
-
-    new Init().init(Config.INSTANCE);
-
-  }
-}
-```
-
-<div class="admonition info">
-<div class="admonition-title">Info</div>
-<p>In the example above, we make use of a class `Config`.
-       This class contains both mandatory and additional configuration parameters required by a pipeline element container.
-       These values are stored in the Consul-based key-value store of your StreamPipes installation.
-       The SDK guide contains a detailed manual on managing container configurations.
-</p>
-</div>
-
-## Starting the container
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>By default, the container registers itself using the hostname later used by the Docker container, leading to a 404 error when you try to access an RDF description.
-       For local development, we provide an environment file in the ``development`` folder. You can add your hostname here, which will override settings from the Config class.
-       For instance, use the IntelliJ ``EnvFile`` plugin to automatically provide the environment variables upon start.
-</p>
-</div>
-
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p> The default port of all pipeline element containers as defined in the `Config` file is port 8090.
-       If you'd like to run mutliple containers at the same time on your development machine, change the port in the environment file.
-</p>
-</div>
-
-Now we are ready to start our container!
-
-Execute the main method in the class `Main` we've just created, open a web browser and navigate to http://localhost:8090 (or the port you have assigned in the environment file).
-
-You should see something as follows:
-
-<img src="/img/tutorial-processors/pe-overview-flink.PNG" alt="Pipeline Element Container Overview (Flink)"/>
-
-Click on the link of the data source to see the RDF description of the pipeline element.
-
-<img src="/img/tutorial-processors/pe-rdf-geofencing.PNG" alt="Geofencing RDF description"/>
-
-The container automatically registers itself in the Consul installation of StreamPipes.
-To install the just created element, open the StreamPipes UI and follow the manual provided in the [user guide](user-guide-installation).
-
-## Read more
-
-Congratulations! You've just created your first data processor for StreamPipes.
-There are many more things to explore and data processors can be defined in much more detail using multiple wrappers.
-Follow our [SDK guide](dev-guide-sdk-guide-processors) to see what's possible!
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/dev-guide-tutorial-sinks.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/dev-guide-tutorial-sinks.md
deleted file mode 100644
index cbf87e9..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/dev-guide-tutorial-sinks.md
+++ /dev/null
@@ -1,256 +0,0 @@
----
-id: dev-guide-tutorial-sinks
-title: "Tutorial: Data Sinks"
-sidebar_label: "Tutorial: Data Sinks"
-original_id: dev-guide-tutorial-sinks
----
-
-In this tutorial, we will add a new data sink using the standalone wrapper.
-
-From an architectural point of view, we will create a self-contained service that includes the description of the data sink and a corresponding implementation.
-
-## Objective
-
-We are going to create a new data sink that calls an external HTTP endpoint to forward data to an external service.
-
-For each incoming event, an external service is invoked using an HTTP POST request. In this example, we'll call an endpoint provided by [RequestBin](https://requestbin.com/).
-To setup your own endpoint, go to [https://requestbin.com/](https://requestbin.com/) and click "Create a request bin". Copy the URL of the newly created endpoint.
-
-
-## Project setup
-
-We'll create a new project using the provided sinks-standalone-jvm Maven archetype.
-Enter the following command to create a new project based on the StreamPipes ``Sinks-JVM`` archetype:
-
-```
-mvn archetype:generate -DarchetypeGroupId=org.streampipes \
--DarchetypeArtifactId=streampipes-archetype-pe-sinks-jvm -DarchetypeVersion=0.64.0 \
--DgroupId=org.streampipes.tutorial -DartifactId=sink-tutorial -DclassNamePrefix=Rest -DpackageName=geofencing
-```
-
-Once you've imported the generated project, the project structure should look as follows:
-
-<img src="/img/tutorial-sinks/project-structure-sinks.png" alt="Project Structure Data Sink"/>
-
-Due to a dependency conflict in the 0.64.0 release, open your pom.xml and add the following lines to the ``dependencies`` section:
-```
-<dependency>
-    <groupId>javax.validation</groupId>
-    <artifactId>validation-api</artifactId>
-    <version>2.0.1.Final</version>
-</dependency>
-
-```
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Besides the basic project skeleton, the sample project also includes an example Dockerfile you can use to package your application into a Docker container.</p>
-</div>
-
-Now you're ready to create your first data sink for StreamPipes!
-
-## Adding data sink requirements
-
-First, we will add a new stream requirement.
-Open the class `RestController` which should look as follows:
-
-```java
-package org.streampipes.tutorial.pe.sink.rest;
-
-import org.streampipes.model.DataSinkType;
-import org.streampipes.model.graph.DataSinkDescription;
-import org.streampipes.model.graph.DataSinkInvocation;
-import org.streampipes.sdk.builder.DataSinkBuilder;
-import org.streampipes.sdk.builder.StreamRequirementsBuilder;
-import org.streampipes.sdk.extractor.DataSinkParameterExtractor;
-import org.streampipes.sdk.helpers.EpRequirements;
-import org.streampipes.sdk.helpers.Labels;
-import org.streampipes.sdk.helpers.SupportedFormats;
-import org.streampipes.sdk.helpers.SupportedProtocols;
-import org.streampipes.wrapper.standalone.ConfiguredEventSink;
-import org.streampipes.wrapper.standalone.declarer.StandaloneEventSinkDeclarer;
-import org.streampipes.sdk.helpers.*;
-import org.streampipes.sdk.utils.Assets;
-
-public class RestController extends StandaloneEventSinkDeclarer<RestParameters> {
-
-	private static final String EXAMPLE_KEY = "example-key";
-
-	@Override
-	public DataSinkDescription declareModel() {
-		return DataSinkBuilder.create("org.streampipes.tutorial.pe.sink.rest")
-						.category(DataSinkType.NOTIFICATION)
-						.withAssets(Assets.DOCUMENTATION, Assets.ICON)
-						.withLocales(Locales.EN)
-						.requiredStream(StreamRequirementsBuilder
-                                            .create()
-                                            .requiredPropertyWithNaryMapping(EpRequirements.anyProperty(), Labels.withId(
-                                                    "fields-to-send"), PropertyScope.NONE)
-                                            .build())
-						.build();
-	}
-
-	@Override
-	public ConfiguredEventSink<RestParameters> onInvocation(DataSinkInvocation graph, DataSinkParameterExtractor extractor) {
-
-		 List<String> fieldsToSend = extractor.mappingPropertyValues("fields-to-send");
-        
-         RestParameters params = new RestParameters(graph, fieldsToSend);
-
-		return new ConfiguredEventSink<>(params, Rest::new);
-	}
-
-}
-
-```
-
-In this class, we need to implement two methods: The `declareModel` method is used to define abstract stream requirements such as event properties that must be present in any input stream that is later connected to the element using the StreamPipes UI.
-The second method, `onInvocation` is used to create and deploy program once a pipeline using this sink is started.
-
-The ``declareModel`` method describes the properties of our data sink:
-* ``category`` defines a category for this sink.
-* ``withAssets`` denotes that we will provide an external documentation file and an icon, which can be found in the ``resources`` folder
-* ``withLocales`` defines that we will provide an external language file, also available in the ``resources`` folder
-* ``requiredStream`` defines requirements any input stream connected to this sink must provide. In this case, we do not have any specific requirements, we just forward all incoming events to the REST sink. However, we want to let the user display a list of available fields from the connected input event, where users can select a subset. This is defined by defining a Mapping from the empty requirement. This will later on render a selection dialog in the pipeline editor.
-
-The ``onInvocation`` method is called when a pipeline containing the sink is started. Once a pipeline is started, we would like to extract user-defined parameters.
-In this example, we simply extract the fields selected by users that should be forwarded to the REST sink. Finally, we return a new configured event sink containing the parameters.
-
-## Pipeline element invocation
-
-Once users start a pipeline that uses our geofencing component, the _getRuntime_ method in our class is called. The class `DataSinkInovcation` includes a graph that contains information on the configuration parameters a users has selected in the pipeline editor and information on the acutal streams that are connected to the pipeline element.
-
-Before we explain in more detail how to extract these values from the processor invocation, we need to adapt a little helper class.
-Open the file ```RestParameters``` and modify it as follows:
-
-```java
-public class RestParameters extends EventSinkBindingParams {
-
-  private List<String> fieldsToSend;
-
-  public RestParameters(DataSinkInvocation graph, List<String> fieldsToSend) {
-    super(graph);
-    this.fieldsToSend = fieldsToSend;
-  }
-
-  public List<String> getFieldsToSend() {
-    return fieldsToSend;
-  }
-}
-```
-
-This file will later provide information on the configured pipeline element.
-
-## Adding an implementation
-
-Now open the class ``Rest`` to add the proper implementation (i.e., the Rest call executed for every incoming event).
-
-Our final class should look as follows:
-
-```java
-private static Logger LOG = LoggerFactory.getLogger(Rest.class.getCanonicalName());
-
-  private static final String REST_ENDPOINT_URI = YOUR_REQUEST_BIN_URL;
-  private List<String> fieldsToSend;
-  private SpDataFormatDefinition dataFormatDefinition;
-
-  public Rest() {
-    this.dataFormatDefinition = new JsonDataFormatDefinition();
-  }
-
-  @Override
-  public void onInvocation(RestParameters parameters, EventSinkRuntimeContext runtimeContext) {
-    this.fieldsToSend = parameters.getFieldsToSend();
-  }
-
-  @Override
-  public void onEvent(Event event) {
-    Map<String, Object> outEventMap = event.getSubset(fieldsToSend).getRaw();
-    try {
-      String json = new String(dataFormatDefinition.fromMap(outEventMap));
-      Request.Post(REST_ENDPOINT_URI).body(new StringEntity(json, Charsets.UTF_8)).execute();
-    } catch (SpRuntimeException e) {
-      LOG.error("Could not parse incoming event");
-    } catch (IOException e) {
-      LOG.error("Could not reach endpoint at {}", REST_ENDPOINT_URI);
-    }
-  }
-
-  @Override
-  public void onDetach() {
-
-  }
-```
-The only class variable you need to change right now is the REST_ENDPOINT_URL. Change this url to the URL provided by your request bin.
-We'll ignore the other class variables and the constructor for now. Important are three methods, ``onInvocation``, ``onEvent`` and ``onDetach``.
-
-The ``onInvocation`` method is called once a pipeline containing our REST data sink is started. The ``onEvent`` method is called for each incoming event. Finally, ``onDetach`` is called when a pipeline is stopped.
-
-In the ``onInvocation`` method, we can extract the selected fields to be forwarded to the REST endpoint.
-In the ``ònEvent`` method, we use a helper method to get a subset of the incoming event.
-Finally, we convert the resulting ``Map`` to a JSON string and call the endpoint.
-
-
-## Preparing the container
-The final step is to define the deployment type of our new data source. In this tutorial, we will create a so-called `StandaloneModelSubmitter`.
-This client will start an embedded web server that provides the description of our data source and automatically starts the program in an embedded container.
-
-Go to the class `Init` that extends `StandaloneModelSubmitter` and should look as follows:
-```java
-
-public static void main(String[] args) throws Exception {
-    DeclarersSingleton.getInstance()
-            .add(new RestController());
-
-    DeclarersSingleton.getInstance().setPort(Config.INSTANCE.getPort());
-    DeclarersSingleton.getInstance().setHostName(Config.INSTANCE.getHost());
-
-    DeclarersSingleton.getInstance().registerDataFormats(new JsonDataFormatFactory(),
-            new CborDataFormatFactory(),
-            new SmileDataFormatFactory(),
-            new FstDataFormatFactory());
-
-    DeclarersSingleton.getInstance().registerProtocols(new SpKafkaProtocolFactory(),
-            new SpJmsProtocolFactory());
-
-    new Init().init(Config.INSTANCE);
-```
-
-<div class="admonition info">
-<div class="admonition-title">Info</div>
-<p>In the example above, we make use of a class `Config`.
-       This class contains both mandatory and additional configuration parameters required by a pipeline element container.
-       These values are stored in the Consul-based key-value store of your StreamPipes installation.
-       The SDK guide contains a detailed manual on managing container configurations.
-</p>
-</div>
-
-## Starting the container
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>By default, the container registers itself using the hostname later used by the Docker container, leading to a 404 error when you try to access an RDF description.
-       For local development, we provide an environment file in the ``development`` folder. You can add your hostname here, which will override settings from the Config class.
-       For instance, use the IntelliJ ``EnvFile`` plugin to automatically provide the environment variables upon start.
-</p>
-</div>
-
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p> The default port of all pipeline element containers as defined in the `Config` file is port 8090.
-       If you'd like to run mutliple containers at the same time on your development machine, change the port in the environment file.
-</p>
-</div>
-
-Now we are ready to start our container!
-
-Execute the main method in the class `Main` we've just created.
-
-The container automatically registers itself in the Consul installation of StreamPipes.
-To install the just created element, open the StreamPipes UI and follow the manual provided in the [user guide](user-guide-installation).
-
-## Read more
-
-Congratulations! You've just created your first data sink for StreamPipes.
-There are many more things to explore and data sinks can be defined in much more detail using multiple wrappers.
-Follow our [SDK guide](dev-guide-sdk-guide-sinks) to see what's possible!
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/dev-guide-tutorial-sources.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/dev-guide-tutorial-sources.md
deleted file mode 100644
index 50a80e8..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/dev-guide-tutorial-sources.md
+++ /dev/null
@@ -1,283 +0,0 @@
----
-id: dev-guide-tutorial-sources
-title: "Tutorial: Data Sources"
-sidebar_label: "Tutorial: Data Sources"
-original_id: dev-guide-tutorial-sources
----
-
-In this tutorial, we will add a new data source consisting of a single data stream. The source will be provided as a standalone component (i.e., the description will be accessible through an integrated web server).
-
-## Objective
-
-We are going to create a new data stream that is produced by a GPS sensor installed in a delivery vehicle.
-The sensor produces a continuous stream of events that contain the current timestamp, the current lat/lng position of the vehicle and the plate number of the vehicle.
-Events are published in a JSON format as follows:
-```json
-{
-  "timestamp" : 145838399,
-  "latitude" : 37.04,
-  "longitude" : 17.04,
-  "plateNumber" : "KA-AB 123"
-}
-```
-
-These events are published to a Kafka broker using the topic `org.streampipes.tutorial.vehicle`.
-
-In the following section, we show how to describe this stream in a form that allows you to import and use it in StreamPipes.
-
-## Project setup
-
-Instead of creating a new project from scratch, we recommend to use the Maven archetype to create a new project skeleton.
-Enter the following command in a command line of your choice (Apache Maven needs to be installed):
-
-```
-mvn archetype:generate \
--DarchetypeGroupId=org.streampipes -DarchetypeArtifactId=streampipes-archetype-pe-sources \
--DarchetypeVersion=0.64.0 -DgroupId=my.groupId \
--DartifactId=my-source -DclassNamePrefix=MySource -DpackageName=mypackagename
-```
-
-Configure the variables ``artifactId`` (which will be the Maven artifactId), ``classNamePrefix`` (which will be the class name of your data stream) and ``packageName``.
-
-For this tutorial, use ``Vehicle`` as ``classNamePrefix``.
-
-Your project will look as follows:
-
-<img src="/img/tutorial-sources/project-structure.PNG" alt="Project Structure"/>
-
-That's it, go to the next section to learn how to create your first data stream!
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Besides the basic project skeleton, the sample project also includes an example Dockerfile you can use to package your application into a Docker container.
-</p>
-</div>
-
-## Adding a data stream description
-
-Now we will add a new data stream definition.
-First, open the class `VehicleStream` which should look as follows:
-
-```java
-
-package my.groupId.pe.mypackagename;
-
-import org.streampipes.model.SpDataStream;
-import org.streampipes.model.graph.DataSourceDescription;
-import org.streampipes.sdk.builder.DataStreamBuilder;
-import org.streampipes.sdk.helpers.EpProperties;
-import org.streampipes.sdk.helpers.Formats;
-import org.streampipes.sdk.helpers.Protocols;
-import org.streampipes.sources.AbstractAdapterIncludedStream;
-
-
-public class MySourceStream extends AbstractAdapterIncludedStream {
-
-  @Override
-  public SpDataStream declareModel(DataSourceDescription sep) {
-    return DataStreamBuilder.create("my.groupId-mypackagename", "MySource", "")
-            .property(EpProperties.timestampProperty("timestamp"))
-
-            // configure your stream here
-
-            .format(Formats.jsonFormat())
-            .protocol(Protocols.kafka("localhost", 9092, "TOPIC_SHOULD_BE_CHANGED"))
-            .build();
-  }
-
-  @Override
-  public void executeStream() {
-
-  }
-}
-```
-
-This class extends the class ``AbstractAdapterIncludedStream``, which indicates that this source continuously produces data (configured in the ``executeStream()`` method.
-In contrast, the class `AbstractAlreadyExistingStream` indicates that we only want to describe an already existing stream (e.g., a stream that already sends data to an existing Kafka broker).
-
-Now we will add the definition of the data stream. Add the following code inside of the `declareModel` method:
-```java
-return DataStreamBuilder.create("org.streampipes.tutorial.vehicle.position", "Vehicle Position", "An event stream " +
-          "that produces current vehicle positions")
-```
-
-This line creates a new instance of the SDK's `DataStreamBuilder` by providing three basic parameters:
-The first parameter must be a unique identifier of your data stream.
-The second and third parameters indicate a label and a description of your stream.
-These values will later be used in the StreamPipes UI to display stream details in a human-readable manner.
-
-Next, we will add the properties as stated above to the stream definition by adding the following lines:
-```java
-.property(EpProperties.timestampProperty("timestamp"))
-.property(EpProperties.stringEp(Labels.from("plate-number", "Plate Number", "Denotes the plate number of the vehicle"), "plateNumber", "http://my.company/plateNumber"))
-.property(EpProperties.doubleEp(Labels.from("latitude", "Latitude", "Denotes the latitude value of the vehicle's position"), "latitude", Geo.lat))
-.property(EpProperties.doubleEp(Labels.from("longitude", "Longitude", "Denotes the longitude value of the vehicle's position"), "longitude", Geo.lng))
-```
-These four _event properties_ compose our _event schema_. An event property must, at least, provide the following attributes:
-
-* **Runtime Name**. The runtime name indicates the key of the property at runtime, e.g., if our JSON message contains a structure such as `{"plateNumber" : "KA-F 123"}`, the runtime name must be `plateNumber`.
-* **Runtime Type**. An event property must have a primitive type (we will later see how to model more complex properties such as lists and nested properties).
-The type must be an instance of `XMLSchema` primitives, however, the SDK provides convenience methods to provide the property type.
-* **Domain Property**. The domain property indicates the semantics of the event property. For instance, the `latitude` property is linked to the `http://www.w3.org/2003/01/geo/wgs84_pos#lat` property of the WGS84 vocabulary.
-The domain property should be an URI as part of an existing or domain-specific vocabulary. The SDK provides convenience methods for popuplar vocabularies (e.g., Schema.org, Dolce or WGS84).
-
-In order to complete the minimum required specification of an event stream, we need to provide information on the transport format and protocol of the data stream at runtime.
-
-This can be achieved by extending the builder with the respective properties (which should already have been auto-generated):
-```java
-.format(Formats.jsonFormat())
-.protocol(Protocols.kafka("localhost", 9092, "TOPIC_SHOULD_BE_CHANGED"))
-.build();
-```
-
-Set ``org.streampipes.tutorial.vehicle`` as your new topic by replacing the term ``TOPIC_SHOULD_BE_CHANGED`.
-
-In this example, we defined that the data stream consists of events in a JSON format and that Kafka is used as a message broker to transmit events.
-The last build() method call triggers the construction of the RDF-based data stream definition.
-
-That's it! In the next section, we will connect the data stream to a source and inspect the generated RDF description.
-
-## Creating some dummy data
-
-Let's assume our stream should produce some random values that are sent to StreamPipes. We'll add a very simple data simulator to the ``executeStream`` method as follows:
-
-```java
-@Override
-  public void executeStream() {
-
-    SpKafkaProducer producer = new SpKafkaProducer("localhost:9092", "TOPIC_SHOULD_BE_CHANGED");
-    Random random = new Random();
-    Runnable runnable = new Runnable() {
-      @Override
-      public void run() {
-        for (;;) {
-          JsonObject jsonObject = new JsonObject();
-          jsonObject.addProperty("timestamp", System.currentTimeMillis());
-          jsonObject.addProperty("plateNumber", "KA-FZ 1");
-          jsonObject.addProperty("latitude", random.nextDouble());
-          jsonObject.addProperty("longitude", random.nextDouble());
-
-          producer.publish(jsonObject.toString());
-
-          try {
-            Thread.sleep(1000);
-          } catch (InterruptedException e) {
-            e.printStackTrace();
-          }
-
-        }
-      }
-    };
-
-    new Thread(runnable).start();
-  }
-```
-
-Change the topic and the URL of your Kafka broker (as stated in the controller).
-
-## Adding a source description
-
-A data source can be seen like a container for a set of data streams. Usually, a data source includes events that are logically or physically connected.
-For instance, in our example we would add other streams produced by vehicle sensors (such as fuel consumption) to the same data source description.
-
-Open the class `DataSource` which should look as follows:
-```java
-
-package my.groupId.pe.mypackagename;
-
-import org.streampipes.container.declarer.DataStreamDeclarer;
-import org.streampipes.container.declarer.SemanticEventProducerDeclarer;
-import org.streampipes.model.graph.DataSourceDescription;
-import org.streampipes.sdk.builder.DataSourceBuilder;
-
-import java.util.Arrays;
-import java.util.List;
-
-
-public class DataSource implements SemanticEventProducerDeclarer {
-
-  public DataSourceDescription declareModel() {
-    return DataSourceBuilder.create("my.groupId.mypackagename.source", "MySource " +
-        "Source", "")
-            .build();
-  }
-
-  public List<DataStreamDeclarer> getEventStreams() {
-    return Arrays.asList(new MySourceStream());
-  }
-}
-```
-First, we need to define the source. Similar to data streams, a source consists of an id, a human-readable name and a description.
-Replace the content defined in the `declareModel` method with the following code:
-```java
-return DataSourceBuilder.create("org.streampipes.tutorial.source.vehicle", "Vehicle Source", "A data source that " +
-    "holds event streams produced by vehicles.")
-    .build();
-```
-
-## Preparing the container
-
-The final step is to define the deployment type of our new data source. In this tutorial, we will create a so-called `StandaloneModelSubmitter`.
-This client will start an embedded web server that provides the description of our data source.
-
-Go to the class `Init` that implements `StandaloneModelSubmitter`, which should look as follows:
-```java
-package my.groupId.main;
-
-import org.streampipes.container.init.DeclarersSingleton;
-import org.streampipes.container.standalone.init.StandaloneModelSubmitter;
-import my.groupId.config.Config;
-import my.groupId.pe.mypackagename.DataSource;
-
-public class Init extends StandaloneModelSubmitter {
-
-  public static void main(String[] args) throws Exception {
-    DeclarersSingleton.getInstance()
-            .add(new DataSource());
-
-    new Init().init(Config.INSTANCE);
-
-  }
-}
-```
-This code adds the `VehicleSource`. Finally, the `init` method is called
-which triggers the generation of the corresponding RDF description and startup of the web server.
-
-<div class="admonition info">
-<div class="admonition-title">Info</div>
-<p>In the example above, we make use of a class `Config`.
-       This class contains both mandatory and additional configuration parameters required by a pipeline element container.
-       These values are stored in the Consul-based key-value store of your StreamPipes installation.
-       The SDK guide contains a detailed manual on managing container configurations.</p>
-</div>
-
-## Starting the container
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>By default, the container registers itself using the hostname later used by the Docker container, leading to a 404 error when you try to access an RDF description.
-       For local development, we provide an environment file in the ``development`` folder. You can add your hostname here, which will override settings from the Config class.
-       For instance, use the IntelliJ ``EnvFile`` plugin to automatically provide the environment variables upon start.
-</p>
-</div>
-
-Now we are ready to start our first container!
-
-Execute the main method in the class `Main` we've just created, open a web browser and navigate to http://localhost:8090, or change the port according to the value of the ``SP_PORT`` variable in the env file.
-
-You should see something as follows:
-
-<img src="/img/tutorial-sources/pe-overview.PNG" alt="Pipeline Element Container Overview"/>
-
-Click on the link of the data source to see the RDF description of the pipeline element.
-
-<img src="/img/tutorial-sources/pe-rdf.PNG" alt="Pipeline Element RDF description"/>
-
-The container automatically registers itself in the Consul installation of StreamPipes.
-To install the just created element, open the StreamPipes UI and follow the manual provided in the [user guide](user-guide-introduction).
-
-## Read more
-
-Congratulations! You've just created your first pipeline element for StreamPipes.
-There are many more things to explore and data sources can be defined in much more detail.
-Follow our [SDK guide](dev-guide-source-sdk) to see what's possible!
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processor.geo.flink/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processor.geo.flink/documentation.md
deleted file mode 100644
index fa262bd..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processor.geo.flink/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processor.geo.flink
-title: Spatial Grid Enrichment
-sidebar_label: Spatial Grid Enrichment
-original_id: org.streampipes.processor.geo.flink
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processor.geo.flink/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Groups spatial events into cells of a given size
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md
deleted file mode 100644
index fbb4d2e..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processor.imageclassification.jvm.generic-image-classification
-title: Generic Image Classification
-sidebar_label: Generic Image Classification
-original_id: org.streampipes.processor.imageclassification.jvm.generic-image-classification
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processor.imageclassification.jvm.generic-image-classification/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Image  + Classification Description (Generic Model)
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md
deleted file mode 100644
index 876df89..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processor.imageclassification.jvm.image-enricher
-title: Image Enricher
-sidebar_label: Image Enricher
-original_id: org.streampipes.processor.imageclassification.jvm.image-enricher
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processor.imageclassification.jvm.image-enricher/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Image Enrichment: Enriches an  + image with  + given bounding box coordinates
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processor.imageclassification.qrcode/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processor.imageclassification.qrcode/documentation.md
deleted file mode 100644
index 5f21cf4..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processor.imageclassification.qrcode/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processor.imageclassification.qrcode
-title: QR Code Reader
-sidebar_label: QR Code Reader
-original_id: org.streampipes.processor.imageclassification.qrcode
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processor.imageclassification.qrcode/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-QR Code Reader: Detects a QR Code in an image
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/documentation.md
deleted file mode 100644
index 3b08d40..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.aggregation.flink.aggregation/documentation.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.aggregation.flink.aggregation
-title: Aggregation
-sidebar_label: Aggregation
-original_id: org.streampipes.processors.aggregation.flink.aggregation
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.aggregation.flink.aggregation/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs different aggregation functions based on a sliding time window (e.g., average, sum, min, max)
-
-***
-
-## Required input
-
-The aggregation processor requires a data stream that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Group by
-The aaggregation function can be calculated separately (partitioned) by the selected field value. 
-
-### Output every
-The frequency in which aggregated values are sent in seconds.
-
-### Time window
-The size of the time window in seconds
-
-### Aggregated Value
-The field used for calculating the aggregation value.
-
-## Output
-
-This processor appends the latest aggregated value to every input event that arrives.
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.aggregation.flink.rate/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.aggregation.flink.rate/documentation.md
deleted file mode 100644
index 4de9b0c..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.aggregation.flink.rate/documentation.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.aggregation.flink.rate
-title: Event Rate
-sidebar_label: Event Rate
-original_id: org.streampipes.processors.aggregation.flink.rate
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.aggregation.flink.rate/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Computes the current event rate. Output is a number representing events per second.
-
-***
-
-## Required input
-
-The event rate processor works with any stream and does not have any specific requirements.
-
-***
-
-## Configuration
-
-### Time Baseline
-Time window size used for calculating the rate in seconds, also defines the output rate
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md
deleted file mode 100644
index 5d3d4dd..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.mathop
-title: Math
-sidebar_label: Math
-original_id: org.streampipes.processors.enricher.flink.processor.math.mathop
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.enricher.flink.processor.math.mathop/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs calculations on event properties (+, -, *, /, %).
-
-***
-
-## Required input
-The math processor works with any event that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Left operand
-The field from the input event that should be used as the left operand.
-
-### Right operand
-The field from the input event that should be used as the right operand.
-
-### Operation
-The math operation that should be performed.
-
-## Output
-The processor appends the calculation result to each input event.
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md
deleted file mode 100644
index 418dfd5..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.enricher.flink.processor.math.staticmathop
-title: Static Math
-sidebar_label: Static Math
-original_id: org.streampipes.processors.enricher.flink.processor.math.staticmathop
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.enricher.flink.processor.math.staticmathop/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs calculation on an event property with a static value (+, -, *, /, %).
-
-***
-
-## Required input
-The math processor works with any event that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Left operand
-The field from the input event that should be used as the left operand.
-
-### Right operand value
-Specify the value of the right operand.
-
-### Operation
-The math operation that should be performed.
-
-## Output
-The processor appends the calculation result to each input event.
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md
deleted file mode 100644
index 88e9a0b..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.enricher.flink.processor.trigonometry
-title: Trigonometry Functions
-sidebar_label: Trigonometry Functions
-original_id: org.streampipes.processors.enricher.flink.processor.trigonometry
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.enricher.flink.processor.trigonometry/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs Trigonometric functions (sin, cos, tan) on event properties.
-
-***
-
-## Required input
-The trigonometry processor works with any event that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Alpha
-The field that should be used for calculating the trigonometric function.
-
-
-### Operation
-The trigonometric function that should be calculated.
-
-## Output
-The processor appends the calculation result to each input event.
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md
deleted file mode 100644
index c9d1f14..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md
+++ /dev/null
@@ -1,34 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.enricher.flink.processor.urldereferencing
-title: URL Dereferencing
-sidebar_label: URL Dereferencing
-original_id: org.streampipes.processors.enricher.flink.processor.urldereferencing
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.enricher.flink.processor.urldereferencing/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Parses and appends the html page as a string to event.
-
-***
-
-## Required input
-The URL Dereferencing processor requires an input stream that provides an input field of type 'string', representing 
-the URL to dereference.
-
-***
-
-## Configuration
-
-### URL
-The field containing the URL to dereference.
-
-## Output
-The processor appends the extracted HTML page to each input event.
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.timestamp/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.timestamp/documentation.md
deleted file mode 100644
index b60eb4c..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.enricher.flink.timestamp/documentation.md
+++ /dev/null
@@ -1,31 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.enricher.flink.timestamp
-title: Timestamp Enricher
-sidebar_label: Timestamp Enricher
-original_id: org.streampipes.processors.enricher.flink.timestamp
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.enricher.flink.timestamp/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Appends the current time in ms to the event payload.
-
-***
-
-## Required input
-The timestamp enricher works with any input event.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-This processor appends the current system time to every input event.
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.filters.jvm.compose/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.filters.jvm.compose/documentation.md
deleted file mode 100644
index 4176bb3..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.filters.jvm.compose/documentation.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.filters.jvm.compose
-title: Compose
-sidebar_label: Compose
-original_id: org.streampipes.processors.filters.jvm.compose
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.filters.jvm.compose/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Merges two event streams. Any time, a new input event arrives, it is merged with the last input event from the other 
-event stream and forwarded.
-
-***
-
-## Required input
-The Compose processor does not have any specific input requirements.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-The compose processor has a configurable output that can be selected by the user at pipeline modeling time.
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/documentation.md
deleted file mode 100644
index 33d64f0..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.filters.jvm.numericalfilter/documentation.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.filters.jvm.numericalfilter
-title: Numerical Filter
-sidebar_label: Numerical Filter
-original_id: org.streampipes.processors.filters.jvm.numericalfilter
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.filters.jvm.numericalfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-The Numerical Filter processor filters numerical values based on a given threshold.
-
-***
-
-## Required input
-The processor works with any input event that has one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Field
-Specifies the field name where the filter operation should be applied on.
-
-
-### Operation
-Specifies the filter operation that should be applied on the field.
-
-### Threshold value
-Specifies the threshold value.
-
-## Output
-The processor outputs the input event if it satisfies the filter expression.
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.filters.jvm.project/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.filters.jvm.project/documentation.md
deleted file mode 100644
index 9267db7..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.filters.jvm.project/documentation.md
+++ /dev/null
@@ -1,31 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.filters.jvm.project
-title: Projection
-sidebar_label: Projection
-original_id: org.streampipes.processors.filters.jvm.project
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.filters.jvm.project/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Outputs a selectable subset of an input event type.
-
-***
-
-## Required input
-The project processor works with any input event stream.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-The output depends on the fields selected at pipeline development time.
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.filters.jvm.textfilter/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.filters.jvm.textfilter/documentation.md
deleted file mode 100644
index 266d710..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.filters.jvm.textfilter/documentation.md
+++ /dev/null
@@ -1,36 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.filters.jvm.textfilter
-title: Text Filter
-sidebar_label: Text Filter
-original_id: org.streampipes.processors.filters.jvm.textfilter
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.filters.jvm.textfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-The Text Filter processor filters text values based on a given string.
-
-***
-
-## Required input
-The processor works with any input event that has one field containing a text.
-
-***
-
-## Configuration
-
-### Text Field
-The field containing the text that should be filtered.
-
-
-### Operation
-The operation used by the filter processor (equals or matches)
-
-## Output
-The processor outputs the input event if it satisfies the filter expression.
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md
deleted file mode 100644
index 5fed34f..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.pattern-detection.flink.peak-detection
-title: Peak Detection
-sidebar_label: Peak Detection
-original_id: org.streampipes.processors.pattern-detection.flink.peak-detection
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.pattern-detection.flink.peak-detection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detect peaks in time series data
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.frequency/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.frequency/documentation.md
deleted file mode 100644
index 848d786..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.frequency/documentation.md
+++ /dev/null
@@ -1,34 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.siddhi.frequency
-title: Frequency Calculation
-sidebar_label: Frequency Calculation
-original_id: org.streampipes.processors.siddhi.frequency
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.siddhi.frequency/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Calculates the frequency of the event stream.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.frequencychange/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.frequencychange/documentation.md
deleted file mode 100644
index fd9925c..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.frequencychange/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.siddhi.frequencychange
-title: Frequency Change
-sidebar_label: Frequency Change
-original_id: org.streampipes.processors.siddhi.frequencychange
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.siddhi.frequencychange/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects when the frequency of the event stream changes
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.increase/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.increase/documentation.md
deleted file mode 100644
index 99bf3d4..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.increase/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.siddhi.increase
-title: Trend
-sidebar_label: Trend
-original_id: org.streampipes.processors.siddhi.increase
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.siddhi.increase/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects the increase of a numerical field over a customizable time window. Example: A temperature value increases by 10 percent within 5 minutes.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.numericalfilter/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.numericalfilter/documentation.md
deleted file mode 100644
index 0097df4..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.numericalfilter/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.siddhi.numericalfilter
-title: Numerical Filter (Siddhi)
-sidebar_label: Numerical Filter (Siddhi)
-original_id: org.streampipes.processors.siddhi.numericalfilter
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.siddhi.numericalfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.sequence/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.sequence/documentation.md
deleted file mode 100644
index 9a5f8cd..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.sequence/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.siddhi.sequence
-title: Sequence Detection
-sidebar_label: Sequence Detection
-original_id: org.streampipes.processors.siddhi.sequence
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.siddhi.sequence/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Merges events from two event streams, when the top event arrives first and then the bottom event
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.stop/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.stop/documentation.md
deleted file mode 100644
index e76242f..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.siddhi.stop/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.siddhi.stop
-title: Stream Stop Detection
-sidebar_label: Stream Stop Detection
-original_id: org.streampipes.processors.siddhi.stop
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.siddhi.stop/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Triggers an event when the input data stream stops sending events
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/documentation.md
deleted file mode 100644
index cd84a7b..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.textmining.flink.languagedetection/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.textmining.flink.languagedetection
-title: Language Detection
-sidebar_label: Language Detection
-original_id: org.streampipes.processors.textmining.flink.languagedetection
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.textmining.flink.languagedetection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects the language of a written text.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.textmining.flink.wordcount/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.textmining.flink.wordcount/documentation.md
deleted file mode 100644
index 6cefaba..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.textmining.flink.wordcount/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.textmining.flink.wordcount
-title: Word Count
-sidebar_label: Word Count
-original_id: org.streampipes.processors.textmining.flink.wordcount
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.textmining.flink.wordcount/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Counts words on continuous text-based streams
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-converter/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-converter/documentation.md
deleted file mode 100644
index fb10362..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-converter/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.flink.field-converter
-title: Field Converter
-sidebar_label: Field Converter
-original_id: org.streampipes.processors.transformation.flink.field-converter
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.flink.field-converter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Converts a string value to a number data type
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/documentation.md
deleted file mode 100644
index 3a433ee..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-mapper/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.flink.field-mapper
-title: Field Mapper
-sidebar_label: Field Mapper
-original_id: org.streampipes.processors.transformation.flink.field-mapper
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.flink.field-mapper/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Replaces one or more field with a new field and computes a hash value of these fields
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/documentation.md
deleted file mode 100644
index b9ff741..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.field-renamer/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.flink.field-renamer
-title: Field Renamer
-sidebar_label: Field Renamer
-original_id: org.streampipes.processors.transformation.flink.field-renamer
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.flink.field-renamer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Replaces the runtime name of an event property with a custom defined name. Useful for data ingestion purposes where a specific event schema is needed.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/documentation.md
deleted file mode 100644
index cf60c30..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.fieldhasher/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.flink.fieldhasher
-title: Field Hasher
-sidebar_label: Field Hasher
-original_id: org.streampipes.processors.transformation.flink.fieldhasher
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.flink.fieldhasher/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-The Field Hasher uses an algorithm to encode values in a field. The Field Hasher can use MD5, SHA1 or SHA2 to hash field values.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md
deleted file mode 100644
index d64a469..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.flink.measurement-unit-converter
-title: Measurement Unit Converter
-sidebar_label: Measurement Unit Converter
-original_id: org.streampipes.processors.transformation.flink.measurement-unit-converter
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.flink.measurement-unit-converter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Converts a unit of measurement to another one
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md
deleted file mode 100644
index d202b43..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.flink.processor.boilerplate
-title: Boilerplate Removal
-sidebar_label: Boilerplate Removal
-original_id: org.streampipes.processors.transformation.flink.processor.boilerplate
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.flink.processor.boilerplate/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Removes boilerplate and extract fulltext from HTML
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/documentation.md
deleted file mode 100644
index ee71b3d..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.changed-value/documentation.md
+++ /dev/null
@@ -1,36 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.jvm.changed-value
-title: Value Changed
-sidebar_label: Value Changed
-original_id: org.streampipes.processors.transformation.jvm.changed-value
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.jvm.changed-value/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor sends out an event everytime a specific object changes. It also adds a timestamp in ms from the system time.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.count-array/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.count-array/documentation.md
deleted file mode 100644
index cb1232f..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.count-array/documentation.md
+++ /dev/null
@@ -1,38 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.jvm.count-array
-title: Count Array
-sidebar_label: Count Array
-original_id: org.streampipes.processors.transformation.jvm.count-array
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.jvm.count-array/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor takes a list field, computes the size of the list and appends the result to the event.
-
-***
-
-## Required input
-
-This processor works with any event that has a field of type ``list``.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### List Field
-
-The field containing the list that should be used.
-
-## Output
-
-Outputs the incoming event while appending the list size (named ``countValue``) to the incoming event.
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/documentation.md
deleted file mode 100644
index a3f5cfa..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.duration-value/documentation.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.jvm.duration-value
-title: Calculate Duration
-sidebar_label: Calculate Duration
-original_id: org.streampipes.processors.transformation.jvm.duration-value
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.jvm.duration-value/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor calculates the duration for a given stream with a start timestamp and an end timestamp.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md
deleted file mode 100644
index 90eb856..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md
+++ /dev/null
@@ -1,41 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.jvm.processor.timestampextractor
-title: Timestamp Extractor
-sidebar_label: Timestamp Extractor
-original_id: org.streampipes.processors.transformation.jvm.processor.timestampextractor
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.jvm.processor.timestampextractor/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor extracts a timestamp into the individual time fields (e.g. day field, hour field, ....)
-
-***
-
-## Required input
-
-This processor requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-### Timestamp Field
-
-The field of the event containing the timestamp to parse.
-
-### Extract Fields
-
-Select the individual parts of the timestamp that should be extracted, e.g., Year, Minute and Day.
-
-## Output
-
-The output of this processor is a new event that contains the fields selected by the ``Extract Fields`` parameter.
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.split-array/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.split-array/documentation.md
deleted file mode 100644
index cd1eb09..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.processors.transformation.jvm.split-array/documentation.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-id: version-0.62.0-org.streampipes.processors.transformation.jvm.split-array
-title: Split Array
-sidebar_label: Split Array
-original_id: org.streampipes.processors.transformation.jvm.split-array
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.processors.transformation.jvm.split-array/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor takes an array of event properties and creates an event for each of them. Further property of the events can be added to each element
-Add a detailed description here
-
-***
-
-## Required input
-
-This processor works with any event that has a field of type ``list``.
-
-***
-
-## Configuration
-
-### Keep Fields
-
-Fields of the event that should be kept in each resulting event.
-
-### List field
-
-The name of the field that contains the list values that should be split.
-
-
-## Output
-
-This data processor produces an event with all fields selected by the ``Keep Fields`` parameter and all fields of the
- selected list field.
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.jms/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.jms/documentation.md
deleted file mode 100644
index 0649fed..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.jms/documentation.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.brokers.jvm.jms
-title: JMS Publisher
-sidebar_label: JMS Publisher
-original_id: org.streampipes.sinks.brokers.jvm.jms
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.brokers.jvm.jms/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes events to a message broker (e.g., ActiveMQ) using the Java Message Service (JMS) protocol.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### JMS Broker Settings
-
-The basic settings to connect to the broker. 
-The JMS broker URL indicates the URL of the broker (e.g., tcp://localhost), the port indicates the port of the broker
- (e.g., 61616)
-
-
-### JMS Topic
-
-The topic where events should be sent to.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/documentation.md
deleted file mode 100644
index 49702e6..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.kafka/documentation.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.brokers.jvm.kafka
-title: Kafka Publisher
-sidebar_label: Kafka Publisher
-original_id: org.streampipes.sinks.brokers.jvm.kafka
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.brokers.jvm.kafka/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes events to Apache Kafka.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Kafka Broker Settings
-
-The basic settings to connect to the broker. 
-The Kafka broker URL indicates the URL of the broker (e.g., localhost), the port indicates the port of the broker
- (e.g., 9092)
-
-
-### Kafka Topic
-
-The topic where events should be sent to.
-
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md
deleted file mode 100644
index 3617a44..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.brokers.jvm.rabbitmq
-title: RabbitMQ Publisher
-sidebar_label: RabbitMQ Publisher
-original_id: org.streampipes.sinks.brokers.jvm.rabbitmq
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.brokers.jvm.rabbitmq/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Forwards events to a RabbitMQ broker
-Add a detailed description here
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Host
-
-The hostname of the RabbitMQ broker.
-
-### Port
-
-The port of the RabbitMQ broker.
-
-### User
-
-The username used to connect to the RabbitMQ broker.
-
-### Password
-
-The password used to connect to the RabbitMQ broker.
-
-### Exchange Name
-
-The name of the exchange.
-
-### RabbitMQ Topic
-
-The topic where events should be sent to.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.rest/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.rest/documentation.md
deleted file mode 100644
index e890c09..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.brokers.jvm.rest/documentation.md
+++ /dev/null
@@ -1,36 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.brokers.jvm.rest
-title: REST Publisher
-sidebar_label: REST Publisher
-original_id: org.streampipes.sinks.brokers.jvm.rest
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.brokers.jvm.rest/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Posts a JSON representation of an event to a REST interface.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### REST URL
-
-The complete URL of the REST endpoint.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/documentation.md
deleted file mode 100644
index 5e7c9c2..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.databases.flink.elasticsearch/documentation.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.databases.flink.elasticsearch
-title: Elasticsearch
-sidebar_label: Elasticsearch
-original_id: org.streampipes.sinks.databases.flink.elasticsearch
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.databases.flink.elasticsearch/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores data in an Elasticsearch database.
-
-***
-
-## Required input
-
-This sink requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Timestamp Field
-
-The field which contains the required timestamp.
-
-### Index Name
-
-The name of the Elasticsearch index where events are stored to.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/documentation.md
deleted file mode 100644
index 9140c60..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.couchdb/documentation.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.databases.jvm.couchdb
-title: CouchDB
-sidebar_label: CouchDB
-original_id: org.streampipes.sinks.databases.jvm.couchdb
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.databases.jvm.couchdb/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in an Apache CouchDB database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Hostname
-
-The hostname of the CouchDB instance.
-
-### Port
-
-The port of the CouchDB instance.
-
-### Database Name
-
-The name of the database where events will be stored
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/documentation.md
deleted file mode 100644
index 0877773..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.influxdb/documentation.md
+++ /dev/null
@@ -1,68 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.databases.jvm.influxdb
-title: InfluxDB
-sidebar_label: InfluxDB
-original_id: org.streampipes.sinks.databases.jvm.influxdb
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.databases.jvm.influxdb/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in an InfluxDB.
-
-***
-
-## Required input
-
-This sink requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname/URL of the InfluxDB instance. (Include http(s)://).
-
-### Port
-
-The port of the InfluxDB instance.
-
-### Database Name
-
-The name of the database where events will be stored.
-
-### Measurement Name
-
-The name of the Measurement where events will be stored (will be created if it does not exist).
-
-### Username
-
-The username for the InfluxDB Server.
-
-### Password
-
-The password for the InfluxDB Server.
-
-### Timestamp Field
-
-The field which contains the required timestamp.
-
-### Buffer Size
-
-Indicates how many events are written into a buffer, before they are written to the database.
-
-### Maximum Flush
-
-The maximum waiting time for the buffer to fill the Buffer size before it will be written to the database in ms.
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/documentation.md
deleted file mode 100644
index 077ddbd..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.databases.jvm.postgresql/documentation.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.databases.jvm.postgresql
-title: PostgreSQL
-sidebar_label: PostgreSQL
-original_id: org.streampipes.sinks.databases.jvm.postgresql
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.databases.jvm.postgresql/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in a Postgres database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname of the PostgreSQL instance.
-
-### Port
-
-The port of the PostgreSQL instance (default 5432).
-
-### Database Name
-
-The name of the database where events will be stored
-
-### Table Name
-
-The name of the table where events will be stored (will be created if it does not exist)
-
-### Username
-
-The username for the PostgreSQL Server.
-
-### Password
-
-The password for the PostgreSQL Server.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/documentation.md
deleted file mode 100644
index 13290a2..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.internal.jvm.dashboard/documentation.md
+++ /dev/null
@@ -1,35 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.internal.jvm.dashboard
-title: Dashboard Sink
-sidebar_label: Dashboard Sink
-original_id: org.streampipes.sinks.internal.jvm.dashboard
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.internal.jvm.dashboard/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This sink visualizes data streams in the StreamPipes dashboard. 
-Visualizations can be configured in Live Dashboard of StreamPipes after the pipeline has been started.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-No further configuration necessary, individual visualizations can be configured in the Dashboard itself.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.internal.jvm.notification/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.internal.jvm.notification/documentation.md
deleted file mode 100644
index bf63af3..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.internal.jvm.notification/documentation.md
+++ /dev/null
@@ -1,41 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.internal.jvm.notification
-title: Notification
-sidebar_label: Notification
-original_id: org.streampipes.sinks.internal.jvm.notification
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.internal.jvm.notification/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Displays a notification in the UI panel of StreamPipes.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-This sink does not have any requirements and works with any incoming event type.
-
-### Notification Title
-
-The title of the notification.
-
-### Content
-
-The notification message.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.email/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.email/documentation.md
deleted file mode 100644
index 5b19408..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.email/documentation.md
+++ /dev/null
@@ -1,50 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.notifications.jvm.email
-title: Email Notification
-sidebar_label: Email Notification
-original_id: org.streampipes.sinks.notifications.jvm.email
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.notifications.jvm.email/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This sink sends an email to a specified receiver.
-
-Before you use this sink, the settings of your email server need to be configured.
-After you've installed the element, navigate to ``Settings``, open the panel ``Sinks Notifications JVM`` and add your
- mail server and credentials.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-The following configuration is required:
-
-### Receiver Address
-
-The email address of the receiver.
-
-### Subject
-
-The subject of the email.
-
-### Content
-
-The mail text.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/documentation.md
deleted file mode 100644
index 9aeadca..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.onesignal/documentation.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.notifications.jvm.onesignal
-title: OneSignal
-sidebar_label: OneSignal
-original_id: org.streampipes.sinks.notifications.jvm.onesignal
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.notifications.jvm.onesignal/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This sink sends a push message to the OneSignal application
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### App Id
-
-The OneSignal application ID.
-
-### API Key
-
-The OneSignal API key.
-
-### Content
-
-The message that should be sent to OneSignal
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.slack/documentation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.slack/documentation.md
deleted file mode 100644
index 459a00f..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/org.streampipes.sinks.notifications.jvm.slack/documentation.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-id: version-0.62.0-org.streampipes.sinks.notifications.jvm.slack
-title: Slack Notification
-sidebar_label: Slack Notification
-original_id: org.streampipes.sinks.notifications.jvm.slack
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.streampipes.sinks.notifications.jvm.slack/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Slack bot to send notifications directly into your slack
-
-Before you use this sink, the Slack token needs to be configured.
-After you've installed the element, navigate to ``Settings``, open the panel ``Sinks Notifications JVM`` and add your
-Slack API token.
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Receiver
-
-The receiver of the Slack message.
-
-### Channel Type
-
-The channel type, should be "User" or "Channel"
-
-### Content
-
-The message that should be sent.
-
-### 2nd parameter
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/user-guide-first-steps.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/user-guide-first-steps.md
deleted file mode 100644
index 8b2f7ca..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/user-guide-first-steps.md
+++ /dev/null
@@ -1,215 +0,0 @@
----
-id: user-guide-first-steps
-title: First steps
-sidebar_label: First steps
-original_id: user-guide-first-steps
----
-
-In this section, you'll learn how to create and run pipelines in StreamPipes.
-Before starting with this guide, all steps from the installation guide must be finished successfully and StreamPipes must be up and running.
-
-This guide consists of three steps:
-First, you'll learn how to create your first pipeline using the interactive tutorial.
-Afterwards, this section contains two examples on how to create pipelines based on the built-in data simulator.
- 
-## Interactive Tutorial
-The easiest way to get started with StreamPipes is the interactive tutorial. Once you open the pipeline editor for the first time, you'll see a splash screen as shown below.
-Click **Start tour** to start the interactive tutorial, which will guide you through your first steps with StreamPipes.
- 
-![Interactive Tutorial](/img/quickstart/interactive-tutorial.png)  
-
-If the splash screen does not show up, make sure you've installed the following pipeline elements:
-* Flow rate (data stream)
-* Numerical Filter (processing element)
-* Dashboard (data sink)
-
-After you've finished this very first tour, try the following tours to learn more about other features of StreamPipes:
-* Open the Live Dashboard and start the dashboard tour (by clicking the school icon in the top menu bar) to learn how to create real-time visualizations
-* Open StreamPipes Connect and start the tour to learn how to connect new data sources with StreamPipes.
- 
-## First Examples
-
-In this tutorial, you will create two simple pipelines that demonstrate the basic functionality of StreamPipes.
-The first example deals with monitoring a flow rate sensor.
-This pipeline ensures that everything works properly and data is sent through the whole system.
-In the second example we model a more complex situation detection pipeline that triggers a notification.
-Let's start with our first pipeline.
-If you have problems with any of the examples, please send us an email.
-We are happy to help you.
-
-## Data Simulation
-All the data sources that we have integrated in the StreamPipes demonstrator are simulated according to real world sensors.
-For example a flow rate sensor in a water pipe, which measures how much water flows in that pipe or a water level sensor in a water tank, that reports how high the water level is in the tank.
-In the next section you will use the flow rate sensor to build your first pipeline.
-
-## Flow Rate Visualization
-In the first example, we create a live line chart to monitor the value of the mass flow from a flow rate sensor.
-
-### Create Pipeline
-* As a first step go to the pipeline editor
-* Select the **FRS1** (Flow Rate Source 1)source
-* Then navigate to the **Data Sink** tab
-* Select the **DS** (Dashboard Sink) and connect the source with the sink
-* After connecting the elements save the pipeline by clicking on the save button on the top left corner
-* In the save menu add a name *Flow Rate Monitoring* and a description *This is my very first pipeline!*
-* Also select the **Start pipeline immediatly** checkbox
-* Then click the button **Save and go to pipeline view**
-* You are navigated to the pipeline view and a confirmation that the pipeline was started successfully should be shown
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/01_PipelineEditor_DataStreams.png" alt="Show Pipeline Editor Streams"/>
-    <img src="/img/quickstart/examples_master/02_example1_source.png" alt="Sources"/>
-    <img src="/img/quickstart/examples_master/03_example1_pipeline_finished.png" alt="Pipeline Finished"/>
-    <img src="/img/quickstart/examples_master/04_example1_save.png" alt="Saved Pipeline"/>
-    <img src="/img/quickstart/examples_master/05_example1_pipeline_started.png" alt="Pipeline 01 Started"/>
-</div>
-
-### Create Visualization
-* After we have created the pipeline we must create the line chart
-* Navigate to the **Live Dashboard** of StreamPipes
-* Click on the **Add visualization** button
-* Select the just created pipeline **Flow Rate Monitoring** and click the **next** button
-* For the visualization select the **Line Chart** and click **next** again
-* Now you have to enter the configuration for the line chart
-    * Select time mapping: **timestamp**
-    * Select number mapping: **mass_flow**
-    * Range Minimum: **0** 
-    * Range Maximum: **10**
-* When all parameters are set correctly click the next button again.
-* Congratulation you created the first pipeline and should now see the line chart
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/06_example01_live_visualisation.png" alt="Visualize Pipeline"/>
-    <img src="/img/quickstart/examples_master/07_example01_first_step.png" alt="Configure Visualization Step 1"/>
-    <img src="/img/quickstart/examples_master/08_example01_second_step.png" alt="Configure Visualization Step 2"/>
-    <img src="/img/quickstart/examples_master/09_example01_third_step.png" alt="Configure Visualization Step 3"/>
-    <img src="/img/quickstart/examples_master/10_example1_finished.png" alt="Pipeline 01 Done"/>
-</div>
-
-
-## Condition monitoring of a water tank
-In our second example we are going to create a more complex pipeline.
-This pipeline has two sources, the flow rate sensor from the previous example and a source measuring the water level in a tank.
-Our goal is to send a notification when the flow rate stops and the water level in the water tank sinks too fast.
-In this case a service technician should check the system as soon as possible.
-This example should just illustrate how the individual components work.
-Since the system currently uses simulated data each time the situation occurs a notification is triggered.
-
-Now lets start!
-
-
-### Build the pipeline
-* First we have to select the **FRS1** (Flow Rate Sensor 1) and **WL1** (Water Level) form the sources tab
-* In a first step we want to detect when the flow rate stops
-* Use the **NF** (Numerical Filter) from the processing elements tab and connect it to the **FRS1** source
-* Configure the **Numerical Filter**:
-    * Field name for filter operator: **mass_flow**
-    * Filter Operation: **<**
-    * Threshold value: **1**
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/11_example2_start.png" alt="Start Example 2"/>
-    <img src="/img/quickstart/examples_master/12_example2_numerical.png" alt="Select Numericl Filter"/>
-    <img src="/img/quickstart/examples_master/13_example2_configure_numerical.png" alt="Configure Numerical Filter"/>
-</div>
-
-* As a next step we add an aggregation to the water level. This reduces the inaccuracies we have because the water moves in the tank. 
-* Select the **A** (Aggregation) processing element
-* Connect the **WL1** with **A**
-* Configure **Aggregation**:
-    * Property Selection: **level**
-    * Operation: **Average**
-    * Time Window Size: **10**
-    * Output Frequency: **1**
-    * Groupe By: **None**
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/14_example2_aggregate.png" alt="Select Aggregation"/>
-    <img src="/img/quickstart/examples_master/15_example2_configure_aggregate.png" alt="Configure Aggregation"/>
-        <img src="/img/quickstart/examples_master/15_example2_configure_aggregate_2.png" alt="Configure Aggregation"/>
-
-</div>
-
-* With the next processing element we check if the water level decreases too fast
-* Select **I** (Trend) and connect it to **A**
-* Configure **Trend**:
-    * Timestamp field: **timestamp**
-    * Value to observe: **aggregatedValue** (This value is created by previous element)
-    * Group by: **sensorId**
-    * Increase / Decrease: **Decrease**
-    * Percentage of Increase / Decrease: **20**
-    * Time Window Length: **10**
-    * Select Output: **All**
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/16_example2_increase.png" alt="Select Increase"/>
-    <img src="/img/quickstart/examples_master/17_example2_configure1_increase.png" alt="Configute 01 Increase"/>
-</div>
-
-* Now we connect the two stream with the sequence element, which checks if both events occur in a certain time
-* Select **S** (Sequence) and connect both data streams to it
-* Configure **Sequence**:
-    * Time Window Size: **1**
-    * Time Unit: **sec**
-    
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/19_example2_sequence.png" alt="Select Sequence Detection"/>
-    <img src="/img/quickstart/examples_master/20_example2_configure_sequence.png" alt="ConfigureSequence Detection"/>
-</div>
-
-* Now we create a notification for the service technician that something is wrong with the system
-* Select **N** (Notification) from the data sink tab
-* Connect **S**  with **N**
-* Configure **Notification**: 
-    * Notification title: **Alarm**
-    * Content: **One notification was triggered by our first complex pipeline. Yeahhhh!**
-    
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/21_example2_notification.png" alt="Select Notification"/>
-    <img src="/img/quickstart/examples_master/22_example2_configure_notification.png" alt="Configure Notification"/>
-</div>
-
-* Add the dashboard sink to the increase element to monitor the preliminary results
-* Select **DS** and connect to **I**
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/23_example2_dashboard_sink.png" alt="Select Dashboard"/>
-</div>
-
-* Save the pipeline 
-* Save configuration:
-    * Pipeline Name: **Second Pipeline**
-    * Description: **Complex monitorung rule**
-    * Start pipeline immediately: **CHECK**
-* Click **Save and go to pipeline view**
- 
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/24_example2_save.png" alt="Save Pipeline"/>
-</div>
-
-* All pipeline elements should be started successfully 
-* It can be seen that the elements run on different technologies, in flink and a java container
-    * http://pe-flink-examples:8090
-    * http://pe-jvm-examples:8090
-* Go to visualization and create **Raw Data** visualization for the new pipeline   
-    
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/25_example2_started.png" alt="Pipeline Started Sucessfull"/>
-    <img src="/img/quickstart/examples/26_example2_visualisation.png" alt="Add Visualization"/>
-</div>
-
-* Every time you can see output in the **Raw Data** visualization of the new pipeline and the **Line Chart** from the first example are zero, a Notification is triggered by the pipeline.
-* Go to the **Notifications** view and have a look at the notification
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples/27_example2_notification.png" alt="Show Notification"/>
-</div>
-
-
-Congratulation you finished the quick start!
-It is recommended to stop the last pipeline, because it will keep creating notifications ;)
-
-We hope we gave you an easy quick start into StreamPipes.
-If you have any questions or suggestions, just send us an email.
-From here on you can explore all features in the [User Guide](user-guide-introduction.md) or go to the [Developer Guide](dev-guide-introduction.md) to learn how to write your own StreamPipes processing elements.
-
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/user-guide-installation.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/user-guide-installation.md
deleted file mode 100644
index f9ae6f7..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/user-guide-installation.md
+++ /dev/null
@@ -1,141 +0,0 @@
----
-id: user-guide-installation
-title: Installation
-sidebar_label: Installation
-original_id: user-guide-installation
----
-## Prerequisites
-
-### Hardware
-
-* The **lite version** (if you simply want to run StreamPipes on a laptop for testing purposes) requires at least 8GB RAM, the **full version** requires at least 16 GB RAM.
-* Docker (latest version, see instructions below)
-* Docker Compose (latest version., see instructions below)
-
-### Supported operating systems
-We rely on Docker and support three operating systems for the StreamPipes system
-
-* Linux
-* OSX
-* Windows 10
-    * Please note that older Windows versions are not compatible with Docker. Also Linux VMs under Windows might not work, due to network problems with docker.
-
-### Web Browser
-StreamPipes is a modern web application, therefore you need a recent version of Chrome (recommended), Firefox or Edge.
-
-### Docker
-You need to have Docker installed on your system before you continue with the installation guide.
-
-
-<div class="admonition info">
-<div class="admonition-title">Install Docker</div>
-<p>Go to https://docs.docker.com/installation/ and follow the instructions to install Docker for your OS. Make sure docker can be started as a non-root user (described in the installation manual, don’t forget to log out and in again) and check that Docker is installed correctly by executing docker-run hello-world</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Configure Docker</div>
-<p>By default, Docker uses only a limited number of CPU cores and memory.
-       If you run StreamPipes on Windows or on a Mac you need to adjust the default settings.
-       To do that, click on the Docker icon in your tab bar and open the preferences.
-       Go to the advanced preferences and set the **number of CPUs to 6** (recommended) and the **Memory to 8GB**.
-       After changing the settings, Docker needs to be restarted.</p></div>
-
-
-## Install StreamPipes
-
-<div class="tab-content" id="myTabContent">
-    <div class="tab-pane fade show active" id="linux" role="tabpanel" aria-labelledby="linux-tab">
-        <ul style="padding-left:0">
-            <li class="installation-step">
-                <div class="wrapper-container" style="align-items: center;justify-content: center;">
-                    <div class="wrapper-step">
-                        <span class="fa-stack fa-2x">
-                             <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                             <strong class="fa-stack-1x" style="color:white;">1</strong>
-                        </span>
-                    </div>
-                    <div class="wrapper-instruction">
-                        <a href="https://github.com/streampipes/streampipes-installer/archive/master.zip">Download</a>
-                        the latest StreamPipes release from Github and extract the zip file to a directory of your choice.
-                    </div>
-                </div>
-            </li>
-            <li class="installation-step">
-                <div class="wrapper-container" style="align-items: center;justify-content: center;">
-                    <div class="wrapper-step">
-                        <span class="fa-stack fa-2x">
-                             <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                             <strong class="fa-stack-1x" style="color:white;">2</strong>
-                        </span>
-                    </div>
-                    <div class="wrapper-instruction">
-                       <div style="margin-bottom:5px;"><b>Linux/Mac:</b> In a command prompt, open the folder <code>osx_linux</code> and run <code>./streampipes
-                            start</code>.<br/>
-                        </div>
-                        <div style="margin-top:5px;">
-                        <b>Windows 10:</b> In a command prompt, open the folder <code>windows10</code> and run <code>streampipes.bat
-                                                    start</code>.<br/>
-                        </div>
-                    </div>
-                </div>
-            </li>
-            <li class="installation-step">
-                <div class="wrapper-container" style="align-items: center;justify-content: center;">
-                    <div class="wrapper-step">
-                        <span class="fa-stack fa-2x">
-                             <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                             <strong class="fa-stack-1x" style="color:white;">3</strong>
-                        </span>
-                    </div>
-                    <div class="wrapper-instruction">
-                       When asked, enter the version (full or lite) and the IP address or hostname of your server (called SERVER_IP in the next step).
-                    </div>
-                </div>
-            </li>
-            <li class="installation-step">
-                <div class="wrapper-container" style="align-items: center;justify-content: center;">
-                    <div class="wrapper-step">
-                        <span class="fa-stack fa-2x">
-                             <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                             <strong class="fa-stack-1x" style="color:white;">4</strong>
-                        </span>
-                    </div>
-                    <div class="wrapper-instruction">
-                        Open your browser, navigate to http://SERVER_IP:80 and finish the setup according to the instructions below.
-                    </div>
-                </div>
-            </li>
-        </ul>
-        </div>
-    </div>
-
-## Setup StreamPipes
-
-Once you've opened the browser at the URL given above, you should see StreamPipes application as shown below.
-To set up the system, enter an email address and a password and click on install.
-At this point, it is not necessary to change anything in the advanced settings menu.
-The installation might take some time, continue by clicking on "Go to login page", once all components are successfully configured.
-
-
-On the login page, enter your credentials, then you should be forwarded to the home page.
-
-Congratulations! You've successfully managed to install StreamPipes. Now we're ready to build our first pipeline!
-
-<div class="my-carousel">
-    <img src="/img/quickstart/setup/01_register_user.png" alt="Set Up User"/>
-    <img src="/img/quickstart/setup/02_user_set_up.png" alt="SetUp StreamPipes Components"/>
-    <img src="/img/quickstart/setup/03_login.png" alt="Go to login page"/>
-    <img src="/img/quickstart/setup/04_home.png" alt="Home page"/>
-</div>
-
-<div class="admonition error">
-<div class="admonition-title">Errors during the installation process</div>
-<p>In most cases, errors during the installation are due to a wrongly configured IP address or an under-powered system.<br/>
-If there is a problem with any of the components, please restart the whole system and delete the "config" directory on the server.
-   This directory is in the same folder as the docker-compose.yml file.<br/>
-   Please also make sure that your system meets the hardware requirements as mentioned in the first section of the installation guide.</p>
-</div>
-
-## Next Steps
-
-Now you can continue with the tutorial on page [First steps](user-guide-first-steps.md).
diff --git a/website-v2/versioned_docs/version-0.62.0-pre-asf/user-guide-tour.md b/website-v2/versioned_docs/version-0.62.0-pre-asf/user-guide-tour.md
deleted file mode 100644
index 95bf46c..0000000
--- a/website-v2/versioned_docs/version-0.62.0-pre-asf/user-guide-tour.md
+++ /dev/null
@@ -1,278 +0,0 @@
----
-id: user-guide-tour
-title: Tour
-sidebar_label: Tour
-original_id: user-guide-tour
----
-
-StreamPipes is a framework that enables domain experts to model and execute stream processing pipelines in a big data infrastructure.
-The graphical user interface of StreamPipes is a web application that provides an easy to use solution for domain experts.
-In this page, an overview of the many features of StreamPipes is given. We will tour through all features and explain what they do and how users can interact with them.
-
-First of all, a user needs to log in to the system.
-The credentials for the user are specified during the installation process.
-
-## Home
-After logging in, the user is redirected on to the home page.
-The home page gives an overview over the different features available in the StreamPipes UI.
-
-On the left, the navigation menu can be seen.
-You can either use the icons on the left side or click on the menu icon on the
-top left to open the details view of the navigation menu.
-
-On the top right, a link refers to the documentation and the logout button is present.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/home/home.png" alt="Home"/>
-    <img src="/img/features_0_62_0/home/open_menu.png" alt="Open Menu"/>
-</div>
-
-
-
-## Pipeline Editor
-The first feature we are going to explain is the Pipeline Editor.
-This is one of the central features of StreamPipes, since graphical modeling of pipelines takes place in this view.
-
-On the top we can see four tabs: __Data Sets__, __Data Streams__, __Processing Elements__, and __Data Sinks__.
-Each tab contains multiple pipeline elements, which can be installed at runtime.
-The installation of pipeline elements is explained later in section [Install Pipeline Elements](user-guide-tour.md#install-pipeline-elements).
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/editor/2_PipelineEditor_DataStreams.png" alt="Data Streams"/>
-    <img src="/img/features_0_62_0/editor/3_PipelineEditor_DataProcessors.png" alt="Processing Elements"/>
-    <img src="/img/features_0_62_0/editor/4_PipelineEditor_DataSinks.png" alt="Data Sinks"/>
-    <img src="/img/features_0_62_0/editor/1_PipelineEditor_DataSets.png" alt="Data Sets"/>
-</div>
-
-There are multiple ways to search for a pipeline element. 
-The easiest way is to enter a search term in the search field on the top left corner.
-The system filters the elements according to the search term and only presents the relevant ones.
-Another way is to select one of the categories from the drop down menu.
-The system then filters the elements according to the selected category.
-The category of an element is defined by its functionality.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/editor/5_text_filter.png" alt="Text Filter"/>
-    <img src="/img/features_0_62_0/editor/6_category_drop_down.png" alt="Category Drop Down"/>
-    <img src="/img/features_0_62_0/editor/7_category_filter.png" alt="Category Filter"/>
-</div>
-
-Modelling of a pipeline starts with choosing one ore more data sources. Therefore a data stream or data set must be selected
-and moved into the editor via drag and drop.
-After adding a data stream, we can select a processing element to transform the events of the data stream.
-This is done again by dragging the processing element icon into our editor.
-The mouse can be used to connect the two elements.
-It is automatically checked in the background if the two elements are semantically compatible.
-If this check is successful, a configuration menu is shown. It contains the parameters that can be modified by the
-user. For all parameters, a description is provided and the system also prevents the user from entering parameters that
-are not correct, according to the semantic description of the element.
-It is also ensured that all required parameters are provided by the user, otherwise an error message is displayed.
-
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/editor/8_connect_elements.png" alt="Connect Elements"/>
-    <img src="/img/features_0_62_0/editor/9_configure_element.png" alt="Configure Elements"/>
-</div>
-
-When the user tries to connect two elements that are not compatible, the system shows a __connection error__ message.
-The example illustrated below shows such a case. The user tried to connect a text filter to a light sensor.
-This is not possible since the text filter processing element requires at least one event property of type string, which is not provided by the light sensor.
-
-![Connection Error](/img/features_0_62_0/editor/10_connection_error.png) 
-
-To further improve the usability, multiple ways are available to connect new elements besides the drag and drop option.
-Each processing element has multiple short-cut buttons to connect it with another element.
-The first one (eye icon) can be used to get a suggestion of all elements that are compatible with the current element.
-The second one (plus icon) gives a recommendation on the elements the user might want to connect, based on the usage of the component in
-other pipelines.
-There is also a button (question tag icon) to open the documentation of a selected element.
-Elements can be deleted by clicking the 'delete' button.
-Each element can also be re-configured at a later point in time using the configuration button.
-There is one important aspect about re-configuration of pipeline elements you need to be aware of: Only elements that are not yet connected to another element can be modified.
-The reason for this behaviour is that some of the following elements might rely on the configuration of previous elements.
-This way it is ensured that the user can not change the behaviour of the pipeline by accident.
- 
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/editor/11_shortcut_buttons.png" alt="Shortcut Buttons"/>
-    <img src="/img/features_0_62_0/editor/12_compatible_elements.png" alt="Compatible Elements"/>
-    <img src="/img/features_0_62_0/editor/13_recommend_elements.png" alt="Recommended elements"/>
-</div>
-
-
-After the pipeline is completely modelled, the editor looks similar to the first image below.
-Especially for larger pipelines, the auto layout button in the editor menu might be helpful.
-With this button, the pipeline will be beautifully aligned in the editor, helping users to get a better overview of the complete pipeline.
-On the top left corner of the editor, the 'save' button can be found.
-After the modelling of the pipeline is done, use this button to save and execute the pipeline.
-A save dialogue pops up when clicking the save button. 
-The pipeline title must be entered and an additional description can be provided.
-It is recommended to always provide a description, because it makes it easier for other users to understand the meaning of the pipeline.
-In the save menu, the user can either just store the pipeline configuration or store it and immediately start the pipeline.
-Once the pipeline is executed, the user is redirected to the _Manage Pipeline_ view.
-In this view, the user gets immediate feedback whether all components did start correctly and the pipeline is up and running.
-This view also shows that individual elements might run in different environments on different servers.
-If there is an error during the execution, a notification containing a (hopefully) detailed error description is provided in this view.
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/editor/14_save_adjust.png" alt="Save adjust delete"/>
-    <img src="/img/features_0_62_0/editor/15_save_dialogue.png" alt="Complete pipeline"/>
-    <img src="/img/features_0_62_0/editor/16_pipeline_sucessfully_started.png" alt="Pipeline sucessfully started"/>
-</div>
-
-
-## Manage Pipelines
-The _Manage Pipelines_ view provides an overview of all existing pipelines.
-Existing pipelines can be managed using this view.
-For instance, users can start and stop pipelines or delete them when they are not longer needed.
-Pipeline actions can be performed by clicking one of the buttons next to each pipeline.
-For each pipeline, the title and description is displayed in the table.
-By clicking the edit symbol an overview of the created pipline is shown. In this window you are able to analyze statistics, identify errors or edit the pipeline.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/manage_pipelines/1_pipeline_overview.png" alt="Pipeline Overview"/>
-    <img src="/img/features_0_62_0/manage_pipelines/2_pipeline_information.png" alt="Pipeline infomation"/>
-    <img src="/img/features_0_62_0/manage_pipelines/3_delete_pipeline.png" alt="Delete Pipelines"/>
-    <img src="/img/features_0_62_0/manage_pipelines/4_pipeline_deleted.png" alt="Delete Pipelines"/>
-</div>
-
-In a setting with many defined pipelines, it can get really hard to keep track of all pipelines.
-This is why we introduce categories.
-A category is a set of pipelines that can be defined by users in order to better organize pipelines.
-By clicking on the "Manage Categories" button on the top left, a new category can be added to StreamPipes.
-In this example, we create a new category named "New Demo Category".
-After saving a category, pipelines can be added to the newly created category.
-The new category is then presented as a tab in the _Pipeline Management_ view.
-This tab contains all previously defined pipelines.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/manage_pipelines/5_pipeline_category.png" alt="Pipeline Category"/>
-    <img src="/img/features_0_62_0/manage_pipelines/6_add_category.png" alt="Add Pipeline Category"/>
-    <img src="/img/features_0_62_0/manage_pipelines/7_new_category.png" alt="New Category"/>
-    <img src="/img/features_0_62_0/manage_pipelines/8_show_new_category.png" alt="Show new Category"/>
-</div>
-
-## Live Dashboard
-The live dashboard can be used for multiple use cases.
-It is a good way to live monitor a running system in a dashboard, but it can also be used during the pipeline development to get a fast feedback from newly created pipelines.
-Below is a screenshot of an example dashboard showing the current value of pressure, which further shows a line chart and a trafficlight for a water level pipeline.
-All pipelines that contain the "Dashboard Sink" can be visualized in this view.
-To add a new visualisation, click on the "Add visualisation" button on the top left corner.
-Afterwards, a three-step configuration menu is shown.
-The first step is to select the pipeline that should be visualized.
-In the second step, the type of visualization can be defined.
-Currently 10 different types are available, including line charts, various map visualizations and data tables.
-After selecting the type (in our example "Gauge"), you can select the specific measurement values of the data stream that should be displayed.
-In the example below, the water level value should be monitored and the gauge value should range from 0 to 100.
-Once all steps are completed, the new visualization is placed on the dashboard and live data is presented as soon as it becomes available.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/dashboard/01_dashboard.png" alt="Screenshot of live dashboard"/>
-    <img src="/img/features_0_62_0/dashboard/02_new_visualisation.png" alt="Select Pipeline to visualize"/>
-    <img src="/img/features_0_62_0/dashboard/03_select_gauge.png" alt="Select Visualization Type"/>
-    <img src="/img/features_0_62_0/dashboard/04_configure_gauge.png" alt="Configure  Visualzation"/>
-    <img src="/img/features_0_62_0/dashboard/05_new_gauge_done.png" alt="Show new Visualzation"/>
-</div>
-
-## File Download
-With the file download,  it is possible to download stored files directly from Elasticsearch.
-This can be very useful for example when a data dumb is needed for a specific time range.
-All data that is written into Elasticsearch using the _Elasticsearch Sink_ can be accessed by the file downloader.
-A common use case is to download data for offline analysis and to train a machine learning algorithm.
-First, an index must be defined, afterwards, the time range must be set.
-A date picker helps users to enter the time range.
-When a user clicks the "Create File" button the file is created.
-All files stored on the server can be downloaded via the download button.
-If the files are not longer needed, they can be deleted by clicking the delete button.
-This will remove the file from the server.
-Since data is stored in Elasticsearch anyways. it is recommended not to store the files for a longer period of time on the server.
-When a file is needed again at a later point in time it is easy to create it again. 
-This way a lot of disk space on the server can be saved, especially when the files are rather large.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/file_download/01_file_download.png" alt="File Download"/>
-    <img src="/img/features_0_62_0/file_download/02_file_download.png" alt="File Download with selected time range"/>
-    <img src="/img/features_0_62_0/file_download/03_file_download.png" alt="File Download with new File"/>
-</div>
-
-## Notifications
-Notifications are a good solution to notify someone when a urgent situation occurs.
-A notification can be created by using the notification sink in the pipeline editor.
-When using such a sink a configuration dialogue is presented to the user.
-In this dialogue the user must provide enough information to resolve the solution when it occurs.
-The message can be nicely configured in the message editor.
-It is also possible to embed values of the event that triggered the notification.
-This can be done with the #property# notation.
-All available properties are presented in the notification configurator.
-When the notification is triggered the #property# template is replaced with the actual value of the property.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/notification/01_select_notification_sink.png" alt="Select Notification"/>
-    <img src="/img/features_0_62_0/notification/02_configure_notification.png" alt="Configure Notification"/>
-</div>
-
-A pop up icon on the notification tab in the menu shows the user how many unread notifications currently are in the system.
-This icon also alerts users when new notifications occur.
-In the notification overview all notifications are listed.
-On the top are the new notifications that are not read yet.
-A user can mark them as read by clicking on the little envelope icon.
-Those notifications are then no longer in the unread section, but they remain in the "All Messages" view.
-This way it is possible to keep track of all notifications and have a look at them at a later point in time.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/notification/03_new_notification.png" alt="New Notification"/>
-</div>
-
-
-## Install Pipeline Elements
-StreamPipes is highly configurable and extensible.
-Pipeline elements can be added and removed during runtime.
-This can be done in the "Install Pipeline Elements" view.
-All available pipeline elements are shown here and can be selected to install or uninstall.
-It is also possible to select multiple or all of them and then install them all together.
-When a new element is installed by the user it is automatically available in the "Pipeline Editor" and can be used for pipelines.
-Elements that are uninstalled are removed from the system. 
-They can not longer be used within pipelines.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/install_elements/01_install_elements.png" alt="Install Elements View"/>
-    <img src="/img/features_0_62_0/install_elements/02_install_countAggregation.png" alt="Insall new Element"/>
-    <img src="/img/features_0_62_0/install_elements/03_installed_countAggregation.png" alt="Installation Successful"/>
-    <img src="/img/features_0_62_0/install_elements/04_countAggregation_in_editor.png" alt="Show new installed element"/>
-</div>
-
-
-## My Elements
-The "My Elements" view gives a quick overview over all installed pipeline elements.
-Here they can be inspected and the description can be re-imported.
-In this view it is also possible to have a look at the JSON-LD representation of each element.
-This is not important for a user, but it is worth noting that the system uses this machine understandable format to support the user.
-For example all the information of the sources, like data schema or unit information is in the JSON-LD meta data.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/my_elements/01_my_elements.png" alt="My Elements Overview"/>
-    <img src="/img/features_0_62_0/my_elements/02_my_elements_jsonid.png" alt="View JSON-LD"/>
-</div>
-
-## Configuration
-The last feature is the _configuration view_.
-Here, it is possible to change the configuration parameters of installed components.
-All components containing processing elements automatically register in StreamPipes when they are started in the same network as the backend component.
-Once a container is registered it is represented in the configuration view.
-The green dot on the top left indicates that tha container is running properly.
-When there is a problem with a container the green dot changes to red and the user knows there is a problem.
-To configure the parameters the top right arrow of a configuration box must be clicked.
-Then the configuration menu pops up. 
-Within there it is possible to change the parameters of a service.
-To make the changes persistent the "Update" button must be clicked.
-A user should keep in mind that sometimes it is necessary to restart a container when the parameters are changed.
-Sometimes it is also necessary to re-import the pipeline element description, either by uninstalling and re-installing them after the container restart or be reloading the description in the "My elements" view.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/configuration/01_configuration_overview.png" alt="Configuration Overview"/>
-    <img src="/img/features_0_62_0/configuration/02_change_config.png" alt="Change Configuration"/>
-</div>
-
-
-Congratulations! You've just finished your first tour of StreamPipes.
-Although there's still more to learn, we introduced most of the currently available features.
-On the next page, the different processing elements that come with the installation are explained.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/dev-guide-archetype.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/dev-guide-archetype.md
deleted file mode 100644
index 39828af..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/dev-guide-archetype.md
+++ /dev/null
@@ -1,143 +0,0 @@
----
-id: dev-guide-archetype
-title: Start Developing
-sidebar_label: Start Developing
-original_id: dev-guide-archetype
----
-
-In this tutorial we explain how you can use the Maven archetypes to develop your own StreamPipes processors and sinks.
-We use IntelliJ in this tutorial, but it works with any IDE of your choice.
-
-## Prerequisites
-You need to have Maven installed, further you need an up and running StreamPipes installation on your development computer.
-To ease the configuration of environment variables, we use the IntelliJ [env Plugin](https://plugins.jetbrains.com/plugin/7861-envfile).
-Install this in IntelliJ. The development also works without the plugin, then you have to set the environment variables manually instead of using the env configuration file.
-
-## Create Project
-To create a new project, we provide multiple Maven Archteypes.
-Currently, we have archetypes for the JVM and Flink wrappers, each for processors and sinks.
-The commands required to create a new pipeline element project can be found below. Make sure that you select a version compatible with your StreamPipes installation.
-Copy the command into your terminal to create a new project.
-The project will be created in the current folder.
-First, the ``groupId`` of the resulting Maven artifact must be set.
-We use ``groupId``: ``org.example`` and ``artifactId``: ``ExampleProcessor``.
-You can keep the default values for the other settings, confirm them by hitting enter.
-Now, a new folder with the name ``ExampleProcessor`` is generated.
-
-
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-processors-jvm  \
-  -DarchetypeVersion={sp.version}
-```
-<details class="info">
-    <summary>Select: [Processors / Sinks] [JVM / Flink]</summary>
-
-## Processors JVM
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-processors-jvm  \
-  -DarchetypeVersion=0.63.0
-```
-
-## Processors Flink
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-processors-flink  \
-  -DarchetypeVersion=0.63.0
-```
-
-## Sinks JVM
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-sinks-jvm  \
-  -DarchetypeVersion=0.63.0
-```
-
-## Sinks Flink
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-sinks-flink  \
-  -DarchetypeVersion=0.63.0
-```
-</details>
-
-
-## Edit Processor
-Open the project in your IDE.
-If everything worked, the structure should look similar to the following image.
-The *config* package contains all the configuration parameters of your processors / sinks.
-In the *main* package, it is defined which processors / sinks you want to activate and the *pe.processor.example* package contains three classes with the application logic.
-For details, have a look at the other parts of the Developer Guide, where these classes are explained in more depth.
-
-<img src="/img/archetype/project_structure.png" width="30%" alt="Project Structure"/>
-
-Open the class *Example* and edit the ``onEvent`` method to print the incoming event, log it to the console and send it to the next component without changing it.
-
-```java
-@Override
-public void onEvent(Event event, SpOutputCollector collector) {
-    // Print the incoming event on the console
-    System.out.println(in);
-
-    // Hand the incoming event to the output collector without changing it.
-    collector.onEvent(in);
-}
-```
-
-## Start Processor
-Before the processor can be started, you need to edit the *env* file in the *development* folder.
-Replace all local hosts in this file with the IP address or DNS name of your computer.
-This is relevant to make the mapping between the services running in Docker and your component running in the local IDE.
-After all updates are updated, this file is used by the envfile plugin to provide configuration parameters to the pipeline element.
-Alternatively, environment variables can also be set on your host or IDE.
-Now start the project by clicking on **(Run -> Edit Configuration)**.
-Add a new configuration in the Configuration menu by clicking on the + sign and select **Application**.
-Name the configuration *ExampleProcessor* and select the *Init* class as the 'Main class'.
-Then set *ExampleProcessor* in 'Use classpath of module'.
-
-
-As the last step, switch to the tab *EnvFile* and load the env file.
-Click on 'Enable EnvFile' to activate it and add the just edited env file by clicking on the + sign.
-Save all the changes by clicking *Apply*.
-Now you can start the processor.
-
-<div class="my-carousel">
-    <img src="/img/archetype/run_configuration.png" alt="Configuration View"/>
-    <img src="/img/archetype/run_env_configuration.png" alt="Environment Configuration View"/>
-</div>
-
-To check if the service is up and running, open the browser on *'localhost:6666'*. The machine-readable escription of the processor should be visible as shown below.
-
-<img src="/img/archetype/endpoint.png" width="90%" alt="Project Structure"/>
-
-
-<div class="admonition error">
-<div class="admonition-title">Common Problems</div>
-<p>
-If the service description is not shown on 'localhost:6666', you might have to change the port address.
-This needs to be done in the configuration of your service, further explained in the configurations part of the developer guide.
-
-If the service does not show up in the StreamPipes installation menu, click on 'MANAGE ENDPOINTS' and add 'http://<span></span>YOUR_IP_OR_DNS_NAME:6666'.
-Use the IP or DNS name you provided in the env file.
-After adding the endpoint, a new processor with the name *Example* should show up.
-</p>
-</div>
-
-Now you can go to StreamPipes.
-Your new processor *'Example'* should now show up in the installation menu.
-Install it, then switch to the pipeline view and create a simple pipeline that makes use of your newly created processor.
-In case you opened the StreamPipes installation for the first time, it should have been automatically installed during the setup process.
-
-<img src="/img/archetype/example_pipeline.png" width="80%" alt="Project Structure"/>
-
-Start this pipeline.
-Now you should see logging messages in your console and, once you've created a visualisation, you can also see the resulting events of your component in StreamPipes.
-
-Congratulations, you have just created your first processor!
-From here on you can start experimenting and implement your own algorithms.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/dev-guide-configuration.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/dev-guide-configuration.md
deleted file mode 100644
index 2d3cf1c..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/dev-guide-configuration.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: dev-guide-configuration
-title: Configuration
-sidebar_label: Configuration
-original_id: dev-guide-configuration
----
-
-On this page we explain how the StreamPipes configuration works.
-StreamPipes allows the individual services (pipeline element containers and third-party services) to store configuration parameters in a distributed key-value store.
-This has the advantage that individual services do not need to store any configurations on the local file system, enabling us to run containers anywhere.
-As a key-value store we use [Consul](https://www.consul.io/), which is an essential service for all our services.
-
-<img src="/img/configuration/consul.png" width="50%" alt="Semantic description of data processor"/>
-
-
-## Edit Configurations
-All services in StreamPipes can have configuration parameters.
-You can either change them in the consul user interface (which is by default running on port 8500) or directly in the StreamPipes Configurations Page.
-Once a new  pipeline element container is started, it is registered in Consul and the parameters can be edited in the configuration page, as shown below.
-To store changes in Consul, the update button must be clicked.
-
-<div class="my-carousel">
-    <img src="/img/configuration/configuration_1.png" alt="Configuration View"/>
-</div>
-
-## Configuration for Developers
-We provide a Configurations API for the use of configuration parameters in your services.
-Each processing element project has a “config” package [[Example]](https://github.com/streampipes/streampipes-pipeline-elements/tree/dev/streampipes-sinks-internal-jvm/src/main/java/org/streampipes/sinks/internal/jvm/config).
-This package usually contains two classes.
-One containing unique keys for the configuration values and one containing the getter and setter methods to access these values.
-For the naming of configuration keys, we recommend to use “SP” as a prefix.
-As we explain later, it is possible to set default configurations as environment variables, this prefix makes them unique on your server.
-A configuration entry needs a unique config key. For this key, a value can be specified containing the configuration, like for example the port number of the service.
-For each configuration, a description explaining the parameter can be provided, further the data type must be specified and whether it is a password or not.
-Below, the schema of a configuration item is shown on the left and an example of a port configuration on the right.
-
-<img src="/img/configuration/config_key.png" width="80%" alt="Semantic description of data processor"/>
-
-As a developer, you can add as many new configurations to services as you wish, but there are some that are required for all processing element containers.
-Those are **the host**, **the port**, and **the name** of the service.
-
-## Default Values
-You can provide default values for the configurations, which are used when a configuration is read for the first time.
-The first option is to register a configuration parameter in the Config class.
-This is a fallback value, which is used if nothing else is defined.
-Since this value is static, we offer a second option.
-It is possible to provide a default value by setting an environment variable.
-In this case, the convention is that the key of a configuration parameter must be used as the environment variable.
-Now, this value is used instead of the value defined in the Config class.
-During development, the configuration values often need to be changed for debugging purposes, therefore we provide an .env file in all processing element projects and archetypes.
-This file can be used by your IDE to set the environment variables. (e.g., [Intellij Plugin](https://plugins.jetbrains.com/plugin/7861-envfile))
-When you need to change the variable at runtime, you can do this in the StreamPipes configurations as explained before.
-Those changes take effect immediately without the need of a container restart.
-
-<div class="admonition warning">
-<div class="admonition-title">Installed pipeline elements</div>
-<p>Be cautious, when the configuration is used in the semantic description of a processing element which is already installed in StreamPipes, you have to reload this element in StreamPipes (my elements -> reload).
-   In addition, changes might affect already running pipelines.</p>
-</div>
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/dev-guide-environment.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/dev-guide-environment.md
deleted file mode 100644
index 3040e7c..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/dev-guide-environment.md
+++ /dev/null
@@ -1,113 +0,0 @@
----
-id: dev-guide-development-environment
-title: Development Environment
-sidebar_label: Development Environment
-original_id: dev-guide-development-environment
----
-
-In this section, we describe our recommended minimum setup for locally setting up a development instance of StreamPipes needed to develop, run and test new pipeline elements.
-
-## IDE & required dev tools
-StreamPipes does not have specific requirements on the IDE - so feel free to choose the IDE of your choice.
-The only requirements in terms of development tools are that you have Java 8 and Maven installed.
-
-## Docker-based local StreamPipes instance
-In order to quickly test developed pipeline elements without needing to install all services required by StreamPipes, we provide a CLI tool that allows you to selectively start StreamPipes components.
-The CLI tool allows to switch to several templates (based on docker-compose) depending on the role. For instance, if you are developing a pipeline element, use the template ``pe-developer``. This will start backend and ui components in a Docker container, while you can easily test your pipeline element in your IDE.
-
-For now, we refer to the Github Readme for instructions on how to use the CLI tool: [https://github.com/streampipes/streampipes-cli](https://github.com/streampipes/streampipes-cli)
-
-## Starter projects
-
-Now, once you've started the development instance, you are ready to develop your very first pipeline element.
-Instead of starting from scratch, we recommend using our provided maven archetypes:
-
-### Maven archetypes
-
-Create the Maven archetype as described in the [Getting Started](dev-guide-archetype) guide.
-
-### Starting from scratch
-
-In order to develop a new pipeline element from scratch, you need to create a new Maven project and import the following dependencies:
-
-<details class="info">
-<summary>pom.xml</summary>
-```
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-container-standalone</artifactId>
-    <version>0.63.0</version>
-</dependency>
-
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-sdk</artifactId>
-    <version>0.63.0</version>
-</dependency>
-
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-vocabulary</artifactId>
-    <version>0.63.0</version>
-</dependency>
-
-<!-- This dependency needs to be imported if you plan to develop a new data processor or data sink using the Apache Flink wrapper -->
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-wrapper-flink</artifactId>
-    <version>0.63.0</version>
-</dependency>
-
-<!-- This dependency needs to be imported if you plan to develop a new data processor or data sink which is running directly on the JVM -->
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-wrapper-standalone</artifactId>
-    <version>0.63.0</version>
-</dependency>
-
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-dataformat-json</artifactId>
-    <version>0.63.0</version>
-</dependency>
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-dataformat-smile</artifactId>
-     <version>0.63.0</version>
-</dependency>
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-dataformat-cbor</artifactId>
-     <version>0.63.0</version>
-</dependency>
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-dataformat-fst</artifactId>
-     <version>0.63.0</version>
-</dependency>
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-messaging-jms</artifactId>
-     <version>0.63.0</version>
-</dependency>
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-messaging-kafka</artifactId>
-     <version>0.63.0</version>
-</dependency>
-```
-</details>
-
-The following three dependencies are mandatory:
-
-* `streampipes-container-standalone`, defines that we are going to create a new pipeline element where the description will be accessible through an embedded web server.
-* `streampipes-sdk` imports the SDK which provides many convencience functions to create new pipeline elements.
-* `streampipes-vocabulary` imports various RDF vocabularies which are used by the SDK to auto-generate the semantic description of pipeline elements.
-
-The following three dependencies might be optional depending on the pipeline element type you plan to create:
-
-*  `streampipes-wrapper-flink` should be used in case you plan to connect a new data processor or data sink that uses Apache Flink for processing events at runtime.
-*  `streampipes-wrapper-standalone` should be used in case you plan to connect a new data processor or data sink that does not use an external processing engine. Events are directly processed in a single-host fashion.
-
-
-Finally, this dependency will provide abstract classes to define data sources and streams.
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/dev-guide-output-strategies.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/dev-guide-output-strategies.md
deleted file mode 100644
index 81c6395..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/dev-guide-output-strategies.md
+++ /dev/null
@@ -1,347 +0,0 @@
----
-id: dev-guide-output-strategies
-title: "SDK Guide: Output Strategies"
-sidebar_label: Output Strategies
-original_id: dev-guide-output-strategies
----
-
-## Introduction
-In StreamPipes, output strategies determine the output of a data processor.
-As the exact input schema of a processor is usually not yet known at development time (as processors can be connected with any stream that matches their requirements), output strategies are a concept to define how an input data stream is transformed to an output data stream.
-
-The following reference describes how output strategies can be defined using the SDK.
-
-<div class="admonition tip">
-<div class="admonition-title">Code on Github</div>
-<p>For all examples, the code can be found on <a href="https://www.github.com/apache/incubator-streampipes-examples/tree/dev/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/streampipes/pe/examples/jvm/outputstrategy/">Github</a>.</p>
-</div>
-
-## Reference
-
-The methods described below to create static properties are available in the ``ProcessingElementBuilder`` class and are usually used in the ``declareModel`` method of the controller class.
-
-As follows, we will use the following example event to explain how output strategies define the output of a data processor:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "1"
-
-}
-```
-
-### Keep Output
-
-A ``KeepOutputStrategy`` declares that the output event schema will be equal to the input event schema.
-In other terms, the processor does not change the schema, but might change the values of event properties.
-
-A keep output strategy can be defined as follows:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".keep", "Keep output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.anyProperty())
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // declaring a keep output strategy
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-
-```
-
-According to the example above, the expected output event schema of the example input event would be:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "1"
-
-}
-```
-
-Data processors that perform filter operations (e.g., filtering temperature values that are above a given threshold) are a common example for using keep output strategies.
-
-
-### Fixed Output
-
-A ``FixedOutputStrategy`` declares that the data processor itself provides the event schema. The output schema does not depend on the input event.
-
-Fixed output strategies need to provide the event schema they produce at development time:
-
-```java
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".fixed", "Fixed output example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.anyProperty())
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // the fixed output strategy provides the schema
-            .outputStrategy(OutputStrategies.fixed(EpProperties.timestampProperty("timestamp"),
-                    EpProperties.doubleEp(Labels.from("avg", "Average value", ""), "avg", SO.Number)))
-
-            .build();
-  }
-
-```
-
-In this example, we declare that the output schema always consists of two fields (``timestamp`` and ``avg``).
-
-Therefore, an output event should look like:
-
-```json
-{
-    "timestamp" : 1234556,
-    "avg" : 36.0
-}
-```
-
-
-### Append Output
-
-An ``AppendOutputStrategy`` appends additional fields to a schema of an incoming event stream. For instance, data processors that perform enrichment operations usually make use of append output strategies.
-
-Similar to the fixed output strategy, the additional fields must be provided at development time in the controller method as follows:
-
-```java
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".append", "Append output example", "")
-
-            // boilerplate code not relevant here, see above
-
-            // declaring an append output
-            .outputStrategy(OutputStrategies.append(EpProperties.integerEp(Labels.from("avg",
-                    "The average value", ""), "avg", SO.Number)))
-
-            .build();
-  }
-```
-
-In this case, the output event would have an additional field ``avg``:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "1",
-    "avg" : 123.0
-
-}
-```
-
-### Custom Output
-
-In some cases, pipeline developers using the StreamPipes UI should be able to manually select fields from an input event schema. For such use cases, a ``CustomOutputStrategy`` can be used:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".custom", "Custom output example", "")
-
-            // boilerplate code not relevant here, see above
-
-            // declaring a custom output
-            .outputStrategy(OutputStrategies.custom())
-
-            .build();
-  }
-
-```
-
-If a data processor defines a custom output strategy, the customization dialog in the pipeline editor will show a dialog to let users select the fields to keep:
-
-<img src="/img/dev-guide-output-strategies/os-custom.png" width="80%" alt="Number Parameter"/>
-
-Taking our example, and assuming that the user selects both the ``timestamp`` and the ``temperature`` the expected output event should look like this:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0
-}
-```
-
-How do we know which fields were selected once the data processor is invoked? Use the proper method from the extractor in the ``onInvocation`` method:
-
-```java
-@Override
-  public ConfiguredEventProcessor<DummyParameters> onInvocation(DataProcessorInvocation graph, ProcessingElementParameterExtractor extractor) {
-
-    List<String> outputSelectors = extractor.outputKeySelectors();
-
-    return new ConfiguredEventProcessor<>(new DummyParameters(graph), DummyEngine::new);
-  }
-```
-
-### Transform Output
-
-A ``TransformOutputStrategy`` declares that one or more fields of an incoming event stream are transformed. Transformations can be applied to the datatype of the property, the runtime name of the property, or any other scheam-related declaration such as measurement units.
-
-#### Static Transform Operations
-
-Static transform operations do not depend on any user input (at pipeline development time) in order to know how to transform a field of an incoming event schema.
-
-Let's say our data processor transforms strings (that are actually a number) to a number datatype. In this case, we can use a static transform output strategy:
-
-```java
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".transform", "Transform output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.stringReq(), Labels.from
-                            ("str", "The date property as a string", ""), PropertyScope.NONE)
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // static transform operation
-            .outputStrategy(OutputStrategies.transform(TransformOperations
-                    .staticDatatypeTransformation("str", Datatypes.Long)))
-
-            .build();
-  }
-
-```
-
-Note the mapping property that we use to determine which field of the input event should be transformed.
-
-The expected output event would look like this:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : 1
-}
-```
-
-#### Dynamic Transform Operations
-
-Sometimes, user input depends on the exact transform output. Let's take a field renaming processor as an example, which lets the user rename a field from an input event schema to another field name.
-For such use cases, we can use a ``DynamicTransformOperation``:
-
-```java
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".transform", "Transform output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.stringReq(), Labels.from
-                            ("str", "The date property as a string", ""), PropertyScope.NONE)
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // the text input to enter the new runtime name
-            .requiredTextparameter(Labels.from("new-runtime-name", "New Runtime Name", ""))
-
-            // static transform operation
-            .outputStrategy(OutputStrategies.transform(TransformOperations
-                    .dynamicRuntimeNameTransformation("str", "new-runtime-name")))
-
-            .build();
-  }
-
-```
-
-For dynamic transform operations, an additional identifier that links to another static property can be assigned and later be fetched in the ``onInvocation`` method.
-
-Assuming we want to rename the field ``temperature`` to ``temp``, the resulting output event should look like this:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temp" : 37.0,
-    "deviceId" : 1
-}
-```
-
-### Custom Transform Output
-
-Finally, in some cases the output schema cannot be described at pipeline development time. For these (usually rare) cases, a ``CustomTransformOutput`` strategy can be used.
-
-In this case, a callback function will be invoked in the controller class just after a user has filled in any static properties and clicks on ``Save`` in the pipeline editor.
-
-To define a custom transform output, we need to implement an interface in the controller class:
-
-```java
-public class CustomTransformOutputController extends
-        StandaloneEventProcessingDeclarer<DummyParameters> implements
-        ResolvesContainerProvidedOutputStrategy<DataProcessorInvocation, ProcessingElementParameterExtractor> {
-
-
-@Override
-  public EventSchema resolveOutputStrategy(DataProcessorInvocation processingElement, ProcessingElementParameterExtractor parameterExtractor) throws SpRuntimeException {
-
-  }
-}
-```
-
-In addition, the output strategy must be declared in the ``declareModel`` method:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".customtransform", "Custom transform output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.stringReq(), Labels.from
-                            ("str", "The date property as a string", ""), PropertyScope.NONE)
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // declare a custom transform output
-            .outputStrategy(OutputStrategies.customTransformation())
-
-            .build();
-  }
-
-```
-
-Once a new pipeline using this data processor is created and the configuration is saved, the ``resolveOutputStrategy`` method will be called, so that an event schema can be provided based on the given configuration. An extractor instance (see the guide on static properties) is available to extract the selected static properties and the connected event stream.
-
-```java
-@Override
-  public EventSchema resolveOutputStrategy(DataProcessorInvocation processingElement, ProcessingElementParameterExtractor parameterExtractor) throws SpRuntimeException {
-    return new EventSchema(Arrays
-            .asList(EpProperties
-                    .stringEp(Labels.from("runtime", "I was added at runtime", ""), "runtime", SO.Text)));
-  }
-```
-
-In this example, the output event schema should look like this:
-
-```json
-{
-    "runtime" : "Hello world!"
-}
-```
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/dev-guide-static-properties.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/dev-guide-static-properties.md
deleted file mode 100644
index 2f990bb..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/dev-guide-static-properties.md
+++ /dev/null
@@ -1,265 +0,0 @@
----
-id: dev-guide-static-properties
-title: "SDK Guide: Static Properties"
-sidebar_label: Static Properties
-original_id: dev-guide-static-properties
----
-
-## Introduction
-Static properties represent user-faced parameters that are provided by pipeline developers.
-Processing elements can specify required static properties, which will render different UI views in the pipeline editor.
-
-The following reference describes how static properties can be defined using the SDK.
-
-<div class="admonition tip">
-<div class="admonition-title">Code on Github</div>
-<p>For all examples, the code can be found on <a href="https://github.com/apache/incubator-streampipes-examples/tree/dev/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/streampipes/pe/examples/jvm/staticproperty">Github</a>.</p>
-</div>
-
-## Reference
-
-The methods described below to create static properties are available in the ``ProcessingElementBuilder`` and ``DataSinkBuilder`` classes and are usually used in the ``declareModel`` method of the controller class.
-
-### Mapping property
-
-In StreamPipes, processing elements usually operate on fields of an event stream. For instance, a filter processor operates on a specific field from an input stream (e.g., a field measuring the temperature).
-Typically, pipeline developers should select the exact field where the operations is applied upon by themselves.
-As this field is not yet known at pipeline element development time (as it is defined by the pipeline developer in the pipeline editor), mapping properties serve to map a stream requirement to a specific field from the actual input event stream.
-
-### Unary mapping property
-
-A unary mapping property maps a stream requirement to an actual field of an event stream. Therefore, the ``StreamRequirementsBuilder`` provides the opportunity to directly add a mapping property based along with a property requirement:
-
-```java
-.requiredStream(StreamRequirementsBuilder.
-    create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.numberReq(),
-            Labels.from("mp-key", "My Mapping", ""),
-            PropertyScope.NONE)
-    .build())
-```
-
-This leads to a selection dialog in the pipeline element customization which provides the user with a selection of all event properties (fields) from the input stream that match the specified property requirement:
-
-<img src="/img/dev-guide-static-properties/sp-mapping-unary.png" width="80%" alt="Text"/>
-
-At invocation time, the value can be extracted in the ``onInvocation`` method as follows:
-
-```java
-// Extract the mapping property value
-String mappingPropertySelector = extractor.mappingPropertyValue("mp-key");
-```
-
-Note that this method returns a ``PropertySelector``, which can be used by the event model to extract the actual value of this field.
-
-### N-ary mapping property
-
-N-ary mapping properties work similar to unary mapping properties, but allow the mapping of one requirement to multiple event properties matching the requirement:
-
-```java
-.requiredStream(StreamRequirementsBuilder.
-    create()
-    .requiredPropertyWithNaryMapping(EpRequirements.numberReq(),
-            Labels.from("mp-key", "My Mapping", ""),
-            PropertyScope.NONE)
-    .build())
-```
-
-This renders the following selection, where users can select more than one matching event property:
-
-<img src="/img/dev-guide-static-properties/sp-mapping-nary.png" width="80%" alt="Text"/>
-
-The following snippet returns a list containing the property selectors of all event properties that have been selected:
-
-```java
-// Extract the mapping property value
-List<String> mappingPropertySelectors = extractor.mappingPropertyValues("mp-key");
-```
-
-### Free-Text Parameters
-
-A free-text parameter requires the pipeline developer to enter a single value - which can be a string or another primitive data type.
-The input of free-text parameters can be restricted to specific value ranges or can be linked to the value set of a connected input data stream.
-
-#### Text Parameters
-
-A text parameter lets the user enter a string value. The following code line in the controller class
-
-```java
-.requiredTextParameter(Labels.from(SP_KEY, "Example Name", "Example Description"))
-```
-
-leads to the following input dialog in the pipeline editor:
-
-<img src="/img/dev-guide-static-properties/sp-text-parameter.png" width="80%" alt="Text"/>
-
-Users can enter any value that will be converted to a string datatype. To receive the entered value in the ``onInvocation`` method, use the following method from the ``ParameterExtractor``
-
-```java
-String textParameter = extractor.singleValueParameter(SP_KEY, String.class);
-```
-
-#### Number parameters
-
-A number parameter lets the user enter a number value, either a floating-point number or an integer:
-
-```java
-// create an integer parameter
-.requiredIntegerParameter(Labels.from(SP_KEY, "Integer Parameter", "Example Description"))
-
-// create a float parameter
-.requiredFloatParameter(Labels.from("float-key", "Float Parameter", "Example Description"))
-
-```
-
-leads to the following input dialog in the pipeline editor only accepting integer values:
-
-<img src="/img/dev-guide-static-properties/sp-number-parameter.png" width="80%" alt="Number Parameter"/>
-
-The pipeline editor performs type validation and ensures that only numbers can be added by the user. To receive the entered value in the ``onInvocation`` method, use the following method from the ``ParameterExtractor``
-
-```java
-// Extract the integer parameter value
-Integer integerParameter = extractor.singleValueParameter(SP_KEY, Integer.class);
-
-// Extract the float parameter value
-Float floatParameter = extractor.singleValueParameter("float-key", Float.class);
-
-```
-
-#### Numbers with value specification
-
-You can also specify the value range of a number-based free text parameter:
-
-```java
-// create an integer parameter with value range
-.requiredIntegerParameter(Labels.from(SP_KEY, "Integer Parameter", "Example Description"), 0, 100, 1)
-
-```
-
-which renders the following input field:
-
-<img src="/img/dev-guide-static-properties/sp-number-parameter-with-range.png" width="80%" alt="Number Parameter"/>
-
-Receive the entered value in the same way as a standard number parameter.
-
-#### Free-text parameters linked to an event property
-
-
-### Single-Value Selections
-
-Single-value selections let the user select from a pre-defined list of options.
-A single-value selection requires to select exactly one option.
-
-```java
-.requiredSingleValueSelection(Labels.from("id", "Example Name", "Example Description"),
-    Options.from("Option A", "Option B", "Option C"))
-
-```
-
-Single-value selections will be rendered as a set of radio buttons in the pipeline editor:
-
-<img src="/img/dev-guide-static-properties/sp-single-selection.png" width="80%" alt="Number Parameter"/>
-
-To extract the selected value, use the following method from the parameter extractor:
-
-```java
-// Extract the selected value
-String selectedSingleValue = extractor.selectedSingleValue("id", String.class);
-```
-
-<div class="admonition tip">
-<div class="admonition-title">Declaring options</div>
-<p>Sometimes, you may want to use an internal name that differs from the display name of an option.
-For that, you can use the method Options.from(Tuple2{'<'}String, String{'>'}) and the extractor method selectedSingleValueInternalName.</p>
-</div>
-
-
-
-### Multi-Value Selections
-
-Multi-value selections let the user select from a pre-defined list of options, where multiple or no option might be selected.
-
-```java
-.requiredMultiValueSelection(Labels.from("id", "Example Name", "Example Description"),
-    Options.from("Option A", "Option B", "Option C"))
-
-```
-
-Multi-value selections will be rendered as a set of checkboxes in the pipeline editor:
-
-<img src="/img/dev-guide-static-properties/sp-multi-selection.png" width="80%" alt="Number Parameter"/>
-
-To extract the selected value, use the following method from the parameter extractor:
-
-```java
-// Extract the selected value
-List<String> selectedMultiValue = extractor.selectedMultiValues("id", String.class);
-```
-
-### Domain Concepts
-
-(coming soon...)
-
-### Collections
-
-You can also define collections based on other static properties.
-
-```java
-// create a collection parameter
-.requiredParameterAsCollection(Labels.from("collection", "Example Name", "Example " +
-        "Description"), StaticProperties.stringFreeTextProperty(Labels
-        .from("text-property","Text","")))
-```
-
-While the items of the collection can be provided in the same way as the underlying static property, the UI provides buttons to add and remove items to the collections.
-
-<img src="/img/dev-guide-static-properties/sp-collection.png" width="80%" alt="Number Parameter"/>
-
-To extract the selected values from the collection, use the following method from the parameter extractor:
-
-```java
-// Extract the text parameter value
-List<String> textParameters = extractor.singleValueParameterFromCollection("collection", String.class);
-```
-
-### Runtime-resolvable selections
-
-In some cases, the options of selection parameters are not static, but depend on other values or might change at runtime. In this case, you can use runtime-resolvable selections.
-
-First, let your controller class implement ``ResolvesContainerProvidedOptions``:
-
-```java
-public class RuntimeResolvableSingleValue extends
-     StandaloneEventProcessingDeclarer<DummyParameters> implements ResolvesContainerProvidedOptions { ... }
-```
-
-Next, define the parameter in the ``declareModel`` method:
-
-```java
-// create a single value selection parameter that is resolved at runtime
-    .requiredSingleValueSelectionFromContainer(Labels.from("id", "Example Name", "Example " +
-            "Description"))
-```
-
-Finally, implement the method ``resolveOptions``, which will be called at runtime once the processor is used:
-
-```java
-  @Override
-  public List<RuntimeOptions> resolveOptions(String requestId, EventProperty linkedEventProperty) {
-    return Arrays.asList(new RuntimeOptions("I was defined at runtime", ""));
-  }
-```
-
-The UI will render a single-value parameter based on the options provided at runtime:
-
-<img src="/img/dev-guide-static-properties/sp-single-selection-remote.png" width="80%" alt="Number Parameter"/>
-
-The parameter extraction does not differ from the extraction of static single-value parameters.
-
-<div class="admonition info">
-<div class="admonition-title">Multi-value selections</div>
-<p>Although this example shows the usage of runtime-resolvable selections using single value selections, the same also works for multi-value selections!</p>
-</div>
-
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/dev-guide-stream-requirements.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/dev-guide-stream-requirements.md
deleted file mode 100644
index 70c5551..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/dev-guide-stream-requirements.md
+++ /dev/null
@@ -1,179 +0,0 @@
----
-id: dev-guide-stream-requirements
-title: "SDK Guide: Stream Requirements"
-sidebar_label: Stream Requirements
-original_id: dev-guide-stream-requirements
----
-
-## Introduction
-
-Data processors and data sinks can define ``StreamRequirements``. Stream requirements allow pipeline elements to express requirements on an incoming event stream that are needed for the element to work properly.
-Once users create pipelines in the StreamPipes Pipeline Editor, these requirements are verified against the connected event stream.
-By using this feature, StreamPipes ensures that only pipeline elements can be connected that are syntactically and semantically valid.
-
-This guide covers the creation of stream requirements. Before reading this section, we recommend that you make yourself familiar with the SDK guide on [data processors](dev-guide-processor-sdk.md) and [data sinks](dev-guide-sink-sdk.md).
-
-<div class="admonition tip">
-<div class="admonition-title">Code on Github</div>
-<p>For all examples, the code can be found on <a href="https://www.github.com/apache/incubator-streampipes-examples/tree/dev/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/streampipes/pe/examples/jvm/requirements/">Github</a>.</p>
-</div>
-
-## The StreamRequirementsBuilder
-
-Stream requirements can be defined in the ``Controller`` class of the pipeline element. Start with a method body like this:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create(ID, PIPELINE_ELEMENT_NAME, DESCRIPTION)
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-
-                    .build())
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-The ``StreamRequirementsBuilder`` class provides methods to add stream requirements to a pipeline element.
-
-## Requirements on primitive fields
-
-As a very first example, let's assume we would like to create a data processor that filters numerical values that are above a given threshold.
-Consequently, any data stream that is connected to the filter processor needs to provide a numerical value.
-
-The stream requirement would be assigned as follows:
-
-```java
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create(ID, PIPELINE_ELEMENT_NAME, DESCRIPTION)
-            .requiredStream(StreamRequirementsBuilder
-                    .create()
-                    .requiredProperty(EpRequirements.numberReq())
-                    .build())
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-Note the line starting with ``requiredProperty``, which requires any stream to provide a datatype of type ``number``.
-
-In many cases, you'll want to let the user select a specific field from a data stream from all available fields that match the specified requirement. For that, you simply use the method ``requiredPropertyWithUnaryMapping`` as follows:
-
-```java
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create(ID, PIPELINE_ELEMENT_NAME, DESCRIPTION)
-            .requiredStream(StreamRequirementsBuilder
-                    .create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.numberReq(),
-                    Labels.from("number-mapping", "The value that should be filtered", ""), PropertyScope.NONE)
-                    .build())
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-See also the developer guide on [static properties](dev-guide-static-properties.md) to better understand the usage of ``MappingProperties``.
-
-Requirements on primitive fields can be specified for all common datatypes:
-
-```java
- @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.requirements" +
-            ".simple", "Simple requirements specification examples", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.numberReq()) // any number
-                    .requiredProperty(EpRequirements.doubleReq()) // any field of type double
-                    .requiredProperty(EpRequirements.booleanReq()) // any field of type boolean
-                    .requiredProperty(EpRequirements.integerReq()) // any field of type integer
-                    .requiredProperty(EpRequirements.stringReq()) // any field of type string
-
-                    .requiredProperty(EpRequirements.anyProperty()) // any field allowed (no restriction)
-                    .requiredProperty(EpRequirements.timestampReq())  // any timestamp field
-                    .build())
-
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-```
-
-### Specifying semantics
-
-For some algorithms, only specifying the datatype is not sufficient. Let's consider a geofencing algorithm that detects the precense some geospatial coordinate (e.g., from a vehicle) within a given location.
-
-You could specify something like this:
-
-```java
-    StreamRequirementsBuilder
-    .create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.doubleEp(), Labels.from("mapping-latitude", "Latitude", ""), PropertyScope.NONE)
-    .requiredPropertyWithUnaryMapping(EpRequirements.doubleEp(), Labels.from("mapping-longitude", "Longitude", ""), PropertyScope.NONE)
-    .build()
-```
-
-However, this would allow users to create strange pipelines as users could connect any stream containing a double value to our geofencing algorithm.
-To avoid such situations, you can also specify requirements based on the semantics of a field:
-
-```java
-    StreamRequirementsBuilder
-    .create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(SO.Latitude), Labels.from("mapping-latitude", "Latitude", ""), PropertyScope.NONE)
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(SO.Longitude), Labels.from("mapping-longitude", "Longitude", ""), PropertyScope.NONE)
-    .build()
-```
-
-Note that in this case, we make use of Schema.org's ``Latitude`` concept ([https://schema.org/latitude](https://schema.org/latitude)). StreamPipes already includes popular vocabularies for specifying semantics. You are also free to use your own vocabularies.
-
-
-## Requirements on lists
-
-Similarly to primitive requirements, you can define processors that require data streams with list fields, see the following examples:
-
-```java
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.requirements" +
-            ".list", "List requirements specification examples", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.Integer))
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.Double))
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.Boolean))
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.String))
-                    .build())
-
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-## Requirements on nested properties
-
-(coming soon, see the Javadoc for now)
-
-
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/dev-guide-tutorial-processors.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/dev-guide-tutorial-processors.md
deleted file mode 100644
index fe2ef9e..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/dev-guide-tutorial-processors.md
+++ /dev/null
@@ -1,500 +0,0 @@
----
-id: dev-guide-tutorial-processors
-title: "Tutorial: Data Processors"
-sidebar_label: "Tutorial: Data Processors"
-original_id: dev-guide-tutorial-processors
----
-
-In this tutorial, we will add a new data processor using the Apache Flink wrapper.
-
-From an architectural point of view, we will create a self-contained service that includes the description of the data processor and a Flink-compatible implementation.
-Once a pipeline is started that uses this data processor, the implementation is submitted to an Apache Flink cluster.
-
-## Objective
-
-We are going to create a new data processor that realized a simple geofencing algorithm - we detect vehicles that enter a specified radius around a user-defined location.
-This pipeline element will be a generic element that works with any event stream that provides geospatial coordinates in form of a latitude/longitude pair.
-
-The algorithm outputs every location event once the position has entered the geofence.
-
-
-<div class="admonition note">
-<div class="admonition-title">Note</div>
-<p>The implementation in this tutorial is pretty simple - our processor will fire an event every time the GPS location is inside the geofence.
-       In a real-world application, you would probably want to define a pattern that recognizes the _first_ event a vehicle enters the geofence.<br/>
-       This can be easily done using a CEP library, e.g., Apache Flink CEP.</p>
-</div>
-
-
-## Project setup
-
-To create new projects from scratch, several Maven archetypes exist to start developing.
-Enter the following command to create a new project based on the StreamPipes ``Processors-Flink`` archetype:
-
-```
-mvn archetype:generate -DarchetypeGroupId=org.streampipes \
--DarchetypeArtifactId=streampipes-archetype-pe-processors-flink -DarchetypeVersion=0.63.0 \
--DgroupId=org.streampipes.tutorial -DartifactId=geofence-tutorial -DclassNamePrefix=Geofencing -DpackageName=geofencing
-```
-
-Once you've imported the generated project, the project structure should look as follows:
-
-<img src="/img/tutorial-processors/project-structure-processor.PNG" alt="Project Structure Data Processor"/>
-
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Besides the basic project skeleton, the sample project also includes an example Dockerfile you can use to package your application into a Docker container.</p>
-</div>
-
-Now you're ready to create your first data processor for StreamPipes!
-
-## Adding data processor requirements
-
-First, we will add a new stream requirement.
-Open the class `GeofencingController` which should look as follows:
-
-```java
-package org.streampipes.tutorial.pe.processor.geofencing;
-
-import org.streampipes.tutorial.config.Config;
-
-import org.streampipes.model.DataProcessorType;
-import org.streampipes.model.graph.DataProcessorDescription;
-import org.streampipes.model.graph.DataProcessorInvocation;
-import org.streampipes.sdk.builder.ProcessingElementBuilder;
-import org.streampipes.sdk.builder.StreamRequirementsBuilder;
-import org.streampipes.sdk.extractor.ProcessingElementParameterExtractor;
-import org.streampipes.sdk.helpers.EpRequirements;
-import org.streampipes.sdk.helpers.Labels;
-import org.streampipes.sdk.helpers.OutputStrategies;
-import org.streampipes.sdk.helpers.SupportedFormats;
-import org.streampipes.sdk.helpers.SupportedProtocols;
-import org.streampipes.wrapper.flink.FlinkDataProcessorDeclarer;
-import org.streampipes.wrapper.flink.FlinkDataProcessorRuntime;
-
-public class GeofencingController extends
-				FlinkDataProcessorDeclarer<GeofencingParameters> {
-
-	private static final String EXAMPLE_KEY = "example-key";
-
-	@Override
-	public DataProcessorDescription declareModel() {
-		return ProcessingElementBuilder.create("org.streampipes.tutorial-geofencing")
-						.category(DataProcessorType.ENRICH)
-                        .withAssets(Assets.DOCUMENTATION, Assets.ICON)
-						.withLocales(Locales.EN)
-						.requiredStream(StreamRequirementsBuilder
-							.create()
-							.requiredProperty(EpRequirements.anyProperty())
-							.build())
-						.outputStrategy(OutputStrategies.keep())
-						.requiredTextParameter(Labels.from(EXAMPLE_KEY, "Example Text Parameter", "Example " +
-				"Text Parameter Description"))
-						.build();
-	}
-
-	@Override
-	public FlinkDataProcessorRuntime<GeofencingParameters> getRuntime(DataProcessorInvocation
-				graph, ProcessingElementParameterExtractor extractor) {
-
-		String exampleString = extractor.singleValueParameter(EXAMPLE_KEY, String.class);
-
-		GeofencingParameters params = new GeofencingParameters(graph, exampleString);
-
-		return new GeofencingProgram(params, Config.INSTANCE.getDebug());
-	}
-
-}
-
-```
-
-In this class, we need to implement two methods: The `declareModel` method is used to define abstract stream requirements such as event properties that must be present in any input stream that is later connected to the element using the StreamPipes UI.
-The second method, `getRuntime` is used to create and deploy the parameterized Flink program once a pipeline using this element is started.
-
-Similar to data sources, the SDK provides a builder class to generate the description for data processors.
-Delete the content within the ``declareModel`` method and add the following lines to the `declareModel` method:
-
-```java
-return ProcessingElementBuilder.create("org.streampipes.tutorial.geofencing", "Geofencing", "A simple geofencing data processor " +
-            "using the Apache Flink wrapper")
-```
-
-This creates a new data processor with the ID, title and description assigned to the element builder.
-Next, we add some _stream requirements_ to the description. As we'd like to develop a generic pipeline element that works with any event that provides a lat/lng pair, we define two stream requirements as stated below:
-
-```java
-.requiredStream(StreamRequirementsBuilder
-    .create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lat),
-            Labels.from("latitude-field", "Latitude", "The event " +
-            "property containing the latitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lng),
-            Labels.from("longitude-field", "Longitude", "The event " +
-                    "property containing the longitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-    .build())
-```
-
-The first line, `.requiredStream()` defines that we want a data processor with exactly one input stream. Adding more stream requirements would create elements with multiple input connectors in StreamPipes.
-Stream requirements can be assigned by using the `StreamRequirementsBuilder` class.
-In our example, we define two requirements, so-called _domain property requirements_. In contrast to _data type requirements_ where we'd expect an event property with a field of a specific data type (e.g., float), domain property requirements expect a specific domain property, e.g., from a vocabulary such as the WGS84 Geo vocab.
-
-Once a pipeline is deployed, we are interested in the actual field (and its field name) that contains the latitude and longitude values.
-In some cases, there might me more than one field that satisfies a property requirement and we would like users to select the property the geofencing component should operate on.
-Therefore, our example uses the method `requiredPropertyWithUnaryMapping`, which will map a requirement to a real event property of an input stream and  let the user choose the appropriate field in the StreamPipes UI when pipelines are defined.
-
-Finally, the `PropertyScope` indicates that the required property is a measurement value (in contrast to a dimension value). This allows us later to provide improved user guidance in the pipeline editor.
-
-Besides requirements, users should be able to define the center coordinate of the Geofence and the size of the fence defined as a radius around the center in meters.
-The radius can be defined by adding a simple required text field to the description:
-
-```java
-.requiredIntegerParameter("radius", "Geofence Size", "The size of the circular geofence in meters.", 0, 1000, 1)
-```
-
-Similar to mapping properties, text parameters have an internalId (radius), a label and a description.
-In addition, we can assign a _value specification_ to the parameter indicating the value range we support.
-Our example supports a radius value between 0 and 1000 with a granularity of 1.
-In the StreamPipes UI, a required text parameter is rendered as a text input field, in case we provide an optional value specification, a slider input is automatically generated.
-
-Such user-defined parameters are called _static properties_. There are many different types of static properties (see the [Processor SDK](dev-guide-sdk-guide-processors#docsNav) for an overview).
-
-One example are _DomainProperties_ we use for defining the center of the geofence.
-Our data processor requires a lat/lng pair that marks the center of the geofence.
-However, letting users directly input latitude and longitude coordinates wouldn't be very user-friendly.
-Therefore, we can link required text parameters to _ontology concepts_. By understanding the required input, the StreamPipes UI is able to determine which user interface works best for a specific concept.
-
-Add the following line to the `declareModel` method:
-
-```java
-.requiredOntologyConcept(Labels.from("location", "Geofence Center", "Provide the coordinate of the " +
-    "geofence center"), OntologyProperties.mandatory(Geo.lat), OntologyProperties.mandatory(Geo.lng))
-
-```
-
-We've now defined that we would like to receive an instance that provides a latitude and a longitude coordinate.
-Users can input these values either manually, or they can look up _domain knowledge_, i.e., knowledge stored isolated from the stream definition.
-
-Finally, we need to define technical requirements of the data processor, called _groundings_.
-StreamPipes supports various runtime data formats (e.g., JSON or Thrift) and various protocols (e.g., Kafka or JMS).
-Each component defines supports formats and protocol separately.
-For our example, we'd like to support JSON-based messages and Kafka as input and output broker protocol, so append the following:
-
-```java
-.supportedProtocols(SupportedProtocols.kafka())
-.supportedFormats(SupportedFormats.jsonFormat())
-.build();
-```
-
-Now we need to define the output of our Geofencing pipeline element.
-As explained in the first section, the element should fire every time some geo-located entity arrives within the defined geofence.
-Therefore, the processor outputs the same schema as it receives as an input.
-Although we don't know the exact input right now as it depends on the stream users connect in StreamPipes when creating pipelines, we can define an _output strategy_ as follows:
-
-```java
-.outputStrategy(OutputStrategies.keep())
-```
-
-This defines a _KeepOutputStrategy_, i.e., the input event schema is not modified by the processor.
-There are many more output strategies you can define depending on the functionality you desire, e.g., _AppendOutput_ for defining a processor that enriches events or _CustomOutput_ in case you would like users to select the output by themselves.
-
-That's it! We've now defined input requirements, required user input, technical requirements concerned with data format and protocol and an output strategy.
-In the next section, you will learn how to extract these parameters once the pipeline element is invoked after a pipeline was created.
-
-## Pipeline element invocation
-
-Once users start a pipeline that uses our geofencing component, the _getRuntime_ method in our class is called. The class `DataSinkInovcation` includes a graph that contains information on the configuration parameters a users has selected in the pipeline editor and information on the acutal streams that are connected to the pipeline element.
-
-Before we explain in more detail how to extract these values from the processor invocation, we need to adapt a little helper class.
-Open the file ```GeofencingParameters``` and modify it as follows:
-
-```java
-public class GeofencingParameters extends EventProcessorBindingParams {
-
-  private String latitudeFieldName;
-  private String longitudeFieldName;
-
-  private Float centerLatitude;
-  private Float centerLongitude;
-
-  private Integer radius;
-
-  public GeofencingParameters(DataProcessorInvocation graph, String latitudeFieldName, String longitudeFieldName,
-                              Float centerLatitude, Float centerLongitude, Integer radius) {
-    super(graph);
-    this.latitudeFieldName = latitudeFieldName;
-    this.longitudeFieldName = longitudeFieldName;
-    this.centerLatitude = centerLatitude;
-    this.centerLongitude = centerLongitude;
-    this.radius = radius;
-  }
-
-  public String getLatitudeFieldName() {
-    return latitudeFieldName;
-  }
-
-  public String getLongitudeFieldName() {
-    return longitudeFieldName;
-  }
-
-  public Float getCenterLatitude() {
-    return centerLatitude;
-  }
-
-  public Float getCenterLongitude() {
-    return centerLongitude;
-  }
-
-  public Integer getRadius() {
-    return radius;
-  }
-```
-
-This simple Pojo class will later serve to store user-defined parameters in a single object.
-
-Now we go back to the controller class and extract these values from the invocation object.
-
-The ``ProcessingElementParameterExtractor``  provides convenience methods to extract the relevant information from the `DataProcessorInvocation` object.
-
-Next, we are interested in the fields of the input event stream that contains the latitude and longitude value we would like to compute against the geofence center location as follows:
-
-```java
-String latitudeFieldName = extractor.mappingPropertyValue("latitude-field");
-String longitudeFieldName = extractor.mappingPropertyValue("longitude-field");
-```
-
-We use the same `internalId` we've used to define the mapping property requirements in the `declareModel` method.
-
-Next, for extracting the geofence center coordinates, we use the following statements:
-
-```java
-Float centerLatitude = extractor.supportedOntologyPropertyValue("location", Geo.lat, Float.class);
-Float centerLongitude = extractor.supportedOntologyPropertyValue("location", Geo.lng, Float.class);
-```
-
-The radius value can be extracted as follows:
-
-```java
-Integer radius = extractor.singleValueParameter("radius", Integer.class);
-```
-
-Now we can create a new instance of our previously created parameter class:
-
-```java
-GeofencingParameters params = new GeofencingParameters(dataProcessorInvocation, latitudeFieldName,
-            longitudeFieldName, centerLatitude, centerLongitude, radius);
-```
-
-Finally, return an instance of the class ```GeofencingProgram```:
-
-```java
-return new GeofencingProgram(params, true);
-```
-
-<div class="admonition tip">
-<div class="admonition-title">Info</div>
-<p>The line above uses the Flink MiniCluster to start the Flink program for debugging purposes.
-       Before you build the project and use it in a real environment, replace the line as follows, which triggers cluster execution:
-       <code>return new GeofencingProgram(params, new FlinkDeploymentConfig(Config.JAR_FILE, Config.INSTANCE.getFlinkHost(), Config.INSTANCE.getFlinkPort())</code></p>
-</div>
-
-
-Great! That's all we need to describe a data processor for usage in StreamPipes. Your controller class should look as follows:
-
-```java
-import org.streampipes.model.graph.DataProcessorDescription;
-import org.streampipes.model.graph.DataProcessorInvocation;
-import org.streampipes.model.schema.PropertyScope;
-import org.streampipes.sdk.builder.ProcessingElementBuilder;
-import org.streampipes.sdk.builder.StreamRequirementsBuilder;
-import org.streampipes.sdk.extractor.ProcessingElementParameterExtractor;
-import org.streampipes.sdk.helpers.EpRequirements;
-import org.streampipes.sdk.helpers.Labels;
-import org.streampipes.sdk.helpers.OntologyProperties;
-import org.streampipes.sdk.helpers.OutputStrategies;
-import org.streampipes.sdk.helpers.SupportedFormats;
-import org.streampipes.sdk.helpers.SupportedProtocols;
-import org.streampipes.vocabulary.Geo;
-import org.streampipes.wrapper.flink.FlinkDataProcessorDeclarer;
-import org.streampipes.wrapper.flink.FlinkDataProcessorRuntime;
-
-public class GeofencingController extends FlinkDataProcessorDeclarer<GeofencingParameters> {
-
-  @Override
-  protected FlinkDataProcessorRuntime<GeofencingParameters> getRuntime(DataProcessorInvocation dataProcessorInvocation) {
-    ProcessingElementParameterExtractor extractor = ProcessingElementParameterExtractor.from(dataProcessorInvocation);
-
-    String latitudeFieldName = extractor.mappingPropertyValue("latitude-field");
-    String longitudeFieldName = extractor.mappingPropertyValue("longitude-field");
-
-    Float centerLatitude = extractor.supportedOntologyPropertyValue("location", Geo.lat, Float.class);
-    Float centerLongitude = extractor.supportedOntologyPropertyValue("location", Geo.lng, Float.class);
-
-    Integer radius = extractor.singleValueParameter("radius", Integer.class);
-
-    GeofencingParameters params = new GeofencingParameters(dataProcessorInvocation, latitudeFieldName,
-            longitudeFieldName, centerLatitude, centerLongitude, radius);
-
-    return new GeofencingProgram(params);
-  }
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("geofencing-flink", "Geofencing", "A simple geofencing data processor " +
-            "using the Apache Flink wrapper")
-            .requiredStream(StreamRequirementsBuilder
-                    .create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lat),
-                            Labels.from("latitude-field", "Latitude", "The event " +
-                            "property containing the latitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-                    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lng),
-                            Labels.from("longitude-field", "Longitude", "The event " +
-                                    "property containing the longitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-                    .build())
-            .requiredIntegerParameter("radius", "Geofence Size", "The size of the circular geofence in meters.",
-                    0, 1000, 1)
-            .requiredOntologyConcept(Labels.from("location", "Geofence Center", "Provide the coordinate of the " +
-                    "geofence center"), OntologyProperties.mandatory(Geo.lat), OntologyProperties.mandatory(Geo.lng))
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-            .build();
-  }
-}
-
-```
-
-## Adding an implementation
-
-Everything we need to do now is to add an implementation which does not differ from writing an Apache Flink topology.
-
-Open the class `GeofencingProcessor.java` and add the following piece of code, which realizes the Geofencing functionality:
-
-```java
-public class GeofencingProcessor implements FlatMapFunction<Map<String, Object>, Map<String, Object>> {
-
-  private String latitudeFieldName;
-  private String longitudeFieldName;
-
-  private Float centerLatitude;
-  private Float centerLongitude;
-
-  private Integer radius;
-
-  public GeofencingProcessor(String latitudeFieldName, String longitudeFieldName, Float centerLatitude, Float centerLongitude, Integer radius) {
-    this.latitudeFieldName = latitudeFieldName;
-    this.longitudeFieldName = longitudeFieldName;
-    this.centerLatitude = centerLatitude;
-    this.centerLongitude = centerLongitude;
-    this.radius = radius;
-  }
-
-  @Override
-  public void flatMap(Event in, Collector<Event> out) throws Exception {
-    Float latitude = in.getFieldBySelector(latitudeFieldName).getAsPrimitive().getAsFloat();
-    Float longitude = in.getFieldBySelector(longitudeFieldName).getAsPrimitive().getAsFloat();
-
-    Float distance = distFrom(latitude, longitude, centerLatitude, centerLongitude);
-
-    if (distance <= radius) {
-      out.collect(in);
-    }
-  }
-
-  public static Float distFrom(float lat1, float lng1, float lat2, float lng2) {
-    double earthRadius = 6371000;
-    double dLat = Math.toRadians(lat2-lat1);
-    double dLng = Math.toRadians(lng2-lng1);
-    double a = Math.sin(dLat/2) * Math.sin(dLat/2) +
-            Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) *
-                    Math.sin(dLng/2) * Math.sin(dLng/2);
-    double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
-    return (float) (earthRadius * c);
-  }
-
-}
-```
-
-We won't go into details here as this isn't StreamPipes-related code, but in general the class extracts latitude and longitude fields from the input event (which is provided as a map data type) and calculates the distance between the geofence center and these coordinates.
-If the distance is below the given radius, the event is forwarded to the next operator.
-
-Finally, we need to connect this program to the Flink topology. StreamPipes automatically adds things like the Kafka consumer and producer, so that you only need to invoke the actual geofencing processor.
-Open the file `GeofencingProgram` and append the following line inside the `getApplicationLogic()` method:
-
-```java
-return dataStreams[0].flatMap(new GeofencingProcessor(params.getLatitudeFieldName(), params.getLongitudeFieldName(),
-    params.getCenterLatitude(), params.getCenterLongitude(), params.getRadius()));
-```
-
-## Preparing the container
-The final step is to define the deployment type of our new data source. In this tutorial, we will create a so-called `StandaloneModelSubmitter`.
-This client will start an embedded web server that provides the description of our data source and automatically submits the program to the registered Apache Flink cluster.
-
-Go to the class `Init` that extends `StandaloneModelSubmitter` and should look as follows:
-```java
-package org.streampipes.tutorial.main;
-
-import org.streampipes.container.init.DeclarersSingleton;
-import org.streampipes.container.standalone.init.StandaloneModelSubmitter;
-
-import org.streampipes.tutorial.config.Config;
-import org.streampipes.tutorial.pe.processor.geofencing.GeofencingController;
-
-public class Init extends StandaloneModelSubmitter {
-
-  public static void main(String[] args) throws Exception {
-    DeclarersSingleton.getInstance()
-            .add(new GeofencingController());
-
-    new Init().init(Config.INSTANCE);
-
-  }
-}
-```
-
-<div class="admonition info">
-<div class="admonition-title">Info</div>
-<p>In the example above, we make use of a class `Config`.
-       This class contains both mandatory and additional configuration parameters required by a pipeline element container.
-       These values are stored in the Consul-based key-value store of your StreamPipes installation.
-       The SDK guide contains a detailed manual on managing container configurations.
-</p>
-</div>
-
-## Starting the container
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>By default, the container registers itself using the hostname later used by the Docker container, leading to a 404 error when you try to access an RDF description.
-       For local development, we provide an environment file in the ``development`` folder. You can add your hostname here, which will override settings from the Config class.
-       For instance, use the IntelliJ ``EnvFile`` plugin to automatically provide the environment variables upon start.
-</p>
-</div>
-
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p> The default port of all pipeline element containers as defined in the `Config` file is port 8090.
-       If you'd like to run mutliple containers at the same time on your development machine, change the port in the environment file.
-</p>
-</div>
-
-Now we are ready to start our container!
-
-Execute the main method in the class `Main` we've just created, open a web browser and navigate to http://localhost:8090 (or the port you have assigned in the environment file).
-
-You should see something as follows:
-
-<img src="/img/tutorial-processors/pe-overview-flink.PNG" alt="Pipeline Element Container Overview (Flink)"/>
-
-Click on the link of the data source to see the RDF description of the pipeline element.
-
-<img src="/img/tutorial-processors/pe-rdf-geofencing.PNG" alt="Geofencing RDF description"/>
-
-The container automatically registers itself in the Consul installation of StreamPipes.
-To install the just created element, open the StreamPipes UI and follow the manual provided in the [user guide](user-guide-installation).
-
-## Read more
-
-Congratulations! You've just created your first data processor for StreamPipes.
-There are many more things to explore and data processors can be defined in much more detail using multiple wrappers.
-Follow our [SDK guide](dev-guide-sdk-guide-processors) to see what's possible!
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/dev-guide-tutorial-sinks.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/dev-guide-tutorial-sinks.md
deleted file mode 100644
index 2bda85f..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/dev-guide-tutorial-sinks.md
+++ /dev/null
@@ -1,247 +0,0 @@
----
-id: dev-guide-tutorial-sinks
-title: "Tutorial: Data Sinks"
-sidebar_label: "Tutorial: Data Sinks"
-original_id: dev-guide-tutorial-sinks
----
-
-In this tutorial, we will add a new data sink using the standalone wrapper.
-
-From an architectural point of view, we will create a self-contained service that includes the description of the data sink and a corresponding implementation.
-
-## Objective
-
-We are going to create a new data sink that calls an external HTTP endpoint to forward data to an external service.
-
-For each incoming event, an external service is invoked using an HTTP POST request. In this example, we'll call an endpoint provided by [RequestBin](https://requestbin.com/).
-To setup your own endpoint, go to [https://requestbin.com/](https://requestbin.com/) and click "Create a request bin". Copy the URL of the newly created endpoint.
-
-
-## Project setup
-
-We'll create a new project using the provided sinks-standalone-jvm Maven archetype.
-Enter the following command to create a new project based on the StreamPipes ``Sinks-JVM`` archetype:
-
-```
-mvn archetype:generate -DarchetypeGroupId=org.streampipes \
--DarchetypeArtifactId=streampipes-archetype-pe-sinks-jvm -DarchetypeVersion=0.63.0 \
--DgroupId=org.streampipes.tutorial -DartifactId=sink-tutorial -DclassNamePrefix=Rest -DpackageName=geofencing
-```
-
-Once you've imported the generated project, the project structure should look as follows:
-
-<img src="/img/tutorial-sinks/project-structure-sinks.png" alt="Project Structure Data Sink"/>
-
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Besides the basic project skeleton, the sample project also includes an example Dockerfile you can use to package your application into a Docker container.</p>
-</div>
-
-Now you're ready to create your first data sink for StreamPipes!
-
-## Adding data sink requirements
-
-First, we will add a new stream requirement.
-Open the class `RestController` which should look as follows:
-
-```java
-package org.streampipes.tutorial.pe.sink.rest;
-
-import org.streampipes.model.DataSinkType;
-import org.streampipes.model.graph.DataSinkDescription;
-import org.streampipes.model.graph.DataSinkInvocation;
-import org.streampipes.sdk.builder.DataSinkBuilder;
-import org.streampipes.sdk.builder.StreamRequirementsBuilder;
-import org.streampipes.sdk.extractor.DataSinkParameterExtractor;
-import org.streampipes.sdk.helpers.EpRequirements;
-import org.streampipes.sdk.helpers.Labels;
-import org.streampipes.sdk.helpers.SupportedFormats;
-import org.streampipes.sdk.helpers.SupportedProtocols;
-import org.streampipes.wrapper.standalone.ConfiguredEventSink;
-import org.streampipes.wrapper.standalone.declarer.StandaloneEventSinkDeclarer;
-import org.streampipes.sdk.helpers.*;
-import org.streampipes.sdk.utils.Assets;
-
-public class RestController extends StandaloneEventSinkDeclarer<RestParameters> {
-
-	private static final String EXAMPLE_KEY = "example-key";
-
-	@Override
-	public DataSinkDescription declareModel() {
-		return DataSinkBuilder.create("org.streampipes.tutorial.pe.sink.rest")
-						.category(DataSinkType.NOTIFICATION)
-						.withAssets(Assets.DOCUMENTATION, Assets.ICON)
-						.withLocales(Locales.EN)
-						.requiredStream(StreamRequirementsBuilder
-                                            .create()
-                                            .requiredPropertyWithNaryMapping(EpRequirements.anyProperty(), Labels.withId(
-                                                    "fields-to-send"), PropertyScope.NONE)
-                                            .build())
-						.build();
-	}
-
-	@Override
-	public ConfiguredEventSink<RestParameters> onInvocation(DataSinkInvocation graph, DataSinkParameterExtractor extractor) {
-
-		 List<String> fieldsToSend = extractor.mappingPropertyValues("fields-to-send");
-        
-         RestParameters params = new RestParameters(graph, fieldsToSend);
-
-		return new ConfiguredEventSink<>(params, Rest::new);
-	}
-
-}
-
-```
-
-In this class, we need to implement two methods: The `declareModel` method is used to define abstract stream requirements such as event properties that must be present in any input stream that is later connected to the element using the StreamPipes UI.
-The second method, `onInvocation` is used to create and deploy program once a pipeline using this sink is started.
-
-The ``declareModel`` method describes the properties of our data sink:
-* ``category`` defines a category for this sink.
-* ``withAssets`` denotes that we will provide an external documentation file and an icon, which can be found in the ``resources`` folder
-* ``withLocales`` defines that we will provide an external language file, also available in the ``resources`` folder
-* ``requiredStream`` defines requirements any input stream connected to this sink must provide. In this case, we do not have any specific requirements, we just forward all incoming events to the REST sink. However, we want to let the user display a list of available fields from the connected input event, where users can select a subset. This is defined by defining a Mapping from the empty requirement. This will later on render a selection dialog in the pipeline editor.
-
-The ``onInvocation`` method is called when a pipeline containing the sink is started. Once a pipeline is started, we would like to extract user-defined parameters.
-In this example, we simply extract the fields selected by users that should be forwarded to the REST sink. Finally, we return a new configured event sink containing the parameters.
-
-## Pipeline element invocation
-
-Once users start a pipeline that uses our geofencing component, the _getRuntime_ method in our class is called. The class `DataSinkInovcation` includes a graph that contains information on the configuration parameters a users has selected in the pipeline editor and information on the acutal streams that are connected to the pipeline element.
-
-Before we explain in more detail how to extract these values from the processor invocation, we need to adapt a little helper class.
-Open the file ```RestParameters``` and modify it as follows:
-
-```java
-public class RestParameters extends EventSinkBindingParams {
-
-  private List<String> fieldsToSend;
-
-  public RestParameters(DataSinkInvocation graph, List<String> fieldsToSend) {
-    super(graph);
-    this.fieldsToSend = fieldsToSend;
-  }
-
-  public List<String> getFieldsToSend() {
-    return fieldsToSend;
-  }
-}
-```
-
-This file will later provide information on the configured pipeline element.
-
-## Adding an implementation
-
-Now open the class ``Rest`` to add the proper implementation (i.e., the Rest call executed for every incoming event).
-
-Our final class should look as follows:
-
-```java
-private static Logger LOG = LoggerFactory.getLogger(Rest.class.getCanonicalName());
-
-  private static final String REST_ENDPOINT_URI = YOUR_REQUEST_BIN_URL;
-  private List<String> fieldsToSend;
-  private SpDataFormatDefinition dataFormatDefinition;
-
-  public Rest() {
-    this.dataFormatDefinition = new JsonDataFormatDefinition();
-  }
-
-  @Override
-  public void onInvocation(RestParameters parameters, EventSinkRuntimeContext runtimeContext) {
-    this.fieldsToSend = parameters.getFieldsToSend();
-  }
-
-  @Override
-  public void onEvent(Event event) {
-    Map<String, Object> outEventMap = event.getSubset(fieldsToSend).getRaw();
-    try {
-      String json = new String(dataFormatDefinition.fromMap(outEventMap));
-      Request.Post(REST_ENDPOINT_URI).body(new StringEntity(json, Charsets.UTF_8)).execute();
-    } catch (SpRuntimeException e) {
-      LOG.error("Could not parse incoming event");
-    } catch (IOException e) {
-      LOG.error("Could not reach endpoint at {}", REST_ENDPOINT_URI);
-    }
-  }
-
-  @Override
-  public void onDetach() {
-
-  }
-```
-The only class variable you need to change right now is the REST_ENDPOINT_URL. Change this url to the URL provided by your request bin.
-We'll ignore the other class variables and the constructor for now. Important are three methods, ``onInvocation``, ``onEvent`` and ``onDetach``.
-
-The ``onInvocation`` method is called once a pipeline containing our REST data sink is started. The ``onEvent`` method is called for each incoming event. Finally, ``onDetach`` is called when a pipeline is stopped.
-
-In the ``onInvocation`` method, we can extract the selected fields to be forwarded to the REST endpoint.
-In the ``ònEvent`` method, we use a helper method to get a subset of the incoming event.
-Finally, we convert the resulting ``Map`` to a JSON string and call the endpoint.
-
-
-## Preparing the container
-The final step is to define the deployment type of our new data source. In this tutorial, we will create a so-called `StandaloneModelSubmitter`.
-This client will start an embedded web server that provides the description of our data source and automatically starts the program in an embedded container.
-
-Go to the class `Init` that extends `StandaloneModelSubmitter` and should look as follows:
-```java
-
-public static void main(String[] args) throws Exception {
-    DeclarersSingleton.getInstance()
-            .add(new RestController());
-
-    DeclarersSingleton.getInstance().setPort(Config.INSTANCE.getPort());
-    DeclarersSingleton.getInstance().setHostName(Config.INSTANCE.getHost());
-
-    DeclarersSingleton.getInstance().registerDataFormats(new JsonDataFormatFactory(),
-            new CborDataFormatFactory(),
-            new SmileDataFormatFactory(),
-            new FstDataFormatFactory());
-
-    DeclarersSingleton.getInstance().registerProtocols(new SpKafkaProtocolFactory(),
-            new SpJmsProtocolFactory());
-
-    new Init().init(Config.INSTANCE);
-```
-
-<div class="admonition info">
-<div class="admonition-title">Info</div>
-<p>In the example above, we make use of a class `Config`.
-       This class contains both mandatory and additional configuration parameters required by a pipeline element container.
-       These values are stored in the Consul-based key-value store of your StreamPipes installation.
-       The SDK guide contains a detailed manual on managing container configurations.
-</p>
-</div>
-
-## Starting the container
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>By default, the container registers itself using the hostname later used by the Docker container, leading to a 404 error when you try to access an RDF description.
-       For local development, we provide an environment file in the ``development`` folder. You can add your hostname here, which will override settings from the Config class.
-       For instance, use the IntelliJ ``EnvFile`` plugin to automatically provide the environment variables upon start.
-</p>
-</div>
-
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p> The default port of all pipeline element containers as defined in the `Config` file is port 8090.
-       If you'd like to run mutliple containers at the same time on your development machine, change the port in the environment file.
-</p>
-</div>
-
-Now we are ready to start our container!
-
-Execute the main method in the class `Main` we've just created.
-
-The container automatically registers itself in the Consul installation of StreamPipes.
-To install the just created element, open the StreamPipes UI and follow the manual provided in the [user guide](user-guide-installation).
-
-## Read more
-
-Congratulations! You've just created your first data sink for StreamPipes.
-There are many more things to explore and data sinks can be defined in much more detail using multiple wrappers.
-Follow our [SDK guide](dev-guide-sdk-guide-sinks) to see what's possible!
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/dev-guide-tutorial-sources.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/dev-guide-tutorial-sources.md
deleted file mode 100644
index 7efe8c3..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/dev-guide-tutorial-sources.md
+++ /dev/null
@@ -1,283 +0,0 @@
----
-id: dev-guide-tutorial-sources
-title: "Tutorial: Data Sources"
-sidebar_label: "Tutorial: Data Sources"
-original_id: dev-guide-tutorial-sources
----
-
-In this tutorial, we will add a new data source consisting of a single data stream. The source will be provided as a standalone component (i.e., the description will be accessible through an integrated web server).
-
-## Objective
-
-We are going to create a new data stream that is produced by a GPS sensor installed in a delivery vehicle.
-The sensor produces a continuous stream of events that contain the current timestamp, the current lat/lng position of the vehicle and the plate number of the vehicle.
-Events are published in a JSON format as follows:
-```json
-{
-  "timestamp" : 145838399,
-  "latitude" : 37.04,
-  "longitude" : 17.04,
-  "plateNumber" : "KA-AB 123"
-}
-```
-
-These events are published to a Kafka broker using the topic `org.streampipes.tutorial.vehicle`.
-
-In the following section, we show how to describe this stream in a form that allows you to import and use it in StreamPipes.
-
-## Project setup
-
-Instead of creating a new project from scratch, we recommend to use the Maven archetype to create a new project skeleton.
-Enter the following command in a command line of your choice (Apache Maven needs to be installed):
-
-```
-mvn archetype:generate \
--DarchetypeGroupId=org.streampipes -DarchetypeArtifactId=streampipes-archetype-pe-sources \
--DarchetypeVersion=0.63.0 -DgroupId=my.groupId \
--DartifactId=my-source -DclassNamePrefix=MySource -DpackageName=mypackagename
-```
-
-Configure the variables ``artifactId`` (which will be the Maven artifactId), ``classNamePrefix`` (which will be the class name of your data stream) and ``packageName``.
-
-For this tutorial, use ``Vehicle`` as ``classNamePrefix``.
-
-Your project will look as follows:
-
-<img src="/img/tutorial-sources/project-structure.PNG" alt="Project Structure"/>
-
-That's it, go to the next section to learn how to create your first data stream!
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Besides the basic project skeleton, the sample project also includes an example Dockerfile you can use to package your application into a Docker container.
-</p>
-</div>
-
-## Adding a data stream description
-
-Now we will add a new data stream definition.
-First, open the class `VehicleStream` which should look as follows:
-
-```java
-
-package my.groupId.pe.mypackagename;
-
-import org.streampipes.model.SpDataStream;
-import org.streampipes.model.graph.DataSourceDescription;
-import org.streampipes.sdk.builder.DataStreamBuilder;
-import org.streampipes.sdk.helpers.EpProperties;
-import org.streampipes.sdk.helpers.Formats;
-import org.streampipes.sdk.helpers.Protocols;
-import org.streampipes.sources.AbstractAdapterIncludedStream;
-
-
-public class MySourceStream extends AbstractAdapterIncludedStream {
-
-  @Override
-  public SpDataStream declareModel(DataSourceDescription sep) {
-    return DataStreamBuilder.create("my.groupId-mypackagename", "MySource", "")
-            .property(EpProperties.timestampProperty("timestamp"))
-
-            // configure your stream here
-
-            .format(Formats.jsonFormat())
-            .protocol(Protocols.kafka("localhost", 9092, "TOPIC_SHOULD_BE_CHANGED"))
-            .build();
-  }
-
-  @Override
-  public void executeStream() {
-
-  }
-}
-```
-
-This class extends the class ``AbstractAdapterIncludedStream``, which indicates that this source continuously produces data (configured in the ``executeStream()`` method.
-In contrast, the class `AbstractAlreadyExistingStream` indicates that we only want to describe an already existing stream (e.g., a stream that already sends data to an existing Kafka broker).
-
-Now we will add the definition of the data stream. Add the following code inside of the `declareModel` method:
-```java
-return DataStreamBuilder.create("org.streampipes.tutorial.vehicle.position", "Vehicle Position", "An event stream " +
-          "that produces current vehicle positions")
-```
-
-This line creates a new instance of the SDK's `DataStreamBuilder` by providing three basic parameters:
-The first parameter must be a unique identifier of your data stream.
-The second and third parameters indicate a label and a description of your stream.
-These values will later be used in the StreamPipes UI to display stream details in a human-readable manner.
-
-Next, we will add the properties as stated above to the stream definition by adding the following lines:
-```java
-.property(EpProperties.timestampProperty("timestamp"))
-.property(EpProperties.stringEp(Labels.from("plate-number", "Plate Number", "Denotes the plate number of the vehicle"), "plateNumber", "http://my.company/plateNumber"))
-.property(EpProperties.doubleEp(Labels.from("latitude", "Latitude", "Denotes the latitude value of the vehicle's position"), "latitude", Geo.lat))
-.property(EpProperties.doubleEp(Labels.from("longitude", "Longitude", "Denotes the longitude value of the vehicle's position"), "longitude", Geo.lng))
-```
-These four _event properties_ compose our _event schema_. An event property must, at least, provide the following attributes:
-
-* **Runtime Name**. The runtime name indicates the key of the property at runtime, e.g., if our JSON message contains a structure such as `{"plateNumber" : "KA-F 123"}`, the runtime name must be `plateNumber`.
-* **Runtime Type**. An event property must have a primitive type (we will later see how to model more complex properties such as lists and nested properties).
-The type must be an instance of `XMLSchema` primitives, however, the SDK provides convenience methods to provide the property type.
-* **Domain Property**. The domain property indicates the semantics of the event property. For instance, the `latitude` property is linked to the `http://www.w3.org/2003/01/geo/wgs84_pos#lat` property of the WGS84 vocabulary.
-The domain property should be an URI as part of an existing or domain-specific vocabulary. The SDK provides convenience methods for popuplar vocabularies (e.g., Schema.org, Dolce or WGS84).
-
-In order to complete the minimum required specification of an event stream, we need to provide information on the transport format and protocol of the data stream at runtime.
-
-This can be achieved by extending the builder with the respective properties (which should already have been auto-generated):
-```java
-.format(Formats.jsonFormat())
-.protocol(Protocols.kafka("localhost", 9092, "TOPIC_SHOULD_BE_CHANGED"))
-.build();
-```
-
-Set ``org.streampipes.tutorial.vehicle`` as your new topic by replacing the term ``TOPIC_SHOULD_BE_CHANGED`.
-
-In this example, we defined that the data stream consists of events in a JSON format and that Kafka is used as a message broker to transmit events.
-The last build() method call triggers the construction of the RDF-based data stream definition.
-
-That's it! In the next section, we will connect the data stream to a source and inspect the generated RDF description.
-
-## Creating some dummy data
-
-Let's assume our stream should produce some random values that are sent to StreamPipes. We'll add a very simple data simulator to the ``executeStream`` method as follows:
-
-```java
-@Override
-  public void executeStream() {
-
-    SpKafkaProducer producer = new SpKafkaProducer("localhost:9092", "TOPIC_SHOULD_BE_CHANGED");
-    Random random = new Random();
-    Runnable runnable = new Runnable() {
-      @Override
-      public void run() {
-        for (;;) {
-          JsonObject jsonObject = new JsonObject();
-          jsonObject.addProperty("timestamp", System.currentTimeMillis());
-          jsonObject.addProperty("plateNumber", "KA-FZ 1");
-          jsonObject.addProperty("latitude", random.nextDouble());
-          jsonObject.addProperty("longitude", random.nextDouble());
-
-          producer.publish(jsonObject.toString());
-
-          try {
-            Thread.sleep(1000);
-          } catch (InterruptedException e) {
-            e.printStackTrace();
-          }
-
-        }
-      }
-    };
-
-    new Thread(runnable).start();
-  }
-```
-
-Change the topic and the URL of your Kafka broker (as stated in the controller).
-
-## Adding a source description
-
-A data source can be seen like a container for a set of data streams. Usually, a data source includes events that are logically or physically connected.
-For instance, in our example we would add other streams produced by vehicle sensors (such as fuel consumption) to the same data source description.
-
-Open the class `DataSource` which should look as follows:
-```java
-
-package my.groupId.pe.mypackagename;
-
-import org.streampipes.container.declarer.DataStreamDeclarer;
-import org.streampipes.container.declarer.SemanticEventProducerDeclarer;
-import org.streampipes.model.graph.DataSourceDescription;
-import org.streampipes.sdk.builder.DataSourceBuilder;
-
-import java.util.Arrays;
-import java.util.List;
-
-
-public class DataSource implements SemanticEventProducerDeclarer {
-
-  public DataSourceDescription declareModel() {
-    return DataSourceBuilder.create("my.groupId.mypackagename.source", "MySource " +
-        "Source", "")
-            .build();
-  }
-
-  public List<DataStreamDeclarer> getEventStreams() {
-    return Arrays.asList(new MySourceStream());
-  }
-}
-```
-First, we need to define the source. Similar to data streams, a source consists of an id, a human-readable name and a description.
-Replace the content defined in the `declareModel` method with the following code:
-```java
-return DataSourceBuilder.create("org.streampipes.tutorial.source.vehicle", "Vehicle Source", "A data source that " +
-    "holds event streams produced by vehicles.")
-    .build();
-```
-
-## Preparing the container
-
-The final step is to define the deployment type of our new data source. In this tutorial, we will create a so-called `StandaloneModelSubmitter`.
-This client will start an embedded web server that provides the description of our data source.
-
-Go to the class `Init` that implements `StandaloneModelSubmitter`, which should look as follows:
-```java
-package my.groupId.main;
-
-import org.streampipes.container.init.DeclarersSingleton;
-import org.streampipes.container.standalone.init.StandaloneModelSubmitter;
-import my.groupId.config.Config;
-import my.groupId.pe.mypackagename.DataSource;
-
-public class Init extends StandaloneModelSubmitter {
-
-  public static void main(String[] args) throws Exception {
-    DeclarersSingleton.getInstance()
-            .add(new DataSource());
-
-    new Init().init(Config.INSTANCE);
-
-  }
-}
-```
-This code adds the `VehicleSource`. Finally, the `init` method is called
-which triggers the generation of the corresponding RDF description and startup of the web server.
-
-<div class="admonition info">
-<div class="admonition-title">Info</div>
-<p>In the example above, we make use of a class `Config`.
-       This class contains both mandatory and additional configuration parameters required by a pipeline element container.
-       These values are stored in the Consul-based key-value store of your StreamPipes installation.
-       The SDK guide contains a detailed manual on managing container configurations.</p>
-</div>
-
-## Starting the container
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>By default, the container registers itself using the hostname later used by the Docker container, leading to a 404 error when you try to access an RDF description.
-       For local development, we provide an environment file in the ``development`` folder. You can add your hostname here, which will override settings from the Config class.
-       For instance, use the IntelliJ ``EnvFile`` plugin to automatically provide the environment variables upon start.
-</p>
-</div>
-
-Now we are ready to start our first container!
-
-Execute the main method in the class `Main` we've just created, open a web browser and navigate to http://localhost:8090, or change the port according to the value of the ``SP_PORT`` variable in the env file.
-
-You should see something as follows:
-
-<img src="/img/tutorial-sources/pe-overview.PNG" alt="Pipeline Element Container Overview"/>
-
-Click on the link of the data source to see the RDF description of the pipeline element.
-
-<img src="/img/tutorial-sources/pe-rdf.PNG" alt="Pipeline Element RDF description"/>
-
-The container automatically registers itself in the Consul installation of StreamPipes.
-To install the just created element, open the StreamPipes UI and follow the manual provided in the [user guide](user-guide-introduction).
-
-## Read more
-
-Congratulations! You've just created your first pipeline element for StreamPipes.
-There are many more things to explore and data sources can be defined in much more detail.
-Follow our [SDK guide](dev-guide-source-sdk) to see what's possible!
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.geo.flink/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.geo.flink/documentation.md
deleted file mode 100644
index 3f3f7a7..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.geo.flink/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.flink
-title: Spatial Grid Enrichment
-sidebar_label: Spatial Grid Enrichment
-original_id: org.apache.streampipes.processor.geo.flink
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.geo.flink/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Groups spatial events into cells of a given size
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/documentation.md
deleted file mode 100644
index d2f83e4..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.jvm.geocoding
-title: Google Maps Geocoder
-sidebar_label: Google Maps Geocoder
-original_id: org.apache.streampipes.processor.geo.jvm.geocoding
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-</p>
-
-***
-
-## Description
-
-This processor computes the latitude and longitude values from a location (a place name such as "Karlsruhe, Germany
-") and adds the result to the event.
-
-***
-
-## Required input
-
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/documentation.md
deleted file mode 100644
index 9ee1d6f..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/documentation.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.jvm.reversegeocoding
-title: Reverse Geocoder
-sidebar_label: Reverse Geocoder
-original_id: org.apache.streampipes.processor.geo.jvm.reversegeocoding
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-</p>
-
-***
-
-## Description
-
-This processor computes place name based on given lat/lng coordinates that are transmitted as fields from an event.
-
-***
-
-## Required input
-
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/documentation.md
deleted file mode 100644
index 050f362..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/documentation.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.jvm.staticgeocoding
-title: Static Google Maps Geocoder
-sidebar_label: Static Google Maps Geocoder
-original_id: org.apache.streampipes.processor.geo.jvm.staticgeocoding
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-</p>
-
-***
-
-## Description
-
-This processor computes the latitude and longitude values from a fixed location (a place name such as "Karlsruhe
-, Germany
-") and adds the result to the event.
-
-***
-
-## Required input
-
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md
deleted file mode 100644
index 04b3b87..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification
-title: Generic Image Classification
-sidebar_label: Generic Image Classification
-original_id: org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Image  + Classification Description (Generic Model)
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md
deleted file mode 100644
index 30b9580..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processor.imageclassification.jvm.image-enricher
-title: Image Enricher
-sidebar_label: Image Enricher
-original_id: org.apache.streampipes.processor.imageclassification.jvm.image-enricher
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Image Enrichment: Enriches an  + image with  + given bounding box coordinates
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/documentation.md
deleted file mode 100644
index 6865caa..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processor.imageclassification.qrcode
-title: QR Code Reader
-sidebar_label: QR Code Reader
-original_id: org.apache.streampipes.processor.imageclassification.qrcode
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.imageclassification.qrcode/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-QR Code Reader: Detects a QR Code in an image
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/documentation.md
deleted file mode 100644
index 4976da9..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/documentation.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.aggregation
-title: Aggregation
-sidebar_label: Aggregation
-original_id: org.apache.streampipes.processors.aggregation.flink.aggregation
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.aggregation/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs different aggregation functions based on a sliding time window (e.g., average, sum, min, max)
-
-***
-
-## Required input
-
-The aggregation processor requires a data stream that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Group by
-The aaggregation function can be calculated separately (partitioned) by the selected field value. 
-
-### Output every
-The frequency in which aggregated values are sent in seconds.
-
-### Time window
-The size of the time window in seconds
-
-### Aggregated Value
-The field used for calculating the aggregation value.
-
-## Output
-
-This processor appends the latest aggregated value to every input event that arrives.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/documentation.md
deleted file mode 100644
index c9dc8c7..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/documentation.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.eventcount
-title: Event Counter
-sidebar_label: Event Counter
-original_id: org.apache.streampipes.processors.aggregation.flink.eventcount
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-
-
-***
-
-## Description
-
-Counts the number of events arriving within a time window. An event is emitted every time the time window expires.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Time Window: The scale and size of the time window.
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/documentation.md
deleted file mode 100644
index f012002..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/documentation.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.rate
-title: Event Rate
-sidebar_label: Event Rate
-original_id: org.apache.streampipes.processors.aggregation.flink.rate
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.rate/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Computes the current event rate. Output is a number representing events per second.
-
-***
-
-## Required input
-
-The event rate processor works with any stream and does not have any specific requirements.
-
-***
-
-## Configuration
-
-### Time Baseline
-Time window size used for calculating the rate in seconds, also defines the output rate
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md
deleted file mode 100644
index e619125..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.flink.processor.math.mathop
-title: Math
-sidebar_label: Math
-original_id: org.apache.streampipes.processors.enricher.flink.processor.math.mathop
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs calculations on event properties (+, -, *, /, %).
-
-***
-
-## Required input
-The math processor works with any event that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Left operand
-The field from the input event that should be used as the left operand.
-
-### Right operand
-The field from the input event that should be used as the right operand.
-
-### Operation
-The math operation that should be performed.
-
-## Output
-The processor appends the calculation result to each input event.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md
deleted file mode 100644
index 0f044c5..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop
-title: Static Math
-sidebar_label: Static Math
-original_id: org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs calculation on an event property with a static value (+, -, *, /, %).
-
-***
-
-## Required input
-The math processor works with any event that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Left operand
-The field from the input event that should be used as the left operand.
-
-### Right operand value
-Specify the value of the right operand.
-
-### Operation
-The math operation that should be performed.
-
-## Output
-The processor appends the calculation result to each input event.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md
deleted file mode 100644
index 2fac83e..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.flink.processor.trigonometry
-title: Trigonometry Functions
-sidebar_label: Trigonometry Functions
-original_id: org.apache.streampipes.processors.enricher.flink.processor.trigonometry
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs Trigonometric functions (sin, cos, tan) on event properties.
-
-***
-
-## Required input
-The trigonometry processor works with any event that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Alpha
-The field that should be used for calculating the trigonometric function.
-
-
-### Operation
-The trigonometric function that should be calculated.
-
-## Output
-The processor appends the calculation result to each input event.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md
deleted file mode 100644
index 01fed70..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.flink.processor.urldereferencing
-title: URL Dereferencing
-sidebar_label: URL Dereferencing
-original_id: org.apache.streampipes.processors.enricher.flink.processor.urldereferencing
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Parses and appends the html page as a string to event.
-
-***
-
-## Required input
-The URL Dereferencing processor requires an input stream that provides an input field of type 'string', representing 
-the URL to dereference.
-
-***
-
-## Configuration
-
-### URL
-The field containing the URL to dereference.
-
-## Output
-The processor appends the extracted HTML page to each input event.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/documentation.md
deleted file mode 100644
index 6dd6bfc..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/documentation.md
+++ /dev/null
@@ -1,49 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.flink.timestamp
-title: Timestamp Enricher
-sidebar_label: Timestamp Enricher
-original_id: org.apache.streampipes.processors.enricher.flink.timestamp
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.timestamp/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Appends the current time in ms to the event payload.
-
-***
-
-## Required input
-The timestamp enricher works with any input event.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-This processor appends the current system time to every input event.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/documentation.md
deleted file mode 100644
index cb698a9..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/documentation.md
+++ /dev/null
@@ -1,32 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.jvm.sizemeasure
-title: Size Measure
-sidebar_label: Size Measure
-original_id: org.apache.streampipes.processors.enricher.jvm.sizemeasure
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.jvm.sizemeasure/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Measures the size of an incoming event and appends this number to the event by serializing it.
-
-***
-
-## Required input
-The size measure processor does not have any specific input requirements.
-
-***
-
-## Configuration
-
-You can specify if the size should be in Bytes, Kilobytes (1024 Bytes) or in Megabytes (1024 Kilobytes).
-
-## Output
-The size measure processor appends the size of the event (without the field, which is getting added) as a double. The rest of the event stays the same.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/documentation.md
deleted file mode 100644
index c02b529..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/documentation.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.compose
-title: Compose
-sidebar_label: Compose
-original_id: org.apache.streampipes.processors.filters.jvm.compose
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.compose/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Merges two event streams. Any time, a new input event arrives, it is merged with the last input event from the other 
-event stream and forwarded.
-
-***
-
-## Required input
-The Compose processor does not have any specific input requirements.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-The compose processor has a configurable output that can be selected by the user at pipeline modeling time.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/documentation.md
deleted file mode 100644
index a119dc1..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/documentation.md
+++ /dev/null
@@ -1,48 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.enrich
-title: Merge By Enrich
-sidebar_label: Merge By Enrich
-original_id: org.apache.streampipes.processors.filters.jvm.enrich
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.enrich/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Merges two data streams by enriching one of the streams with the properties of the other stream. The output frequency is the same as the frequency of the stream which is enriched.
-***
-
-## Required input
-None
-***
-
-## Configuration
-
-* Select the stream which should be enriched with the properties of the other stream.
-  * The last event of the stream is hold in state and each event of the other stream is enriched by the properties the user selected
-
-## Output
-The compose processor has a configurable output that can be selected by the user at pipeline modeling time.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/documentation.md
deleted file mode 100644
index fbfd775..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/documentation.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.merge
-title: Merge By Time
-sidebar_label: Merge By Time
-original_id: org.apache.streampipes.processors.filters.jvm.merge
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.merge/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Merges two event streams by their timestamp.
-Two events of the different streams are merged when they occure to the same time
-
-The following figure shows how the events of the two data streams will be mergrged:
-
-<p align="center"> 
-    <img width="width: 50%;" src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.merge/merge_description.png" class="pe-image-documentation"/>
-</p>
-***
-
-## Required input
-Each of the data streams needs a timestamp.
-***
-
-## Configuration
-
-* For each stream a the timestamp property on which the merger is performed has to be selected
-* The Time Interval describes the maximum value between two events to decide whether they are a match. To be a valid match the following function must be true: | timestamp_stream_1 - timestamp_stream_2 | < interval
-
-## Output
-The compose processor has a configurable output that can be selected by the user at pipeline modeling time.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/documentation.md
deleted file mode 100644
index 82b4c5b..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/documentation.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.numericalfilter
-title: Numerical Filter
-sidebar_label: Numerical Filter
-original_id: org.apache.streampipes.processors.filters.jvm.numericalfilter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.numericalfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-The Numerical Filter processor filters numerical values based on a given threshold.
-
-***
-
-## Required input
-The processor works with any input event that has one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Field
-Specifies the field name where the filter operation should be applied on.
-
-
-### Operation
-Specifies the filter operation that should be applied on the field.
-
-### Threshold value
-Specifies the threshold value.
-
-## Output
-The processor outputs the input event if it satisfies the filter expression.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/documentation.md
deleted file mode 100644
index f002872..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/documentation.md
+++ /dev/null
@@ -1,68 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.numericaltextfilter
-title: Numerical Text Filter
-sidebar_label: Numerical Text Filter
-original_id: org.apache.streampipes.processors.filters.jvm.numericaltextfilter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-
-***
-
-## Description
-The Numerical Text Filter processor filters numerical values based on a given threshold and text values 
-based on a given string. It only forwards events in case both criteria are satisfied.
-
-***
-
-## Required input
-The processor works with any input event that has one field containing a numerical value and one field 
-containing a text.
-
-***
-
-## Configuration
-
-### Number Field
-Specifies the field name where the filter operation should be applied on.
-
-### Number Operation
-Specifies the filter operation that should be applied on the field.
-
-### Number Threshold
-Specifies the threshold value.
-
-### Text Field
-The field containing the text that should be filtered.
-
-### Text Operation
-The operation used by the filter processor (equals or matches).
-
-### Text Keyword
-Specifies the keyword to filter the text field.
-
-## Output
-The processor outputs the input event if it satisfies the filter expression.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/documentation.md
deleted file mode 100644
index ca2c056..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/documentation.md
+++ /dev/null
@@ -1,49 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.project
-title: Projection
-sidebar_label: Projection
-original_id: org.apache.streampipes.processors.filters.jvm.project
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.project/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Outputs a selectable subset of an input event type.
-
-***
-
-## Required input
-The project processor works with any input event stream.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-The output depends on the fields selected at pipeline development time.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/documentation.md
deleted file mode 100644
index c6e5fa9..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/documentation.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.textfilter
-title: Text Filter
-sidebar_label: Text Filter
-original_id: org.apache.streampipes.processors.filters.jvm.textfilter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.textfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-The Text Filter processor filters text values based on a given string.
-
-***
-
-## Required input
-The processor works with any input event that has one field containing a text.
-
-***
-
-## Configuration
-
-### Text Field
-The field containing the text that should be filtered.
-
-
-### Operation
-The operation used by the filter processor (equals or matches)
-
-## Output
-The processor outputs the input event if it satisfies the filter expression.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/documentation.md
deleted file mode 100644
index a9055c8..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/documentation.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.threshold
-title: Threshold Detector
-sidebar_label: Threshold Detector
-original_id: org.apache.streampipes.processors.filters.jvm.threshold
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.threshold/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-The Threshold Detector processor appends a boolean whether the condition is fulfilled or not
-
-***
-
-## Required input
-The processor works with any input event that has one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Field
-Specifies the field name where the filter operation should be applied on.
-
-
-### Operation
-Specifies the filter operation that should be applied on the field.
-
-### Threshold value
-Specifies the threshold value.
-
-## Output
-Appends a boolean with the value whether the condition is fulfilled or not.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/documentation.md
deleted file mode 100644
index 7f3c33f..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.geo.jvm.processor.distancecalculator
-title: Distance Calculator
-sidebar_label: Distance Calculator
-original_id: org.apache.streampipes.processors.geo.jvm.processor.distancecalculator
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Groups spatial events into cells of a given size
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md
deleted file mode 100644
index 9bf3f3c..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.pattern-detection.flink.peak-detection
-title: Peak Detection
-sidebar_label: Peak Detection
-original_id: org.apache.streampipes.processors.pattern-detection.flink.peak-detection
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detect peaks in time series data
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/documentation.md
deleted file mode 100644
index 7d0ecf2..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/documentation.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.frequency
-title: Frequency Calculation
-sidebar_label: Frequency Calculation
-original_id: org.apache.streampipes.processors.siddhi.frequency
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.frequency/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Calculates the frequency of the event stream.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/documentation.md
deleted file mode 100644
index dd2bd42..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/documentation.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.frequencychange
-title: Frequency Change
-sidebar_label: Frequency Change
-original_id: org.apache.streampipes.processors.siddhi.frequencychange
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.frequencychange/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects when the frequency of the event stream changes
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/documentation.md
deleted file mode 100644
index 0b3ef35..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.increase
-title: Trend
-sidebar_label: Trend
-original_id: org.apache.streampipes.processors.siddhi.increase
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.increase/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects the increase of a numerical field over a customizable time window. Example: A temperature value increases by 10 percent within 5 minutes.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/documentation.md
deleted file mode 100644
index 3c4ad39..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.numericalfilter
-title: Numerical Filter (Siddhi)
-sidebar_label: Numerical Filter (Siddhi)
-original_id: org.apache.streampipes.processors.siddhi.numericalfilter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.numericalfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/documentation.md
deleted file mode 100644
index bd810f9..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.sequence
-title: Sequence Detection
-sidebar_label: Sequence Detection
-original_id: org.apache.streampipes.processors.siddhi.sequence
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.sequence/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Merges events from two event streams, when the top event arrives first and then the bottom event
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/documentation.md
deleted file mode 100644
index 5028a9b..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.stop
-title: Stream Stop Detection
-sidebar_label: Stream Stop Detection
-original_id: org.apache.streampipes.processors.siddhi.stop
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.stop/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Triggers an event when the input data stream stops sending events
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/documentation.md
deleted file mode 100644
index 7c2367f..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.flink.languagedetection
-title: Language Detection
-sidebar_label: Language Detection
-original_id: org.apache.streampipes.processors.textmining.flink.languagedetection
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.flink.languagedetection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects the language of a written text.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/documentation.md
deleted file mode 100644
index 53d3333..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.flink.wordcount
-title: Word Count
-sidebar_label: Word Count
-original_id: org.apache.streampipes.processors.textmining.flink.wordcount
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.flink.wordcount/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Counts words on continuous text-based streams
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/documentation.md
deleted file mode 100644
index 95ecfe2..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/documentation.md
+++ /dev/null
@@ -1,68 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.chunker
-title: Chunker (English)
-sidebar_label: Chunker (English)
-original_id: org.apache.streampipes.processors.textmining.jvm.chunker
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.chunker/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Segments given tokens into chunks (e.g. noun groups, verb groups, ...) and appends the found chunks to the stream.
-
-***
-
-## Required input
-
-Needs a stream with two string list properties:
-1. A list of tokens 
-2. A list of part-of-speech tags (the Part-of-Speech processing element can be used for that)
-
-***
-
-## Configuration
-
-Assign the tokens and the part of speech tags to the corresponding stream property.
-
-## Output
-
-**Example:**
-
-Input:
-```
-tokens: ["John", "is", "a", "Person"]
-tags: ["NNP", "VBZ", "DT", "NN"]
-```
-
-Output:
-```
-tokens: ["John", "is", "a", "Person"]
-tags: ["NNP", "VBZ", "DT", "NN"]
-chunks: ["John", "is", "a Person"]
-chunkType: ["NP", "VP", "NP"])
-```
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/documentation.md
deleted file mode 100644
index 2847f2a..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/documentation.md
+++ /dev/null
@@ -1,168 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.languagedetection
-title: Language Detection
-sidebar_label: Language Detection
-original_id: org.apache.streampipes.processors.textmining.jvm.languagedetection
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.languagedetection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects the language of incoming text. For a proper detection each text should contain at least 2 sentences.
-
-Supported languages:
-* Afrikaans (afr)
-* Arabic (ara)
-* Asturian (ast)
-* Azerbaijani (aze)
-* Bashkir (bak)
-* Belarusian (bel)
-* Bengali (ben)
-* Bosnian (bos)
-* Breton (bre)
-* Bulgarian (bul)
-* Catalan (cat)
-* Cebuano (ceb)
-* Czech (ces)
-* Chechen (che)
-* Mandarin Chinese (cmn)
-* Welsh (cym)
-* Danish (dan)
-* German (deu)
-* Standard Estonian (ekk)
-* Greek, Modern (ell)
-* English (eng)
-* Esperanto (epo)
-* Estonian (est)
-* Basque (eus)
-* Faroese (fao)
-* Persian (fas)
-* Finnish (fin)
-* French (fra)
-* Western Frisian (fry)
-* Irish (gle)
-* Galician (glg)
-* Swiss German (gsw)
-* Gujarati (guj)
-* Hebrew (heb)
-* Hindi (hin)
-* Croatian (hrv)
-* Hungarian (hun)
-* Armenian (hye)
-* Indonesian (ind)
-* Icelandic (isl)
-* Italian (ita)
-* Javanese (jav)
-* Japanese (jpn)
-* Kannada (kan)
-* Georgian (kat)
-* Kazakh (kaz)
-* Kirghiz (kir)
-* Korean (kor)
-* Latin (lat)
-* Latvian (lav)
-* Limburgan (lim)
-* Lithuanian (lit)
-* Luxembourgish (ltz)
-* Standard Latvian (lvs)
-* Malayalam (mal)
-* Marathi (mar)
-* Minangkabau (min)
-* Macedonian (mkd)
-* Maltese (mlt)
-* Mongolian (mon)
-* Maori (mri)
-* Malay (msa)
-* Min Nan Chinese (nan)
-* Low German (nds)
-* Nepali (nep)
-* Dutch (nld)
-* Norwegian Nynorsk (nno)
-* Norwegian Bokmål (nob)
-* Occitan (oci)
-* Panjabi (pan)
-* Iranian Persian (pes)
-* Plateau Malagasy (plt)
-* Western Panjabi (pnb)
-* Polish (pol)
-* Portuguese (por)
-* Pushto (pus)
-* Romanian (ron)
-* Russian (rus)
-* Sanskrit (san)
-* Sinhala (sin)
-* Slovak (slk)
-* Slovenian (slv)
-* Somali (som)
-* Spanish (spa)
-* Albanian (sqi)
-* Serbian (srp)
-* Sundanese (sun)
-* Swahili (swa)
-* Swedish (swe)
-* Tamil (tam)
-* Tatar (tat)
-* Telugu (tel)
-* Tajik (tgk)
-* Tagalog (tgl)
-* Thai (tha)
-* Turkish (tur)
-* Ukrainian (ukr)
-* Urdu (urd)
-* Uzbek (uzb)
-* Vietnamese (vie)
-* Volapük (vol)
-* Waray (war)
-* Zulu (zul)
-
-***
-
-## Required input
-
-A stream with a string property which contains a text.
-The longer the text, the higher the accuracy of the language detector.
-
-
-***
-
-## Configuration
-
-Simply assign the correct output of the previous stream to the language detector input.
-
-## Output
-
-Adds two fields to the event:
-1. String Property: The acronym of the detected language which can be seen above.
-2. Double Property: The confidence of the detector that it found the correct language. Between 0 (not certain at all) and 1 (very certain).
-
-
-**Example:**
-
-Input: `(text: "Hi, how are you?")`
-
-Output: `(text: "Hi, how are you?", language: "eng", confidenceLanguage: 0.89)`
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/documentation.md
deleted file mode 100644
index a30925f..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/documentation.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.namefinder
-title: Name Finder
-sidebar_label: Name Finder
-original_id: org.apache.streampipes.processors.textmining.jvm.namefinder
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.namefinder/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Loads a trained model which finds names like locations or organizations.
-
-A list of trained models can be found [here](http://opennlp.sourceforge.net/models-1.5/).\
-A guide on how to train a new model can be found [here](https://opennlp.apache.org/docs/1.9.1/manual/opennlp.html#tools.namefind.training).
-
-***
-
-## Required input
-
-A stream with a list of tokens from a text.
-
-***
-
-## Configuration
-
-Configure the Name finder so that the tokens are assigned to the "List of Tokens" property
-
-#### Model parameter
-
-The trained model which should be used to find the names.
-
-## Output
-
-Appends a string list property to the stream which contains all found names.
-
-**Example (with an loaded english person-name-model):**
-
-Input: `(tokens: ["Hi", "John", "Doe", "is", "here"])`
-
-Output: `(tokens: ["Hi", "John", "Doe", "is", "here"], foundNames: ["John Doe"])`
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/documentation.md
deleted file mode 100644
index b9cfd38..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/documentation.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.partofspeech
-title: Part of Speech (English)
-sidebar_label: Part of Speech (English)
-original_id: org.apache.streampipes.processors.textmining.jvm.partofspeech
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.partofspeech/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Takes in a stream of tokens and marks each token with a part-of-speech tag
-The list of used suffixes can be found [here](https://www.ling.upenn.edu/courses/Fall_2003/ling001/penn_treebank_pos.html)
-
-***
-
-## Required input
-
-A stream with a list property which contains the tokens.
-
-***
-
-## Configuration
-
-Simply assign the correct output of the previous stream to the part of speech detector input.
-
-## Output
-
-Appends two list properties to the stream:
-1. String list: The tag for each token
-2. Double list: The confidence for each tag that it is indeed the given tag (between 0 and 1)
-
-**Example:**
-
-Input: `(tokens: ["Hi", "Joe"])`
-
-Output: `(tokens: ["Hi", "Joe"], tags: ["UH", "NNP"], confidence: [0.82, 0.87])`
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/documentation.md
deleted file mode 100644
index 735af41..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/documentation.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.sentencedetection
-title: Sentence Detection (English)
-sidebar_label: Sentence Detection (English)
-original_id: org.apache.streampipes.processors.textmining.jvm.sentencedetection
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.sentencedetection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects sentences in a text and splits the text accordingly. Only works with english sentences.
-
-***
-
-## Required input
-
-A stream with a string property which contains a text.
-
-***
-
-## Configuration
-
-Simply assign the correct output of the previous stream to the tokenizer input.
-
-## Output
-
-Creates for each sentence in a text a new event in which it replaces the text with the sentence.
-
-**Example:**
-
-Input: `(text: "Hi, how are you? I am fine!")`
-
-Output: `(text: "Hi, how are you?")`, `(text: "I am fine!")`
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/documentation.md
deleted file mode 100644
index 564dbc7..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/documentation.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.tokenizer
-title: Tokenizer (English)
-sidebar_label: Tokenizer (English)
-original_id: org.apache.streampipes.processors.textmining.jvm.tokenizer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.tokenizer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Segments a given text into Tokens (usually words, numbers, punctuations, ...). Works best with english text.
-
-***
-
-## Required input
-
-A stream with a string property which contains a text.
-
-***
-
-## Configuration
-
-Simply assign the correct output of the previous stream to the tokenizer input.
-
-## Output
-
-Adds a list to the stream which contains all tokens of the corresponding text.
-
-**Example:**
-
-Input: `(text: "Hi, how are you?")`
-
-Output: `(text: "Hi, how are you?", tokens: ["Hi", ",", "how", "are", "you", "?"])`
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/documentation.md
deleted file mode 100644
index 6c663b0..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.field-converter
-title: Field Converter
-sidebar_label: Field Converter
-original_id: org.apache.streampipes.processors.transformation.flink.field-converter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-converter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Converts a string value to a number data type
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/documentation.md
deleted file mode 100644
index 866750e..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.field-mapper
-title: Field Mapper
-sidebar_label: Field Mapper
-original_id: org.apache.streampipes.processors.transformation.flink.field-mapper
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-mapper/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Replaces one or more field with a new field and computes a hash value of these fields
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/documentation.md
deleted file mode 100644
index 513c3d2..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.field-renamer
-title: Field Renamer
-sidebar_label: Field Renamer
-original_id: org.apache.streampipes.processors.transformation.flink.field-renamer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-renamer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Replaces the runtime name of an event property with a custom defined name. Useful for data ingestion purposes where a specific event schema is needed.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/documentation.md
deleted file mode 100644
index b08c3aa..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.fieldhasher
-title: Field Hasher
-sidebar_label: Field Hasher
-original_id: org.apache.streampipes.processors.transformation.flink.fieldhasher
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.fieldhasher/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-The Field Hasher uses an algorithm to encode values in a field. The Field Hasher can use MD5, SHA1 or SHA2 to hash field values.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md
deleted file mode 100644
index 6e48329..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.measurement-unit-converter
-title: Measurement Unit Converter
-sidebar_label: Measurement Unit Converter
-original_id: org.apache.streampipes.processors.transformation.flink.measurement-unit-converter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Converts a unit of measurement to another one
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md
deleted file mode 100644
index a5f562d..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.processor.boilerplate
-title: Boilerplate Removal
-sidebar_label: Boilerplate Removal
-original_id: org.apache.streampipes.processors.transformation.flink.processor.boilerplate
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Removes boilerplate and extract fulltext from HTML
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/documentation.md
deleted file mode 100644
index a46f78b..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/documentation.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.booloperator.counter
-title: Boolean Counter
-sidebar_label: Boolean Counter
-original_id: org.apache.streampipes.processors.transformation.jvm.booloperator.counter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor monitors a boolean value and counts how often the value of the boolean changes. 
-A user can configure whether the changes from FALSE to TRUE, TRUE to FALSE, or BOTH changes should be counted.
-
-***
-
-## Required input
-
-A boolean value is required in the data stream and can be selected with the field mapping.
-
-### Boolean Field
-
-The boolean value to be monitored.
-
-***
-
-## Configuration
-
-A user can configure whether the changes from TRUE to FALSE, FALSE to TRUE, or all changes of the boolean value should be counted.
-
-### Flank parameter
-
-Either:
-* TRUE -> FALSE: Increase counter on a true followed by a false 
-* FALSE -> TRUE: Increase counter on a false followed by a true
-* BOTH: Increas counter on each change of the boolean value on two consecutive events
-
-## Output
-
-Adds an additional numerical field with the current count value to the event. Events are just emitted when the counter changes.
-Runtime Name: countField
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/documentation.md
deleted file mode 100644
index 3d9110c..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/documentation.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.booloperator.inverter
-title: Boolean Inverter
-sidebar_label: Boolean Inverter
-original_id: org.apache.streampipes.processors.transformation.jvm.booloperator.inverter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor requires a boolean value in the data stream and inverts its value. (e.g. true -> flase)
-
-***
-
-## Required input
-
-### Boolean Field
-
-The boolean value to be inverted.
-
-***
-
-## Configuration
-No further configuration required
-
-## Output
-The output schema is the same as the input schema. Just the value of the property is changed.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/documentation.md
deleted file mode 100644
index bc5f36c..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/documentation.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping
-title: Measure Time Between Two Sensors
-sidebar_label: Measure Time Between Two Sensors
-original_id: org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor can be used to measure the time between two boolean sensors.
-For example on a conveyor, where one sensor is placed on the left and one senor placed on the right.
-Parts are transported on the conveyor and the sensors are boolean sensors detecting those parts. 
-The time is measured between the two sensors as well as the amount of complete transportation's is counted.  
-The measurement is initialized once the left sensor is true and stopped once the right sensor is true.
-There can also be multiple parts on the conveyor as long as the individual parts do not change.
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/time_measure_example.png" width="300px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Required input
-Requires two boolean fields in the datastream.
-
-### Left Field
-The left field starts the timer when value is true.
-
-### Right Field
-The right field stops the timer and emits the event when its value is true.
-
-***
-
-## Configuration
-No furhter configuration is required.
-
-## Output
-Appends two fields to the input event.
-
-### Timer Field
-The timer field is a numeric value representing the time between the two sensors. Runtime name: measured_time
-
-### Counter
-The counter indicated how many events where emitted by this component. Runtime name: counter
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/documentation.md
deleted file mode 100644
index a9c05e7..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/documentation.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.booloperator.timer
-title: Boolean Timer
-sidebar_label: Boolean Timer
-original_id: org.apache.streampipes.processors.transformation.jvm.booloperator.timer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor measures how long a boolean value does not change. Once the value is changes the event with the measured time is emitted.
-
-
-***
-
-## Required input
-
-A boolean value is required in the data stream.
-
-### Field
-
-The boolean field which is monitored for state changes.
-
-***
-
-## Configuration
-
-### Timer value
-Define whether it should be measured how long the value is true or how long the value is false.
-
-## Output
-Appends a field with the time how long the value did not change. Is emitted on the change of the boolean value. Runtime name: measured_time 
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/documentation.md
deleted file mode 100644
index 6b903af..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/documentation.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.changed-value
-title: Value Changed
-sidebar_label: Value Changed
-original_id: org.apache.streampipes.processors.transformation.jvm.changed-value
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.changed-value/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor sends out an event everytime a specific object changes. It also adds a timestamp in ms from the system time.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/documentation.md
deleted file mode 100644
index cd7c561..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/documentation.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.count-array
-title: Count Array
-sidebar_label: Count Array
-original_id: org.apache.streampipes.processors.transformation.jvm.count-array
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.count-array/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor takes a list field, computes the size of the list and appends the result to the event.
-
-***
-
-## Required input
-
-This processor works with any event that has a field of type ``list``.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### List Field
-
-The field containing the list that should be used.
-
-## Output
-
-Outputs the incoming event while appending the list size (named ``countValue``) to the incoming event.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/documentation.md
deleted file mode 100644
index a2e2943..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/documentation.md
+++ /dev/null
@@ -1,45 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.csvmetadata
-title: CSV Metadata Enricher
-sidebar_label: CSV Metadata Enricher
-original_id: org.apache.streampipes.processors.transformation.jvm.csvmetadata
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-
-***
-
-## Description
-
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/documentation.md
deleted file mode 100644
index 00e4564..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.duration-value
-title: Calculate Duration
-sidebar_label: Calculate Duration
-original_id: org.apache.streampipes.processors.transformation.jvm.duration-value
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.duration-value/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor calculates the duration for a given stream with a start timestamp and an end timestamp.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md
deleted file mode 100644
index 5132b60..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor
-title: Timestamp Extractor
-sidebar_label: Timestamp Extractor
-original_id: org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor extracts a timestamp into the individual time fields (e.g. day field, hour field, ....)
-
-***
-
-## Required input
-
-This processor requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-### Timestamp Field
-
-The field of the event containing the timestamp to parse.
-
-### Extract Fields
-
-Select the individual parts of the timestamp that should be extracted, e.g., Year, Minute and Day.
-
-## Output
-
-The output of this processor is a new event that contains the fields selected by the ``Extract Fields`` parameter.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/documentation.md
deleted file mode 100644
index 6a0d5e3..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/documentation.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.split-array
-title: Split Array
-sidebar_label: Split Array
-original_id: org.apache.streampipes.processors.transformation.jvm.split-array
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.split-array/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor takes an array of event properties and creates an event for each of them. Further property of the events can be added to each element
-Add a detailed description here
-
-***
-
-## Required input
-
-This processor works with any event that has a field of type ``list``.
-
-***
-
-## Configuration
-
-### Keep Fields
-
-Fields of the event that should be kept in each resulting event.
-
-### List field
-
-The name of the field that contains the list values that should be split.
-
-
-## Output
-
-This data processor produces an event with all fields selected by the ``Keep Fields`` parameter and all fields of the
- selected list field.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/documentation.md
deleted file mode 100644
index 9bb2ff1..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/documentation.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.taskduration
-title: Task Duration
-sidebar_label: Task Duration
-original_id: org.apache.streampipes.processors.transformation.jvm.taskduration
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-
-***
-
-## Description
-
-This processors computes the duration of a task, i.e., a field containing a task description. It outputs an event
- every time this task value changes and computes the duration between the first occurrence of this task and the
-  current event. For instance, you can use this event to calculate the time a specific process step requires.
-***
-
-## Required input
-
-A timestamp value is required and a field containing a task value.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-
-Emits an event that contains the process step, built from the names of the first task identifier and the identifier
- of the subsequent task. In addition, the duration is part of the output event, provided in milliseconds.
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/documentation.md
deleted file mode 100644
index fe08d3d..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/documentation.md
+++ /dev/null
@@ -1,36 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.transform-to-boolean
-title: Transform to boolean
-sidebar_label: Transform to boolean
-original_id: org.apache.streampipes.processors.transformation.jvm.transform-to-boolean
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor inverts a specific boolean
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/documentation.md
deleted file mode 100644
index 401fe35..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/documentation.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.bufferrest
-title: Buffered REST Publisher
-sidebar_label: Buffered REST Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.bufferrest
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.bufferrest/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Collects a given amount of events into a JSON array. Once this event count is reached
-the JSON array is posted to the given REST interface.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### REST URL
-
-The complete URL of the REST endpoint.
-
-### Buffer Size
-
-The amount of events before sending.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/documentation.md
deleted file mode 100644
index 61816d8..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/documentation.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.jms
-title: JMS Publisher
-sidebar_label: JMS Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.jms
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.jms/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes events to a message broker (e.g., ActiveMQ) using the Java Message Service (JMS) protocol.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### JMS Broker Settings
-
-The basic settings to connect to the broker. 
-The JMS broker URL indicates the URL of the broker (e.g., tcp://localhost), the port indicates the port of the broker
- (e.g., 61616)
-
-
-### JMS Topic
-
-The topic where events should be sent to.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/documentation.md
deleted file mode 100644
index 448b7c3..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/documentation.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.kafka
-title: Kafka Publisher
-sidebar_label: Kafka Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.kafka
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.kafka/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes events to Apache Kafka.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Kafka Broker Settings
-
-The basic settings to connect to the broker. 
-The Kafka broker URL indicates the URL of the broker (e.g., localhost), the port indicates the port of the broker
- (e.g., 9092)
-
-
-### Kafka Topic
-
-The topic where events should be sent to.
-
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/documentation.md
deleted file mode 100644
index fb97bbf..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/documentation.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.pulsar
-title: Pulsar Publisher
-sidebar_label: Pulsar Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.pulsar
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.pulsar/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes events to Apache Pulsar.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Pulsar Broker Hostname
-
-The hostname to connect to the broker. 
- 
-### Pulsar Broker Port
-
-The port to connect to the broker (e.g., 6650)
-
-
-### Pulsar Topic
-
-The topic where events should be sent to.
-
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md
deleted file mode 100644
index d718bdf..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md
+++ /dev/null
@@ -1,75 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.rabbitmq
-title: RabbitMQ Publisher
-sidebar_label: RabbitMQ Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.rabbitmq
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Forwards events to a RabbitMQ broker
-Add a detailed description here
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Host
-
-The hostname of the RabbitMQ broker.
-
-### Port
-
-The port of the RabbitMQ broker.
-
-### User
-
-The username used to connect to the RabbitMQ broker.
-
-### Password
-
-The password used to connect to the RabbitMQ broker.
-
-### Exchange Name
-
-The name of the exchange.
-
-### RabbitMQ Topic
-
-The topic where events should be sent to.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/documentation.md
deleted file mode 100644
index 981c7e5..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/documentation.md
+++ /dev/null
@@ -1,53 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.rest
-title: REST Publisher
-sidebar_label: REST Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.rest
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.rest/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Posts a JSON representation of an event to a REST interface.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### REST URL
-
-The complete URL of the REST endpoint.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/documentation.md
deleted file mode 100644
index e28df49..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/documentation.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.ditto
-title: Eclipse Ditto
-sidebar_label: Eclipse Ditto
-original_id: org.apache.streampipes.sinks.databases.ditto
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.ditto/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Forwards events to the Eclipse Ditto API.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Hostname
-
-The hostname of the CouchDB instance.
-
-### Port
-
-The port of the CouchDB instance.
-
-### Database Name
-
-The name of the database where events will be stored
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/documentation.md
deleted file mode 100644
index 5e29bbb..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/documentation.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.flink.elasticsearch
-title: Elasticsearch
-sidebar_label: Elasticsearch
-original_id: org.apache.streampipes.sinks.databases.flink.elasticsearch
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.flink.elasticsearch/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores data in an Elasticsearch database.
-
-***
-
-## Required input
-
-This sink requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Timestamp Field
-
-The field which contains the required timestamp.
-
-### Index Name
-
-The name of the Elasticsearch index where events are stored to.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/documentation.md
deleted file mode 100644
index 4e528a9..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/documentation.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.jvm.couchdb
-title: CouchDB
-sidebar_label: CouchDB
-original_id: org.apache.streampipes.sinks.databases.jvm.couchdb
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.couchdb/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in an Apache CouchDB database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Hostname
-
-The hostname of the CouchDB instance.
-
-### Port
-
-The port of the CouchDB instance.
-
-### Database Name
-
-The name of the database where events will be stored
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/documentation.md
deleted file mode 100644
index 98e27a5..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/documentation.md
+++ /dev/null
@@ -1,86 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.jvm.influxdb
-title: InfluxDB
-sidebar_label: InfluxDB
-original_id: org.apache.streampipes.sinks.databases.jvm.influxdb
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.influxdb/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in an InfluxDB.
-
-***
-
-## Required input
-
-This sink requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname/URL of the InfluxDB instance. (Include http(s)://).
-
-### Port
-
-The port of the InfluxDB instance.
-
-### Database Name
-
-The name of the database where events will be stored.
-
-### Measurement Name
-
-The name of the Measurement where events will be stored (will be created if it does not exist).
-
-### Username
-
-The username for the InfluxDB Server.
-
-### Password
-
-The password for the InfluxDB Server.
-
-### Timestamp Field
-
-The field which contains the required timestamp.
-
-### Buffer Size
-
-Indicates how many events are written into a buffer, before they are written to the database.
-
-### Maximum Flush
-
-The maximum waiting time for the buffer to fill the Buffer size before it will be written to the database in ms.
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/documentation.md
deleted file mode 100644
index f7c542d..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/documentation.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.jvm.iotdb
-title: IoTDB
-sidebar_label: IoTDB
-original_id: org.apache.streampipes.sinks.databases.jvm.iotdb
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.iotdb/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in a IoTDB database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname of the IoTDB instance.
-
-### Port
-
-The port of the IoTDB instance (default 6667).
-
-### Storage Group Name
-
-The name of the storage group where events will be stored (will be created if it does not exist).
-For each element of the stream a new time series will be created.
-
-### Username
-
-The username for the IoTDB Server.
-
-### Password
-
-The password for the IoTDB Server.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/documentation.md
deleted file mode 100644
index 20320e0..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/documentation.md
+++ /dev/null
@@ -1,73 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.jvm.opcua
-title: OPC-UA
-sidebar_label: OPC-UA
-original_id: org.apache.streampipes.sinks.databases.jvm.opcua
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.opcua/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in an Apache CouchDB database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Hostname
-
-The hostname of the OPC-UA server.
-
-### Port
-
-The port of the OPC-UA server.
-
-### Namespace Index
-
-The namespace index in which the node should be written
-
-### Node Id
-
-The node id of the resulting node
-
-### Number Mapping
-
-The property of the event that should be written to the OPC-UA server
-
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/documentation.md
deleted file mode 100644
index 56596e7..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/documentation.md
+++ /dev/null
@@ -1,74 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.jvm.postgresql
-title: PostgreSQL
-sidebar_label: PostgreSQL
-original_id: org.apache.streampipes.sinks.databases.jvm.postgresql
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.postgresql/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in a Postgres database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname of the PostgreSQL instance.
-
-### Port
-
-The port of the PostgreSQL instance (default 5432).
-
-### Database Name
-
-The name of the database where events will be stored
-
-### Table Name
-
-The name of the table where events will be stored (will be created if it does not exist)
-
-### Username
-
-The username for the PostgreSQL Server.
-
-### Password
-
-The password for the PostgreSQL Server.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/documentation.md
deleted file mode 100644
index 0ec51c1..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/documentation.md
+++ /dev/null
@@ -1,53 +0,0 @@
----
-id: org.apache.streampipes.sinks.internal.jvm.dashboard
-title: Dashboard Sink
-sidebar_label: Dashboard Sink
-original_id: org.apache.streampipes.sinks.internal.jvm.dashboard
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.internal.jvm.dashboard/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This sink visualizes data streams in the StreamPipes dashboard. 
-Visualizations can be configured in Live Dashboard of StreamPipes after the pipeline has been started.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-No further configuration necessary, individual visualizations can be configured in the Dashboard itself.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/documentation.md
deleted file mode 100644
index aeea4aa..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/documentation.md
+++ /dev/null
@@ -1,86 +0,0 @@
----
-id: org.apache.streampipes.sinks.internal.jvm.datalake
-title: Data Lake
-sidebar_label: Data Lake
-original_id: org.apache.streampipes.sinks.internal.jvm.datalake
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.internal.jvm.datalake/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in an InfluxDB.
-
-***
-
-## Required input
-
-This sink requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname/URL of the InfluxDB instance. (Include http(s)://).
-
-### Port
-
-The port of the InfluxDB instance.
-
-### Database Name
-
-The name of the database where events will be stored.
-
-### Measurement Name
-
-The name of the Measurement where events will be stored (will be created if it does not exist).
-
-### Username
-
-The username for the InfluxDB Server.
-
-### Password
-
-The password for the InfluxDB Server.
-
-### Timestamp Field
-
-The field which contains the required timestamp.
-
-### Buffer Size
-
-Indicates how many events are written into a buffer, before they are written to the database.
-
-### Maximum Flush
-
-The maximum waiting time for the buffer to fill the Buffer size before it will be written to the database in ms.
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/documentation.md
deleted file mode 100644
index 2ef1349..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/documentation.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: org.apache.streampipes.sinks.internal.jvm.notification
-title: Notification
-sidebar_label: Notification
-original_id: org.apache.streampipes.sinks.internal.jvm.notification
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.internal.jvm.notification/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Displays a notification in the UI panel of StreamPipes.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-This sink does not have any requirements and works with any incoming event type.
-
-### Notification Title
-
-The title of the notification.
-
-### Content
-
-The notification message.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/documentation.md
deleted file mode 100644
index 0d32b67..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/documentation.md
+++ /dev/null
@@ -1,68 +0,0 @@
----
-id: org.apache.streampipes.sinks.notifications.jvm.email
-title: Email Notification
-sidebar_label: Email Notification
-original_id: org.apache.streampipes.sinks.notifications.jvm.email
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.notifications.jvm.email/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This sink sends an email to a specified receiver.
-
-Before you use this sink, the settings of your email server need to be configured.
-After you've installed the element, navigate to ``Settings``, open the panel ``Sinks Notifications JVM`` and add your
- mail server and credentials.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-The following configuration is required:
-
-### Receiver Address
-
-The email address of the receiver.
-
-### Subject
-
-The subject of the email.
-
-### Content
-
-The mail text.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/documentation.md
deleted file mode 100644
index 6b3a5b5..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/documentation.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-id: org.apache.streampipes.sinks.notifications.jvm.onesignal
-title: OneSignal
-sidebar_label: OneSignal
-original_id: org.apache.streampipes.sinks.notifications.jvm.onesignal
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.notifications.jvm.onesignal/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This sink sends a push message to the OneSignal application
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### App Id
-
-The OneSignal application ID.
-
-### API Key
-
-The OneSignal API key.
-
-### Content
-
-The message that should be sent to OneSignal
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/documentation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/documentation.md
deleted file mode 100644
index 3af32a0..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/documentation.md
+++ /dev/null
@@ -1,69 +0,0 @@
----
-id: org.apache.streampipes.sinks.notifications.jvm.slack
-title: Slack Notification
-sidebar_label: Slack Notification
-original_id: org.apache.streampipes.sinks.notifications.jvm.slack
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.notifications.jvm.slack/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Slack bot to send notifications directly into your slack
-
-Before you use this sink, the Slack token needs to be configured.
-After you've installed the element, navigate to ``Settings``, open the panel ``Sinks Notifications JVM`` and add your
-Slack API token.
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Receiver
-
-The receiver of the Slack message.
-
-### Channel Type
-
-The channel type, should be "User" or "Channel"
-
-### Content
-
-The message that should be sent.
-
-### 2nd parameter
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk.md
deleted file mode 100644
index 7d5e9b8..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk.md
+++ /dev/null
@@ -1,45 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.coindesk
-title: Coindesk Bitcoin Price
-sidebar_label: Coindesk Bitcoin Price
-original_id: org.apache.streampipes.connect.adapters.coindesk
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.coindesk/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-This adapter continuously provides the current bitcoin price from the Coindesk API.
-
-## Configuration
-
-### Currency
-
-The current in which the price should be provided.
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt.md
deleted file mode 100644
index 0b80e47..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.gdelt
-title: GDELT
-sidebar_label: GDELT
-original_id: org.apache.streampipes.connect.adapters.gdelt
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.gdelt/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-This adapter provides news events from the GDELT API.
-
-## Configuration
-
-(no futher configuration required)
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news.md
deleted file mode 100644
index a0f6cae..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news.md
+++ /dev/null
@@ -1,49 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.iex.news
-title: IEX Cloud News
-sidebar_label: IEX Cloud News
-original_id: org.apache.streampipes.connect.adapters.iex.news
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.iex.news/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-This adapter provides news events from the IEXCloud news API. An API key from IEXCloud is required.
-Visit <a href='https://iexcloud.io'>IEX Cloud</a> for more info.
-
-***
-
-## Configuration
-
-
-### API Token
-A valid API token from the IEXCloud API.
-
-### Stock Symbol
-A stock symbol that should be monitored.
-
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks.md
deleted file mode 100644
index a3ea097..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks.md
+++ /dev/null
@@ -1,48 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.iex.stocks
-title: IEX Cloud Stock Quotes
-sidebar_label: IEX Cloud Stock Quotes
-original_id: org.apache.streampipes.connect.adapters.iex.stocks
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.iex.stocks/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-This adapter provides news events from the IEXCloud news API. An API key from IEXCloud is required.
-Visit <a href='https://iexcloud.io'>IEX Cloud</a> for more info.
-
-***
-
-## Configuration
-
-
-### API Token
-A valid API token from the IEXCloud API.
-
-### Stock Symbol
-A stock symbol that should be monitored.
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set.md
deleted file mode 100644
index f9c910c..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.image.set
-title: Image Upload (Set)
-sidebar_label: Image Upload (Set)
-original_id: org.apache.streampipes.connect.adapters.image.set
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.image.set/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Upload a zip file of images and create an event per image
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream.md
deleted file mode 100644
index 03d8f81..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.image.stream
-title: Image Upload (Stream)
-sidebar_label: Image Upload (Stream)
-original_id: org.apache.streampipes.connect.adapters.image.stream
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.image.stream/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Upload a zip file of images and create an event per image
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set.md
deleted file mode 100644
index 794109d..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.influxdb.set
-title: InfluxDB Set Adapter
-sidebar_label: InfluxDB Set Adapter
-original_id: org.apache.streampipes.connect.adapters.influxdb.set
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.influxdb.set/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Creates a data set for an InfluxDB measurement.
-
-***
-
-## Configuration
-
-
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md
deleted file mode 100644
index b10fb21..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.influxdb.stream
-title: InfluxDB Stream Adapter
-sidebar_label: InfluxDB Stream Adapter
-original_id: org.apache.streampipes.connect.adapters.influxdb.stream
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.influxdb.stream/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Creates a data stream for an InfluxDB measurement.
-
-***
-
-## Configuration
-
-
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss.md
deleted file mode 100644
index bf1fa5c..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.iss
-title: ISS Location
-sidebar_label: ISS Location
-original_id: org.apache.streampipes.connect.adapters.iss
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.iss/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Shows the live position of the International Space Station (ISS), updated every two seconds.
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set.md
deleted file mode 100644
index 4ccecc3..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.mysql.set
-title: MySQL Set Adapter
-sidebar_label: MySQL Set Adapter
-original_id: org.apache.streampipes.connect.adapters.mysql.set
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.mysql.set/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Creates a data set from an SQL table
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream.md
deleted file mode 100644
index 594d70d..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.mysql.stream
-title: MySql Stream Adapter
-sidebar_label: MySql Stream Adapter
-original_id: org.apache.streampipes.connect.adapters.mysql.stream
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.mysql.stream/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Creates a data stream for a SQL table
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md
deleted file mode 100644
index dca1594..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.netio.mqtt
-title: NETIO MQTT M2M
-sidebar_label: NETIO MQTT M2M
-original_id: org.apache.streampipes.connect.adapters.netio.mqtt
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.netio.mqtt/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Connect Robots running on ROS
-
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Ros Bridge
-
-Example: test-server.com (No protocol)
-
-### Port
-
-The port of the ROS instance.
-
-### Topic
-
-Example: /battery (Starts with /)
-
-
-## Output
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest.md
deleted file mode 100644
index 991ad62..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.netio.rest
-title: NETIO http JSON
-sidebar_label: NETIO http JSON
-original_id: org.apache.streampipes.connect.adapters.netio.rest
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.netio.rest/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Connect Robots running on ROS
-
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Ros Bridge
-
-Example: test-server.com (No protocol)
-
-### Port
-
-The port of the ROS instance.
-
-### Topic
-
-Example: /battery (Starts with /)
-
-
-## Output
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md
deleted file mode 100644
index 98d3341..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera
-title: NSW Traffic Cameras
-sidebar_label: NSW Traffic Cameras
-original_id: org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Traffic camera images produced by NSW Australia
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua.md
deleted file mode 100644
index 1d87660..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.opcua
-title: OPC UA
-sidebar_label: OPC UA
-original_id: org.apache.streampipes.connect.adapters.opcua
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.opcua/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Read values from an OPC-UA server
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md
deleted file mode 100644
index 9a94da1..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.plc4x.s7
-title: PLC4X S7
-sidebar_label: PLC4X S7
-original_id: org.apache.streampipes.connect.adapters.plc4x.s7
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.s7/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Shows the live position of the International Space Station (ISS), updated every two seconds.
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros.md
deleted file mode 100644
index 12e7a3d..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.ros
-title: ROS Bridge
-sidebar_label: ROS Bridge
-original_id: org.apache.streampipes.connect.adapters.ros
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.ros/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Connect Robots running on ROS
-
-
-***
-
-## Required input
-
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Ros Bridge
-
-Example: test-server.com (No protocol)
-
-### Port
-
-The port of the ROS instance.
-
-### Topic
-
-Example: /battery (Starts with /)
-
-
-## Output
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md
deleted file mode 100644
index 2480702..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.simulator.randomdataset
-title: Random Data Simulator (Set)
-sidebar_label: Random Data Simulator (Set)
-original_id: org.apache.streampipes.connect.adapters.simulator.randomdataset
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.simulator.randomdataset/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes a bounded stream of random events.
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md
deleted file mode 100644
index 1256408..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.simulator.randomdatastream
-title: Random Data Simulator (Stream)
-sidebar_label: Random Data Simulator (Stream)
-original_id: org.apache.streampipes.connect.adapters.simulator.randomdatastream
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.simulator.randomdatastream/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes a continuous stream of random events
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack.md
deleted file mode 100644
index e21951c..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.slack
-title: Slack
-sidebar_label: Slack
-original_id: org.apache.streampipes.connect.adapters.slack
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.slack/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Subscribes to a Slack channel
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti.md
deleted file mode 100644
index 1125220..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.ti
-title: TI Sensor Tag
-sidebar_label: TI Sensor Tag
-original_id: org.apache.streampipes.connect.adapters.ti
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.ti/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Consumes messages from a broker using the MQTT protocol
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Broker Url
-
-Example: tcp://test-server.com:1883 (Protocol required. Port required)"
-
-### Topic
-
-Example: test/topic
-
-### Access Mode
-
-Unauthenticated or Authenticated (Username/Password)
-
-## Output
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md
deleted file mode 100644
index 015004f..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.wikipedia.edit
-title: Wikipedia Edits
-sidebar_label: Wikipedia Edits
-original_id: org.apache.streampipes.connect.adapters.wikipedia.edit
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.wikipedia.edit/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Continuously publishes recent Wikipedia edits
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md
deleted file mode 100644
index f656f7e..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.wikipedia.new
-title: Wikipedia New Articles
-sidebar_label: Wikipedia New Articles
-original_id: org.apache.streampipes.connect.adapters.wikipedia.new
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.wikipedia.new/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Continuously publishes articles created on Wikipedia
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file.md
deleted file mode 100644
index 9db6eed..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: org.apache.streampipes.connect.protocol.stream.file
-title: File Stream
-sidebar_label: File Stream
-original_id: org.apache.streampipes.connect.protocol.stream.file
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.file/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Continuously streams the content from a file
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http.md
deleted file mode 100644
index ae603e9..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: org.apache.streampipes.connect.protocol.stream.http
-title: HTTP Stream
-sidebar_label: HTTP Stream
-original_id: org.apache.streampipes.connect.protocol.stream.http
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.http/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Continuously fetched events from an HTTP REST endpoint.
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka.md
deleted file mode 100644
index 9e81617..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: org.apache.streampipes.connect.protocol.stream.kafka
-title: Apache Kafka
-sidebar_label: Apache Kafka
-original_id: org.apache.streampipes.connect.protocol.stream.kafka
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.kafka/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Consumes messages from an Apache Kafka broker
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md
deleted file mode 100644
index 4a5f1da..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.connect.protocol.stream.mqtt
-title: MQTT
-sidebar_label: MQTT
-original_id: org.apache.streampipes.connect.protocol.stream.mqtt
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.mqtt/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Consumes messages from a broker using the MQTT protocol
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Broker Url
-
-Example: tcp://test-server.com:1883 (Protocol required. Port required)"
-
-### Access Mode
-
-Unauthenticated or Authenticated (Username/Password)
-
-## Output
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md
deleted file mode 100644
index 0796346..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: org.apache.streampipes.connect.protocol.stream.pulsar
-title: Apache Pulsar
-sidebar_label: Apache Pulsar
-original_id: org.apache.streampipes.connect.protocol.stream.pulsar
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.pulsar/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Consumes messages from an Apache Pulsar broker
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink.md
deleted file mode 100644
index 93e1e97..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.flink
-title: Spatial Grid Enrichment
-sidebar_label: Spatial Grid Enrichment
-original_id: org.apache.streampipes.processor.geo.flink
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.geo.flink/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Groups spatial events into cells of a given size.
-The result is like a chessboard pattern in which the geo coordinates are inserted. The user can define the coordinates of the first field.
-
-***
-
-## Required input
-Requires a latitude and longitude in the data stream.
-
-## Configuration
-
-* Latitude property
-* Longitude property
-* The size of the cell
-* Latitude and longitude of the first cell
-
-## Output
-Appends the grid cell coordinates to the input event
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md
deleted file mode 100644
index d2f83e4..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.jvm.geocoding
-title: Google Maps Geocoder
-sidebar_label: Google Maps Geocoder
-original_id: org.apache.streampipes.processor.geo.jvm.geocoding
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-</p>
-
-***
-
-## Description
-
-This processor computes the latitude and longitude values from a location (a place name such as "Karlsruhe, Germany
-") and adds the result to the event.
-
-***
-
-## Required input
-
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md
deleted file mode 100644
index 0df01ce..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.jvm.reversegeocoding
-title: Reverse Geocoder
-sidebar_label: Reverse Geocoder
-original_id: org.apache.streampipes.processor.geo.jvm.reversegeocoding
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-</p>
-
-***
-
-## Description
-
-This processor computes place name based on given lat/lng coordinates that are transmitted as fields from an event.
-
-This processor automatically downloads the file cities1000.zip from Geonames (http://download.geonames.org/export/dump/cities1000.zip). This file is provided under the CC BY 4.0 license, see https://creativecommons.org/licenses/by/4.0/ for license details.
-
-***
-
-## Required input
-
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md
deleted file mode 100644
index 050f362..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.jvm.staticgeocoding
-title: Static Google Maps Geocoder
-sidebar_label: Static Google Maps Geocoder
-original_id: org.apache.streampipes.processor.geo.jvm.staticgeocoding
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-</p>
-
-***
-
-## Description
-
-This processor computes the latitude and longitude values from a fixed location (a place name such as "Karlsruhe
-, Germany
-") and adds the result to the event.
-
-***
-
-## Required input
-
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md
deleted file mode 100644
index 04b3b87..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification
-title: Generic Image Classification
-sidebar_label: Generic Image Classification
-original_id: org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Image  + Classification Description (Generic Model)
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md
deleted file mode 100644
index c4f9657..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
-id: org.apache.streampipes.processor.imageclassification.jvm.image-cropper
-title: Image Cropper
-sidebar_label: Image Cropper
-original_id: org.apache.streampipes.processor.imageclassification.jvm.image-cropper
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.imageclassification.jvm.image-cropper/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Image Enrichment: Crops an  + image based on  + given bounding box coordinates
-
-***
-
-## Required input
-An image and an array with bounding boxes.
-A box consists of the x and y coordinates in the image as well as the height and width 
-
-## Output
-A new event for each box containing the cropped image
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md
deleted file mode 100644
index 180a1c1..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-id: org.apache.streampipes.processor.imageclassification.jvm.image-enricher
-title: Image Enricher
-sidebar_label: Image Enricher
-original_id: org.apache.streampipes.processor.imageclassification.jvm.image-enricher
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Image Enrichment: Enriches an  + image with  + given bounding box coordinates
-
-## Required input
-An image and an array with bounding boxes.
-A box consists of the x and y coordinates in the image as well as the height and width 
-
-## Output
-A new event containing the image with bounding boxes rendered according to the boxes of the input event 
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode.md
deleted file mode 100644
index 6865caa..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processor.imageclassification.qrcode
-title: QR Code Reader
-sidebar_label: QR Code Reader
-original_id: org.apache.streampipes.processor.imageclassification.qrcode
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.imageclassification.qrcode/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-QR Code Reader: Detects a QR Code in an image
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md
deleted file mode 100644
index 4976da9..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.aggregation
-title: Aggregation
-sidebar_label: Aggregation
-original_id: org.apache.streampipes.processors.aggregation.flink.aggregation
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.aggregation/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs different aggregation functions based on a sliding time window (e.g., average, sum, min, max)
-
-***
-
-## Required input
-
-The aggregation processor requires a data stream that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Group by
-The aaggregation function can be calculated separately (partitioned) by the selected field value. 
-
-### Output every
-The frequency in which aggregated values are sent in seconds.
-
-### Time window
-The size of the time window in seconds
-
-### Aggregated Value
-The field used for calculating the aggregation value.
-
-## Output
-
-This processor appends the latest aggregated value to every input event that arrives.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count.md
deleted file mode 100644
index d4a87ec..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.count
-title: Count Aggregation
-sidebar_label: Count Aggregation
-original_id: org.apache.streampipes.processors.aggregation.flink.count
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.count/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs an aggregation based on a given field and outputs the number of occurrences.
-Example: Count the number of vehicle positions per vehicleId.
-The Count aggregation requires a time window, used to perform the count aggregation and a field used to aggregate
- values.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md
deleted file mode 100644
index c9dc8c7..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.eventcount
-title: Event Counter
-sidebar_label: Event Counter
-original_id: org.apache.streampipes.processors.aggregation.flink.eventcount
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-
-
-***
-
-## Description
-
-Counts the number of events arriving within a time window. An event is emitted every time the time window expires.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Time Window: The scale and size of the time window.
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate.md
deleted file mode 100644
index f012002..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.rate
-title: Event Rate
-sidebar_label: Event Rate
-original_id: org.apache.streampipes.processors.aggregation.flink.rate
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.rate/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Computes the current event rate. Output is a number representing events per second.
-
-***
-
-## Required input
-
-The event rate processor works with any stream and does not have any specific requirements.
-
-***
-
-## Configuration
-
-### Time Baseline
-Time window size used for calculating the rate in seconds, also defines the output rate
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md
deleted file mode 100644
index e619125..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.flink.processor.math.mathop
-title: Math
-sidebar_label: Math
-original_id: org.apache.streampipes.processors.enricher.flink.processor.math.mathop
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs calculations on event properties (+, -, *, /, %).
-
-***
-
-## Required input
-The math processor works with any event that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Left operand
-The field from the input event that should be used as the left operand.
-
-### Right operand
-The field from the input event that should be used as the right operand.
-
-### Operation
-The math operation that should be performed.
-
-## Output
-The processor appends the calculation result to each input event.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md
deleted file mode 100644
index 0f044c5..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop
-title: Static Math
-sidebar_label: Static Math
-original_id: org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs calculation on an event property with a static value (+, -, *, /, %).
-
-***
-
-## Required input
-The math processor works with any event that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Left operand
-The field from the input event that should be used as the left operand.
-
-### Right operand value
-Specify the value of the right operand.
-
-### Operation
-The math operation that should be performed.
-
-## Output
-The processor appends the calculation result to each input event.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md
deleted file mode 100644
index 2fac83e..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.flink.processor.trigonometry
-title: Trigonometry Functions
-sidebar_label: Trigonometry Functions
-original_id: org.apache.streampipes.processors.enricher.flink.processor.trigonometry
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs Trigonometric functions (sin, cos, tan) on event properties.
-
-***
-
-## Required input
-The trigonometry processor works with any event that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Alpha
-The field that should be used for calculating the trigonometric function.
-
-
-### Operation
-The trigonometric function that should be calculated.
-
-## Output
-The processor appends the calculation result to each input event.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md
deleted file mode 100644
index 01fed70..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.flink.processor.urldereferencing
-title: URL Dereferencing
-sidebar_label: URL Dereferencing
-original_id: org.apache.streampipes.processors.enricher.flink.processor.urldereferencing
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Parses and appends the html page as a string to event.
-
-***
-
-## Required input
-The URL Dereferencing processor requires an input stream that provides an input field of type 'string', representing 
-the URL to dereference.
-
-***
-
-## Configuration
-
-### URL
-The field containing the URL to dereference.
-
-## Output
-The processor appends the extracted HTML page to each input event.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md
deleted file mode 100644
index 6dd6bfc..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md
+++ /dev/null
@@ -1,49 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.flink.timestamp
-title: Timestamp Enricher
-sidebar_label: Timestamp Enricher
-original_id: org.apache.streampipes.processors.enricher.flink.timestamp
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.timestamp/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Appends the current time in ms to the event payload.
-
-***
-
-## Required input
-The timestamp enricher works with any input event.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-This processor appends the current system time to every input event.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md
deleted file mode 100644
index 520018f..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md
+++ /dev/null
@@ -1,50 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.jvm.sizemeasure
-title: Size Measure
-sidebar_label: Size Measure
-original_id: org.apache.streampipes.processors.enricher.jvm.sizemeasure
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.jvm.sizemeasure/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Measures the size of an incoming event and appends this number to the event by serializing it.
-
-***
-
-## Required input
-The size measure processor does not have any specific input requirements.
-
-***
-
-## Configuration
-
-You can specify if the size should be in Bytes, Kilobytes (1024 Bytes) or in Megabytes (1024 Kilobytes).
-
-## Output
-The size measure processor appends the size of the event (without the field, which is getting added) as a double. The rest of the event stays the same.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose.md
deleted file mode 100644
index c02b529..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.compose
-title: Compose
-sidebar_label: Compose
-original_id: org.apache.streampipes.processors.filters.jvm.compose
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.compose/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Merges two event streams. Any time, a new input event arrives, it is merged with the last input event from the other 
-event stream and forwarded.
-
-***
-
-## Required input
-The Compose processor does not have any specific input requirements.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-The compose processor has a configurable output that can be selected by the user at pipeline modeling time.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich.md
deleted file mode 100644
index a119dc1..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich.md
+++ /dev/null
@@ -1,48 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.enrich
-title: Merge By Enrich
-sidebar_label: Merge By Enrich
-original_id: org.apache.streampipes.processors.filters.jvm.enrich
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.enrich/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Merges two data streams by enriching one of the streams with the properties of the other stream. The output frequency is the same as the frequency of the stream which is enriched.
-***
-
-## Required input
-None
-***
-
-## Configuration
-
-* Select the stream which should be enriched with the properties of the other stream.
-  * The last event of the stream is hold in state and each event of the other stream is enriched by the properties the user selected
-
-## Output
-The compose processor has a configurable output that can be selected by the user at pipeline modeling time.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge.md
deleted file mode 100644
index 8c71ff4..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.merge
-title: Merge By Time
-sidebar_label: Merge By Time
-original_id: org.apache.streampipes.processors.filters.jvm.merge
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.merge/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Merges two event streams by their timestamp.
-Two events of the different streams are merged when they occure to the same time
-
-The following figure shows how the events of the two data streams will be mergrged:
-
-<p align="center"> 
-    <img width="300px;" src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.merge/merge_description.png" class="pe-image-documentation"/>
-</p>
-***
-
-## Required input
-Each of the data streams needs a timestamp.
-***
-
-## Configuration
-
-* For each stream a the timestamp property on which the merger is performed has to be selected
-* The Time Interval describes the maximum value between two events to decide whether they are a match. To be a valid match the following function must be true: | timestamp_stream_1 - timestamp_stream_2 | < interval
-
-## Output
-The compose processor has a configurable output that can be selected by the user at pipeline modeling time.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md
deleted file mode 100644
index 82b4c5b..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.numericalfilter
-title: Numerical Filter
-sidebar_label: Numerical Filter
-original_id: org.apache.streampipes.processors.filters.jvm.numericalfilter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.numericalfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-The Numerical Filter processor filters numerical values based on a given threshold.
-
-***
-
-## Required input
-The processor works with any input event that has one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Field
-Specifies the field name where the filter operation should be applied on.
-
-
-### Operation
-Specifies the filter operation that should be applied on the field.
-
-### Threshold value
-Specifies the threshold value.
-
-## Output
-The processor outputs the input event if it satisfies the filter expression.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md
deleted file mode 100644
index f002872..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md
+++ /dev/null
@@ -1,68 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.numericaltextfilter
-title: Numerical Text Filter
-sidebar_label: Numerical Text Filter
-original_id: org.apache.streampipes.processors.filters.jvm.numericaltextfilter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-
-***
-
-## Description
-The Numerical Text Filter processor filters numerical values based on a given threshold and text values 
-based on a given string. It only forwards events in case both criteria are satisfied.
-
-***
-
-## Required input
-The processor works with any input event that has one field containing a numerical value and one field 
-containing a text.
-
-***
-
-## Configuration
-
-### Number Field
-Specifies the field name where the filter operation should be applied on.
-
-### Number Operation
-Specifies the filter operation that should be applied on the field.
-
-### Number Threshold
-Specifies the threshold value.
-
-### Text Field
-The field containing the text that should be filtered.
-
-### Text Operation
-The operation used by the filter processor (equals or matches).
-
-### Text Keyword
-Specifies the keyword to filter the text field.
-
-## Output
-The processor outputs the input event if it satisfies the filter expression.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project.md
deleted file mode 100644
index ca2c056..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project.md
+++ /dev/null
@@ -1,49 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.project
-title: Projection
-sidebar_label: Projection
-original_id: org.apache.streampipes.processors.filters.jvm.project
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.project/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Outputs a selectable subset of an input event type.
-
-***
-
-## Required input
-The project processor works with any input event stream.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-The output depends on the fields selected at pipeline development time.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md
deleted file mode 100644
index c6e5fa9..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.textfilter
-title: Text Filter
-sidebar_label: Text Filter
-original_id: org.apache.streampipes.processors.filters.jvm.textfilter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.textfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-The Text Filter processor filters text values based on a given string.
-
-***
-
-## Required input
-The processor works with any input event that has one field containing a text.
-
-***
-
-## Configuration
-
-### Text Field
-The field containing the text that should be filtered.
-
-
-### Operation
-The operation used by the filter processor (equals or matches)
-
-## Output
-The processor outputs the input event if it satisfies the filter expression.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold.md
deleted file mode 100644
index a9055c8..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.threshold
-title: Threshold Detector
-sidebar_label: Threshold Detector
-original_id: org.apache.streampipes.processors.filters.jvm.threshold
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.threshold/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-The Threshold Detector processor appends a boolean whether the condition is fulfilled or not
-
-***
-
-## Required input
-The processor works with any input event that has one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Field
-Specifies the field name where the filter operation should be applied on.
-
-
-### Operation
-Specifies the filter operation that should be applied on the field.
-
-### Threshold value
-Specifies the threshold value.
-
-## Output
-Appends a boolean with the value whether the condition is fulfilled or not.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md
deleted file mode 100644
index 7317682..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md
+++ /dev/null
@@ -1,74 +0,0 @@
----
-id: org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo
-title: Creates JTS Point
-sidebar_label: Creates JTS Point
-original_id: org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center">
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor creates a  JTS Point geometry from  latitude and longitude value.
-
-***
-
-## Required input
-
-*  Ontology Vocabulary Latitude
-*  Ontology Vocabulary Longitude
-*  Integer value representing EPSG Code
-
-
-***
-
-## Configuration
-
-Creates a JTS Geometry Point from Longitude (x) and Latitude (y) values in the coordinate reference system represented by the EPSG code.
-An empty point geometry is created if latitude or longitude value is missing in the event (e.g. null value) or values are out of range. Allowed values for Longitude are between -180.00 and 180.00; Latitude values between -90.00 and 90.00.
-
-### 1st parameter
-Latitude value
-
-### 2nd parameter
-Longitude value
-
-### 3rd parameter
-EPSG code value
-
-***
-
-## Output
-
-Adds a point geometry in the Well Known Text notation and in Longitude (x)  Latitude (y) axis order to the stream.
-
-### Example
-* Input stream: <br/>
-  `{latitude=48.5622, longitude=-76.3501, EPSG=4326}`
-
-* Output Stream <br/>
-  `{latitude=48.5622, longitude=-76.3501, EPSG=4326, geom_wkt=POINT (-76.3501 48.5622)}`
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md
deleted file mode 100644
index 5a61d27..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-id: org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG
-title: EPSG Code
-sidebar_label: EPSG Code
-original_id: org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center">
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-
-***
-
-## Description
-
-This processor adds ab integer value to the stream. This integer value represents
-an [EPSG Code](https://en.wikipedia.org/wiki/EPSG_Geodetic_Parameter_Dataset) as an Spatial Reference System Identifier [(SRID)](https://en.wikipedia.org/wiki/Spatial_reference_system#Identifier).
-
-
-***
-
-## Required input
-
-None
-
-***
-
-## Configuration
-
-Integer values, representing a spatial reference system [(SRS)](https://en.wikipedia.org/wiki/Spatial_reference_system#Identifier).  Other possible values can be looked up under https://spatialreference.org/ref/epsg/.
-
-### Parameter
-
-4- to 5-digit key integer number. Default value is 4326 representing the World Geodetic System [(WGS84)](https://en.wikipedia.org/wiki/World_Geodetic_System#WGS84).
-
-***
-## Output
-
-Adds a number to the event.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md
deleted file mode 100644
index 8f02564..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md
+++ /dev/null
@@ -1,84 +0,0 @@
----
-id: org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory
-title: Single Trajectory Creator
-sidebar_label: Single Trajectory Creator
-original_id: org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center">
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor creates a JTS LineString geometry from  JTS Points events, represent a trajectory. A trajectory is defined  as the path that a moving object follows through space as a function of time. Each sub-point of this LineString represents a single event. The latest sub-point represents the latest geo-event. For each Point event it is also possible to store an additional m-value representing for example actually speed, distance, duration or direction of this event. A trajectory consists of at least two sub-point and can't be infinitive, so a threshold of maximum allowed sub-points is required. When the sub-point threshold is exceeded, the oldest point is removed from the LineString.
-***
-
-## Required input
-
-*  WKT String of a JTS Point Geometry
-*  Integer value representing EPSG code
-*  Number value for M-value
-
-
-***
-
-## Configuration
-
-Creates a JTS Geometry LineString from a JTS Point Geometries events representing a trajectory.
-
-
-### 1st parameter
-Point WKT String
-
-### 2nd parameter
-EPSG code value
-
-### 3rd parameter
-M-value for each sub-point of the trajectory
-
-### 4rd parameter
-String for a description text for the trajectory
-
-### 5rd parameter
-Number of allowed sub-points
-
-***
-
-## Output
-
-Adds a LineString geometry in the Well Known Text to the event, representing a trajectory. Also the description text is added to the event stream. The first existing event creates an empty LineString.
-
-### Example
-Creating a LineString with a threshold of 2 allowed sub-points:
-
-* First Event:
-  * Point(8.12 41.23) --> LineString (empty)
-* Second Event:
-  * Point(8.56 41.25) --> LineString(8.12 41.23, 8.56 41.25)
-* Second Event:
-  * Point(8.84 40.98) --> LineString(8.56 41.25, 8.84 40.98)
-
-M-value is not represented in the LineString but will be stored for internal use!
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md
deleted file mode 100644
index b0e76f1..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.geo.jvm.processor.distancecalculator
-title: Distance Calculator
-sidebar_label: Distance Calculator
-original_id: org.apache.streampipes.processors.geo.jvm.processor.distancecalculator
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Calculates the distance between two latitude/longitude pairs in a single event.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md
deleted file mode 100644
index fd5cfe8..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: org.apache.streampipes.processors.geo.jvm.processor.speed
-title: Speed Calculator
-sidebar_label: Speed Calculator
-original_id: org.apache.streampipes.processors.geo.jvm.processor.speed
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-***
-
-## Description
-
-Calculates the speed (in km/h) based on latitude/longitude values in a data stream. Therefore it uses the GPS and timestamps values of consecutive events. 
-It calculates the distance between two points (events) and how much time has passed. Based on those values the speed is calculated.
-
-***
-
-## Required input
-
-Requires a data stream that provides latitude and longitude values as well as a timestamp.
-
-***
-
-## Configuration
-
-### Timestamp field
-
-### Latitude field
-
-### Longitude field
-
-### Count window
-Describes the number of stored events, used for the calculation. 
-E.g. a value of 5 means that thhe current event and the event (t-5) are used for the speed calculation.
-
-## Output
-Appends the calculated speed in km/h.
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md
deleted file mode 100644
index fdf1408..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator
-title: Static Distance Calculator
-sidebar_label: Static Distance Calculator
-original_id: org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-***
-
-## Description
-
-Calculates the distance (in km) between a fixed location (e.g., a place) and a latitude/longitude pair of an input
- event.
-
-***
-
-## Required input
-
-Requires a data stream that provides latitude and longitude values.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md
deleted file mode 100644
index 2717859..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.pattern-detection.flink.absence
-title: Absence
-sidebar_label: Absence
-original_id: org.apache.streampipes.processors.pattern-detection.flink.absence
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.absence/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects whether an event does not arrive within a specified time after the occurrence of another event.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md
deleted file mode 100644
index 4886783..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.pattern-detection.flink.and
-title: And
-sidebar_label: And
-original_id: org.apache.streampipes.processors.pattern-detection.flink.and
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.and/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects whether an event co-occurs with another event within a given time.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md
deleted file mode 100644
index 9bf3f3c..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.pattern-detection.flink.peak-detection
-title: Peak Detection
-sidebar_label: Peak Detection
-original_id: org.apache.streampipes.processors.pattern-detection.flink.peak-detection
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detect peaks in time series data
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md
deleted file mode 100644
index c98b46f..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.pattern-detection.flink.sequence
-title: Sequence
-sidebar_label: Sequence
-original_id: org.apache.streampipes.processors.pattern-detection.flink.sequence
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.sequence/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects a sequence of events in the following form: Event A followed by Event B within X seconds. In addition, both streams can be matched by a common property value (e.g., a.machineId = b.machineId)
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency.md
deleted file mode 100644
index 7d0ecf2..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.frequency
-title: Frequency Calculation
-sidebar_label: Frequency Calculation
-original_id: org.apache.streampipes.processors.siddhi.frequency
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.frequency/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Calculates the frequency of the event stream.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange.md
deleted file mode 100644
index dd2bd42..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.frequencychange
-title: Frequency Change
-sidebar_label: Frequency Change
-original_id: org.apache.streampipes.processors.siddhi.frequencychange
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.frequencychange/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects when the frequency of the event stream changes
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase.md
deleted file mode 100644
index 0b3ef35..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.increase
-title: Trend
-sidebar_label: Trend
-original_id: org.apache.streampipes.processors.siddhi.increase
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.increase/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects the increase of a numerical field over a customizable time window. Example: A temperature value increases by 10 percent within 5 minutes.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md
deleted file mode 100644
index 3c4ad39..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.numericalfilter
-title: Numerical Filter (Siddhi)
-sidebar_label: Numerical Filter (Siddhi)
-original_id: org.apache.streampipes.processors.siddhi.numericalfilter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.numericalfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence.md
deleted file mode 100644
index 994baf5..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence.md
+++ /dev/null
@@ -1,36 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.sequence
-title: Sequence Detection
-sidebar_label: Sequence Detection
-original_id: org.apache.streampipes.processors.siddhi.sequence
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.sequence/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Merges events from two event streams, when the top event arrives first and then the bottom event
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop.md
deleted file mode 100644
index 5028a9b..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.stop
-title: Stream Stop Detection
-sidebar_label: Stream Stop Detection
-original_id: org.apache.streampipes.processors.siddhi.stop
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.stop/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Triggers an event when the input data stream stops sending events
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md
deleted file mode 100644
index d989db1..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
-id: org.apache.streampipes.processors.statistics.flink.statistics-summary
-title: Statistics Summary
-sidebar_label: Statistics Summary
-original_id: org.apache.streampipes.processors.statistics.flink.statistics-summary
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.statistics.flink.statistics-summary/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Calculate simple descriptive summary statistics for each selected list property.
-
-The statistics contain:
-* Minimum
-* Maximum
-* Sum
-* Standard Deviation
-* Variance
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md
deleted file mode 100644
index 7c2367f..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.flink.languagedetection
-title: Language Detection
-sidebar_label: Language Detection
-original_id: org.apache.streampipes.processors.textmining.flink.languagedetection
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.flink.languagedetection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects the language of a written text.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md
deleted file mode 100644
index 53d3333..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.flink.wordcount
-title: Word Count
-sidebar_label: Word Count
-original_id: org.apache.streampipes.processors.textmining.flink.wordcount
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.flink.wordcount/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Counts words on continuous text-based streams
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md
deleted file mode 100644
index a1ef4e5..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md
+++ /dev/null
@@ -1,70 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.chunker
-title: Chunker (English)
-sidebar_label: Chunker (English)
-original_id: org.apache.streampipes.processors.textmining.jvm.chunker
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.chunker/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Segments given tokens into chunks (e.g. noun groups, verb groups, ...) and appends the found chunks to the stream.
-
-***
-
-## Required input
-
-Needs a stream with two string list properties:
-1. A list of tokens 
-2. A list of part-of-speech tags (the Part-of-Speech processing element can be used for that)
-
-***
-
-## Configuration
-
-Assign the tokens and the part of speech tags to the corresponding stream property.
-To use this component you have to download or train an openNLP model:
-https://opennlp.apache.org/models.html
-
-## Output
-
-**Example:**
-
-Input:
-```
-tokens: ["John", "is", "a", "Person"]
-tags: ["NNP", "VBZ", "DT", "NN"]
-```
-
-Output:
-```
-tokens: ["John", "is", "a", "Person"]
-tags: ["NNP", "VBZ", "DT", "NN"]
-chunks: ["John", "is", "a Person"]
-chunkType: ["NP", "VP", "NP"])
-```
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md
deleted file mode 100644
index 0d05118..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md
+++ /dev/null
@@ -1,170 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.languagedetection
-title: Language Detection
-sidebar_label: Language Detection
-original_id: org.apache.streampipes.processors.textmining.jvm.languagedetection
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.languagedetection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects the language of incoming text. For a proper detection each text should contain at least 2 sentences.
-
-Supported languages:
-* Afrikaans (afr)
-* Arabic (ara)
-* Asturian (ast)
-* Azerbaijani (aze)
-* Bashkir (bak)
-* Belarusian (bel)
-* Bengali (ben)
-* Bosnian (bos)
-* Breton (bre)
-* Bulgarian (bul)
-* Catalan (cat)
-* Cebuano (ceb)
-* Czech (ces)
-* Chechen (che)
-* Mandarin Chinese (cmn)
-* Welsh (cym)
-* Danish (dan)
-* German (deu)
-* Standard Estonian (ekk)
-* Greek, Modern (ell)
-* English (eng)
-* Esperanto (epo)
-* Estonian (est)
-* Basque (eus)
-* Faroese (fao)
-* Persian (fas)
-* Finnish (fin)
-* French (fra)
-* Western Frisian (fry)
-* Irish (gle)
-* Galician (glg)
-* Swiss German (gsw)
-* Gujarati (guj)
-* Hebrew (heb)
-* Hindi (hin)
-* Croatian (hrv)
-* Hungarian (hun)
-* Armenian (hye)
-* Indonesian (ind)
-* Icelandic (isl)
-* Italian (ita)
-* Javanese (jav)
-* Japanese (jpn)
-* Kannada (kan)
-* Georgian (kat)
-* Kazakh (kaz)
-* Kirghiz (kir)
-* Korean (kor)
-* Latin (lat)
-* Latvian (lav)
-* Limburgan (lim)
-* Lithuanian (lit)
-* Luxembourgish (ltz)
-* Standard Latvian (lvs)
-* Malayalam (mal)
-* Marathi (mar)
-* Minangkabau (min)
-* Macedonian (mkd)
-* Maltese (mlt)
-* Mongolian (mon)
-* Maori (mri)
-* Malay (msa)
-* Min Nan Chinese (nan)
-* Low German (nds)
-* Nepali (nep)
-* Dutch (nld)
-* Norwegian Nynorsk (nno)
-* Norwegian Bokmål (nob)
-* Occitan (oci)
-* Panjabi (pan)
-* Iranian Persian (pes)
-* Plateau Malagasy (plt)
-* Western Panjabi (pnb)
-* Polish (pol)
-* Portuguese (por)
-* Pushto (pus)
-* Romanian (ron)
-* Russian (rus)
-* Sanskrit (san)
-* Sinhala (sin)
-* Slovak (slk)
-* Slovenian (slv)
-* Somali (som)
-* Spanish (spa)
-* Albanian (sqi)
-* Serbian (srp)
-* Sundanese (sun)
-* Swahili (swa)
-* Swedish (swe)
-* Tamil (tam)
-* Tatar (tat)
-* Telugu (tel)
-* Tajik (tgk)
-* Tagalog (tgl)
-* Thai (tha)
-* Turkish (tur)
-* Ukrainian (ukr)
-* Urdu (urd)
-* Uzbek (uzb)
-* Vietnamese (vie)
-* Volapük (vol)
-* Waray (war)
-* Zulu (zul)
-
-***
-
-## Required input
-
-A stream with a string property which contains a text.
-The longer the text, the higher the accuracy of the language detector.
-
-
-***
-
-## Configuration
-
-Simply assign the correct output of the previous stream to the language detector input.
-To use this component you have to download or train an openNLP model:
-https://opennlp.apache.org/models.html
-
-## Output
-
-Adds two fields to the event:
-1. String Property: The acronym of the detected language which can be seen above.
-2. Double Property: The confidence of the detector that it found the correct language. Between 0 (not certain at all) and 1 (very certain).
-
-
-**Example:**
-
-Input: `(text: "Hi, how are you?")`
-
-Output: `(text: "Hi, how are you?", language: "eng", confidenceLanguage: 0.89)`
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md
deleted file mode 100644
index f538d7f..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md
+++ /dev/null
@@ -1,66 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.namefinder
-title: Name Finder
-sidebar_label: Name Finder
-original_id: org.apache.streampipes.processors.textmining.jvm.namefinder
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.namefinder/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Loads a trained model which finds names like locations or organizations.
-
-A list of trained models can be found here: http://opennlp.sourceforge.net/models-1.5/.\
-A guide on how to train a new model can be found here: https://opennlp.apache.org/docs/1.9.1/manual/opennlp.html#tools.namefind.training.
-
-***
-
-## Required input
-
-A stream with a list of tokens from a text.
-
-***
-
-## Configuration
-
-Configure the Name finder so that the tokens are assigned to the "List of Tokens" property
-
-
-#### Model parameter
-
-The trained model which should be used to find the names.
-
-## Output
-
-Appends a string list property to the stream which contains all found names.
-
-**Example (with an loaded english person-name-model):**
-
-Input: `(tokens: ["Hi", "John", "Doe", "is", "here"])`
-
-Output: `(tokens: ["Hi", "John", "Doe", "is", "here"], foundNames: ["John Doe"])`
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md
deleted file mode 100644
index f71ba21..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md
+++ /dev/null
@@ -1,63 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.partofspeech
-title: Part of Speech (English)
-sidebar_label: Part of Speech (English)
-original_id: org.apache.streampipes.processors.textmining.jvm.partofspeech
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.partofspeech/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Takes in a stream of tokens and marks each token with a part-of-speech tag
-The list of used suffixes can be found [here](https://www.ling.upenn.edu/courses/Fall_2003/ling001/penn_treebank_pos.html)
-
-***
-
-## Required input
-
-A stream with a list property which contains the tokens.
-
-***
-
-## Configuration
-
-Simply assign the correct output of the previous stream to the part of speech detector input.
-To use this component you have to download or train an openNLP model:
-https://opennlp.apache.org/models.html
-
-## Output
-
-Appends two list properties to the stream:
-1. String list: The tag for each token
-2. Double list: The confidence for each tag that it is indeed the given tag (between 0 and 1)
-
-**Example:**
-
-Input: `(tokens: ["Hi", "Joe"])`
-
-Output: `(tokens: ["Hi", "Joe"], tags: ["UH", "NNP"], confidence: [0.82, 0.87])`
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md
deleted file mode 100644
index a5ca7aa..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.sentencedetection
-title: Sentence Detection (English)
-sidebar_label: Sentence Detection (English)
-original_id: org.apache.streampipes.processors.textmining.jvm.sentencedetection
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.sentencedetection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects sentences in a text and splits the text accordingly. Only works with english sentences.
-
-***
-
-## Required input
-
-A stream with a string property which contains a text.
-
-***
-
-## Configuration
-
-Simply assign the correct output of the previous stream to the tokenizer input.
-To use this component you have to download or train an openNLP model:
-https://opennlp.apache.org/models.html
-
-## Output
-
-Creates for each sentence in a text a new event in which it replaces the text with the sentence.
-
-**Example:**
-
-Input: `(text: "Hi, how are you? I am fine!")`
-
-Output: `(text: "Hi, how are you?")`, `(text: "I am fine!")`
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md
deleted file mode 100644
index c7891e35..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.tokenizer
-title: Tokenizer (English)
-sidebar_label: Tokenizer (English)
-original_id: org.apache.streampipes.processors.textmining.jvm.tokenizer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.tokenizer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Segments a given text into Tokens (usually words, numbers, punctuations, ...). Works best with english text.
-
-***
-
-## Required input
-
-A stream with a string property which contains a text.
-
-***
-
-## Configuration
-
-Simply assign the correct output of the previous stream to the tokenizer input.
-To use this component you have to download or train an openNLP model:
-https://opennlp.apache.org/models.html
-
-## Output
-
-Adds a list to the stream which contains all tokens of the corresponding text.
-
-**Example:**
-
-Input: `(text: "Hi, how are you?")`
-
-Output: `(text: "Hi, how are you?", tokens: ["Hi", ",", "how", "are", "you", "?"])`
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md
deleted file mode 100644
index 6c663b0..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.field-converter
-title: Field Converter
-sidebar_label: Field Converter
-original_id: org.apache.streampipes.processors.transformation.flink.field-converter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-converter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Converts a string value to a number data type
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md
deleted file mode 100644
index 47f5174..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md
+++ /dev/null
@@ -1,70 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.field-mapper
-title: Field Mapper
-sidebar_label: Field Mapper
-original_id: org.apache.streampipes.processors.transformation.flink.field-mapper
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-mapper/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Replaces one or more fields with a new field and computes a hash value of these fields
-
-***
-
-## Configuration
-
-* Fields: Fields that will be mapped into a property
-* Name of the new field
-
-***
-
-## Example
-Merge two fields into a hash value
-### Input  event
-```
-{
-  "timestamp":1586380104915,
-  "mass_flow":4.3167,
-  "temperature":40.05,
-  "sensorId":"flowrate01"
-}
-```
-
-### Configuration
-* Fields: mass_flow, temperature
-* Name of new field: demo
-
-### Output event 
-```
-{
-  "timestamp":1586380104915,
-  "sensorId":"flowrate01"
-  "demo":"8ae11f5c83610104408d485b73120832",
-}
-```
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md
deleted file mode 100644
index 513c3d2..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.field-renamer
-title: Field Renamer
-sidebar_label: Field Renamer
-original_id: org.apache.streampipes.processors.transformation.flink.field-renamer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-renamer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Replaces the runtime name of an event property with a custom defined name. Useful for data ingestion purposes where a specific event schema is needed.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md
deleted file mode 100644
index 80bb10f..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.fieldhasher
-title: Field Hasher
-sidebar_label: Field Hasher
-original_id: org.apache.streampipes.processors.transformation.flink.fieldhasher
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.fieldhasher/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-The Field Hasher uses an algorithm to encode values in a field. The Field Hasher can use MD5, SHA1 or SHA2 to hash field values.
-Add a detailed description here
-
-***
-
-## Required input
-Any field of type string
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md
deleted file mode 100644
index 6e48329..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.measurement-unit-converter
-title: Measurement Unit Converter
-sidebar_label: Measurement Unit Converter
-original_id: org.apache.streampipes.processors.transformation.flink.measurement-unit-converter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Converts a unit of measurement to another one
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md
deleted file mode 100644
index 998c90c..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md
+++ /dev/null
@@ -1,50 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.processor.boilerplate
-title: Boilerplate Removal
-sidebar_label: Boilerplate Removal
-original_id: org.apache.streampipes.processors.transformation.flink.processor.boilerplate
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Removes boilerplate tags from HTML and extracts fulltext
-
-***
-
-## Required input
-Requires a Text field containing the HTML
-
-***
-
-## Configuration
-
-Select the extractor type and output mode
-
-## Output
-Appends a new text field containing the content of the html page without the boilerplate
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md
deleted file mode 100644
index a46f78b..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.booloperator.counter
-title: Boolean Counter
-sidebar_label: Boolean Counter
-original_id: org.apache.streampipes.processors.transformation.jvm.booloperator.counter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor monitors a boolean value and counts how often the value of the boolean changes. 
-A user can configure whether the changes from FALSE to TRUE, TRUE to FALSE, or BOTH changes should be counted.
-
-***
-
-## Required input
-
-A boolean value is required in the data stream and can be selected with the field mapping.
-
-### Boolean Field
-
-The boolean value to be monitored.
-
-***
-
-## Configuration
-
-A user can configure whether the changes from TRUE to FALSE, FALSE to TRUE, or all changes of the boolean value should be counted.
-
-### Flank parameter
-
-Either:
-* TRUE -> FALSE: Increase counter on a true followed by a false 
-* FALSE -> TRUE: Increase counter on a false followed by a true
-* BOTH: Increas counter on each change of the boolean value on two consecutive events
-
-## Output
-
-Adds an additional numerical field with the current count value to the event. Events are just emitted when the counter changes.
-Runtime Name: countField
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md
deleted file mode 100644
index 3d9110c..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.booloperator.inverter
-title: Boolean Inverter
-sidebar_label: Boolean Inverter
-original_id: org.apache.streampipes.processors.transformation.jvm.booloperator.inverter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor requires a boolean value in the data stream and inverts its value. (e.g. true -> flase)
-
-***
-
-## Required input
-
-### Boolean Field
-
-The boolean value to be inverted.
-
-***
-
-## Configuration
-No further configuration required
-
-## Output
-The output schema is the same as the input schema. Just the value of the property is changed.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md
deleted file mode 100644
index bc5f36c..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping
-title: Measure Time Between Two Sensors
-sidebar_label: Measure Time Between Two Sensors
-original_id: org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor can be used to measure the time between two boolean sensors.
-For example on a conveyor, where one sensor is placed on the left and one senor placed on the right.
-Parts are transported on the conveyor and the sensors are boolean sensors detecting those parts. 
-The time is measured between the two sensors as well as the amount of complete transportation's is counted.  
-The measurement is initialized once the left sensor is true and stopped once the right sensor is true.
-There can also be multiple parts on the conveyor as long as the individual parts do not change.
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/time_measure_example.png" width="300px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Required input
-Requires two boolean fields in the datastream.
-
-### Left Field
-The left field starts the timer when value is true.
-
-### Right Field
-The right field stops the timer and emits the event when its value is true.
-
-***
-
-## Configuration
-No furhter configuration is required.
-
-## Output
-Appends two fields to the input event.
-
-### Timer Field
-The timer field is a numeric value representing the time between the two sensors. Runtime name: measured_time
-
-### Counter
-The counter indicated how many events where emitted by this component. Runtime name: counter
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md
deleted file mode 100644
index a9c05e7..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.booloperator.timer
-title: Boolean Timer
-sidebar_label: Boolean Timer
-original_id: org.apache.streampipes.processors.transformation.jvm.booloperator.timer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor measures how long a boolean value does not change. Once the value is changes the event with the measured time is emitted.
-
-
-***
-
-## Required input
-
-A boolean value is required in the data stream.
-
-### Field
-
-The boolean field which is monitored for state changes.
-
-***
-
-## Configuration
-
-### Timer value
-Define whether it should be measured how long the value is true or how long the value is false.
-
-## Output
-Appends a field with the time how long the value did not change. Is emitted on the change of the boolean value. Runtime name: measured_time 
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md
deleted file mode 100644
index 925452b..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.changed-value
-title: Value Changed
-sidebar_label: Value Changed
-original_id: org.apache.streampipes.processors.transformation.jvm.changed-value
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.changed-value/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor sends out an event everytime a specific object changes. It also adds a timestamp in ms from the system time.
-
-***
-
-## Configuration
-Select property to monitor for changes
-
-Describe the configuration parameters here
-
-## Output
-Emit an event on change and append a timestamp when the change occured
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md
deleted file mode 100644
index cd7c561..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.count-array
-title: Count Array
-sidebar_label: Count Array
-original_id: org.apache.streampipes.processors.transformation.jvm.count-array
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.count-array/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor takes a list field, computes the size of the list and appends the result to the event.
-
-***
-
-## Required input
-
-This processor works with any event that has a field of type ``list``.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### List Field
-
-The field containing the list that should be used.
-
-## Output
-
-Outputs the incoming event while appending the list size (named ``countValue``) to the incoming event.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md
deleted file mode 100644
index 258acf9..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md
+++ /dev/null
@@ -1,77 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.csvmetadata
-title: CSV Metadata Enricher
-sidebar_label: CSV Metadata Enricher
-original_id: org.apache.streampipes.processors.transformation.jvm.csvmetadata
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-Enrich a datastream with information provided in a CSV file.
-The data of the CSV file is matched by an id column with a property value of a String in the data stream.
-
-***
-
-## Description
-Upload a CSV file with static meta information that will be appended to each event.
-The file can contain different information for different keys in the stream.
-
-
-### Structure of CSV file
-The first row containes the runtime names for the properties to insert.
-Once the file is uploaded the user can select which column to use for the matching property and which values should be appended.
-Delimiter: ';'
-
-
-***
-
-## Example
-Add the location of a production line to the event
-
-### Input  event
-```
-{
-  'line_id': 'line1', 
-  'timestamp': 1586378041
-}
-```
-
-### CSV File
-```
-production_line;location
-line1;germany
-line2;uk
-line3;usa
-```
-
-### Configuration
-* The field that is used for the lookup (Example: line_id)
-* The CSV file (Example: Upload the csv file)
-* Field to match (Example: production_line)
-* Fields to append (Example: location)
-
-### Output event 
-```
-{
-  'line_id': 'line1', 
-  'timestamp': 1586378041, 
-  'location': 'germany'
-}
-```
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md
deleted file mode 100644
index 3ed23c2..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.duration-value
-title: Calculate Duration
-sidebar_label: Calculate Duration
-original_id: org.apache.streampipes.processors.transformation.jvm.duration-value
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.duration-value/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor calculates the duration for a given stream with a start timestamp and an end timestamp.
-
-***
-
-## Required input
-Two timestamp fields
-
-***
-
-## Configuration
-
-* Start Timestamp: The first timestamp (t1)
-* End Timestamp: The second timestamp (t2)
-* Time Unit of the result
-
-## Output
-Appends a new field with the difference of t2 and t1
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md
deleted file mode 100644
index 5132b60..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor
-title: Timestamp Extractor
-sidebar_label: Timestamp Extractor
-original_id: org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor extracts a timestamp into the individual time fields (e.g. day field, hour field, ....)
-
-***
-
-## Required input
-
-This processor requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-### Timestamp Field
-
-The field of the event containing the timestamp to parse.
-
-### Extract Fields
-
-Select the individual parts of the timestamp that should be extracted, e.g., Year, Minute and Day.
-
-## Output
-
-The output of this processor is a new event that contains the fields selected by the ``Extract Fields`` parameter.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md
deleted file mode 100644
index 6a0d5e3..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.split-array
-title: Split Array
-sidebar_label: Split Array
-original_id: org.apache.streampipes.processors.transformation.jvm.split-array
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.split-array/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor takes an array of event properties and creates an event for each of them. Further property of the events can be added to each element
-Add a detailed description here
-
-***
-
-## Required input
-
-This processor works with any event that has a field of type ``list``.
-
-***
-
-## Configuration
-
-### Keep Fields
-
-Fields of the event that should be kept in each resulting event.
-
-### List field
-
-The name of the field that contains the list values that should be split.
-
-
-## Output
-
-This data processor produces an event with all fields selected by the ``Keep Fields`` parameter and all fields of the
- selected list field.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md
deleted file mode 100644
index f9d674d..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.stringoperator.counter
-title: String Counter
-sidebar_label: String Counter
-original_id: org.apache.streampipes.processors.transformation.jvm.stringoperator.counter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor monitors a string field and counts how often the value of the string changes. Hereby, a change is characterized by 
-the value of the field before and the value after the change, combined forming a pair. The processor keeps track of the counter for each pair. 
-
-***
-
-## Required input
-
-A string field is required in the data stream and can be selected with the field mapping.
-
-### String Field
-
-The string field to be monitored.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-The following three fields are appended to the event:
-* [counter] numerical field with the current count value for the given value pair
-* [change_from] the value of the string before the change
-* [change_to] the value of the string after the change 
-
-The event is emitted whenever the value of the string field changes.
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md
deleted file mode 100644
index c4eaf92..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.stringoperator.timer
-title: String Timer
-sidebar_label: String Timer
-original_id: org.apache.streampipes.processors.transformation.jvm.stringoperator.timer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor measures how long a value of a string field does not change. Once the value is changes the event with the measured time and the corresponding string value is emitted.
-
-
-***
-
-## Required input
-
-A string field is required in the data stream.
-
-### Field
-
-The string field which is monitored for any value changes.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-The following two fields are appended to the event:
-* [measured_time] the measured time for the string value to not change
-* [field_value] the corresponding string value 
-
-The event is emitted whenever the value of the string field changes.
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md
deleted file mode 100644
index 9bb2ff1..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.taskduration
-title: Task Duration
-sidebar_label: Task Duration
-original_id: org.apache.streampipes.processors.transformation.jvm.taskduration
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-
-***
-
-## Description
-
-This processors computes the duration of a task, i.e., a field containing a task description. It outputs an event
- every time this task value changes and computes the duration between the first occurrence of this task and the
-  current event. For instance, you can use this event to calculate the time a specific process step requires.
-***
-
-## Required input
-
-A timestamp value is required and a field containing a task value.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-
-Emits an event that contains the process step, built from the names of the first task identifier and the identifier
- of the subsequent task. In addition, the duration is part of the output event, provided in milliseconds.
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md
deleted file mode 100644
index 0028a92..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.transform-to-boolean
-title: Transform to boolean
-sidebar_label: Transform to boolean
-original_id: org.apache.streampipes.processors.transformation.jvm.transform-to-boolean
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-This processors transforms numbers and strings to boolean values.
-
-
-***
-
-## Required input
-A string with the values "true", "True", "false", "False" or a number with value 1.0, 1, 0, or 0.0
-
-***
-
-## Configuration
-
-Select fields that should be converted to boolean.
-
-## Output
-Selected properties of input events are transformed to booleans.
-When the value is not valid an error message is logged and the event is discarde.
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.protocol.set.file.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.protocol.set.file.md
deleted file mode 100644
index 37adf4d..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.protocol.set.file.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: org.apache.streampipes.protocol.set.file
-title: File Set
-sidebar_label: File Set
-original_id: org.apache.streampipes.protocol.set.file
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.protocol.set.file/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Reads the content from a local file.
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.protocol.set.http.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.protocol.set.http.md
deleted file mode 100644
index 8f316fe..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.protocol.set.http.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: org.apache.streampipes.protocol.set.http
-title: HTTP Set
-sidebar_label: HTTP Set
-original_id: org.apache.streampipes.protocol.set.http
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.protocol.set.http/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Regularly poll an HTTP endpoint
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md
deleted file mode 100644
index 401fe35..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.bufferrest
-title: Buffered REST Publisher
-sidebar_label: Buffered REST Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.bufferrest
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.bufferrest/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Collects a given amount of events into a JSON array. Once this event count is reached
-the JSON array is posted to the given REST interface.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### REST URL
-
-The complete URL of the REST endpoint.
-
-### Buffer Size
-
-The amount of events before sending.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md
deleted file mode 100644
index 61816d8..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.jms
-title: JMS Publisher
-sidebar_label: JMS Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.jms
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.jms/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes events to a message broker (e.g., ActiveMQ) using the Java Message Service (JMS) protocol.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### JMS Broker Settings
-
-The basic settings to connect to the broker. 
-The JMS broker URL indicates the URL of the broker (e.g., tcp://localhost), the port indicates the port of the broker
- (e.g., 61616)
-
-
-### JMS Topic
-
-The topic where events should be sent to.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md
deleted file mode 100644
index 448b7c3..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.kafka
-title: Kafka Publisher
-sidebar_label: Kafka Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.kafka
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.kafka/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes events to Apache Kafka.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Kafka Broker Settings
-
-The basic settings to connect to the broker. 
-The Kafka broker URL indicates the URL of the broker (e.g., localhost), the port indicates the port of the broker
- (e.g., 9092)
-
-
-### Kafka Topic
-
-The topic where events should be sent to.
-
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md
deleted file mode 100644
index f4214ed..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.mqtt
-title: MQTT Publisher
-sidebar_label: MQTT Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.mqtt
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.mqtt/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes events to MQTT.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### MQTT Broker Settings
-
-The basic settings to connect to the broker. 
-The MQTT broker URL indicates the URL of the broker (e.g., localhost), the port indicates the port of the broker
-(e.g., 9092)
-
-
-### MQTT Topic
-
-The topic where events should be sent to.
-
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md
deleted file mode 100644
index fb97bbf..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.pulsar
-title: Pulsar Publisher
-sidebar_label: Pulsar Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.pulsar
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.pulsar/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes events to Apache Pulsar.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Pulsar Broker Hostname
-
-The hostname to connect to the broker. 
- 
-### Pulsar Broker Port
-
-The port to connect to the broker (e.g., 6650)
-
-
-### Pulsar Topic
-
-The topic where events should be sent to.
-
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md
deleted file mode 100644
index d718bdf..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md
+++ /dev/null
@@ -1,75 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.rabbitmq
-title: RabbitMQ Publisher
-sidebar_label: RabbitMQ Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.rabbitmq
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Forwards events to a RabbitMQ broker
-Add a detailed description here
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Host
-
-The hostname of the RabbitMQ broker.
-
-### Port
-
-The port of the RabbitMQ broker.
-
-### User
-
-The username used to connect to the RabbitMQ broker.
-
-### Password
-
-The password used to connect to the RabbitMQ broker.
-
-### Exchange Name
-
-The name of the exchange.
-
-### RabbitMQ Topic
-
-The topic where events should be sent to.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md
deleted file mode 100644
index 981c7e5..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md
+++ /dev/null
@@ -1,53 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.rest
-title: REST Publisher
-sidebar_label: REST Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.rest
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.rest/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Posts a JSON representation of an event to a REST interface.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### REST URL
-
-The complete URL of the REST endpoint.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto.md
deleted file mode 100644
index 9f902b0..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.ditto
-title: Eclipse Ditto
-sidebar_label: Eclipse Ditto
-original_id: org.apache.streampipes.sinks.databases.ditto
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.ditto/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Forwards events to the Eclipse Ditto API.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-(tbd)
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md
deleted file mode 100644
index 5e29bbb..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.flink.elasticsearch
-title: Elasticsearch
-sidebar_label: Elasticsearch
-original_id: org.apache.streampipes.sinks.databases.flink.elasticsearch
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.flink.elasticsearch/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores data in an Elasticsearch database.
-
-***
-
-## Required input
-
-This sink requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Timestamp Field
-
-The field which contains the required timestamp.
-
-### Index Name
-
-The name of the Elasticsearch index where events are stored to.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md
deleted file mode 100644
index 4e528a9..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.jvm.couchdb
-title: CouchDB
-sidebar_label: CouchDB
-original_id: org.apache.streampipes.sinks.databases.jvm.couchdb
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.couchdb/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in an Apache CouchDB database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Hostname
-
-The hostname of the CouchDB instance.
-
-### Port
-
-The port of the CouchDB instance.
-
-### Database Name
-
-The name of the database where events will be stored
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md
deleted file mode 100644
index 98e27a5..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md
+++ /dev/null
@@ -1,86 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.jvm.influxdb
-title: InfluxDB
-sidebar_label: InfluxDB
-original_id: org.apache.streampipes.sinks.databases.jvm.influxdb
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.influxdb/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in an InfluxDB.
-
-***
-
-## Required input
-
-This sink requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname/URL of the InfluxDB instance. (Include http(s)://).
-
-### Port
-
-The port of the InfluxDB instance.
-
-### Database Name
-
-The name of the database where events will be stored.
-
-### Measurement Name
-
-The name of the Measurement where events will be stored (will be created if it does not exist).
-
-### Username
-
-The username for the InfluxDB Server.
-
-### Password
-
-The password for the InfluxDB Server.
-
-### Timestamp Field
-
-The field which contains the required timestamp.
-
-### Buffer Size
-
-Indicates how many events are written into a buffer, before they are written to the database.
-
-### Maximum Flush
-
-The maximum waiting time for the buffer to fill the Buffer size before it will be written to the database in ms.
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md
deleted file mode 100644
index f7c542d..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.jvm.iotdb
-title: IoTDB
-sidebar_label: IoTDB
-original_id: org.apache.streampipes.sinks.databases.jvm.iotdb
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.iotdb/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in a IoTDB database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname of the IoTDB instance.
-
-### Port
-
-The port of the IoTDB instance (default 6667).
-
-### Storage Group Name
-
-The name of the storage group where events will be stored (will be created if it does not exist).
-For each element of the stream a new time series will be created.
-
-### Username
-
-The username for the IoTDB Server.
-
-### Password
-
-The password for the IoTDB Server.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md
deleted file mode 100644
index 20320e0..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md
+++ /dev/null
@@ -1,73 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.jvm.opcua
-title: OPC-UA
-sidebar_label: OPC-UA
-original_id: org.apache.streampipes.sinks.databases.jvm.opcua
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.opcua/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in an Apache CouchDB database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Hostname
-
-The hostname of the OPC-UA server.
-
-### Port
-
-The port of the OPC-UA server.
-
-### Namespace Index
-
-The namespace index in which the node should be written
-
-### Node Id
-
-The node id of the resulting node
-
-### Number Mapping
-
-The property of the event that should be written to the OPC-UA server
-
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md
deleted file mode 100644
index 56596e7..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md
+++ /dev/null
@@ -1,74 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.jvm.postgresql
-title: PostgreSQL
-sidebar_label: PostgreSQL
-original_id: org.apache.streampipes.sinks.databases.jvm.postgresql
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.postgresql/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in a Postgres database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname of the PostgreSQL instance.
-
-### Port
-
-The port of the PostgreSQL instance (default 5432).
-
-### Database Name
-
-The name of the database where events will be stored
-
-### Table Name
-
-The name of the table where events will be stored (will be created if it does not exist)
-
-### Username
-
-The username for the PostgreSQL Server.
-
-### Password
-
-The password for the PostgreSQL Server.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md
deleted file mode 100644
index 0ec51c1..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md
+++ /dev/null
@@ -1,53 +0,0 @@
----
-id: org.apache.streampipes.sinks.internal.jvm.dashboard
-title: Dashboard Sink
-sidebar_label: Dashboard Sink
-original_id: org.apache.streampipes.sinks.internal.jvm.dashboard
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.internal.jvm.dashboard/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This sink visualizes data streams in the StreamPipes dashboard. 
-Visualizations can be configured in Live Dashboard of StreamPipes after the pipeline has been started.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-No further configuration necessary, individual visualizations can be configured in the Dashboard itself.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md
deleted file mode 100644
index aeea4aa..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md
+++ /dev/null
@@ -1,86 +0,0 @@
----
-id: org.apache.streampipes.sinks.internal.jvm.datalake
-title: Data Lake
-sidebar_label: Data Lake
-original_id: org.apache.streampipes.sinks.internal.jvm.datalake
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.internal.jvm.datalake/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in an InfluxDB.
-
-***
-
-## Required input
-
-This sink requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname/URL of the InfluxDB instance. (Include http(s)://).
-
-### Port
-
-The port of the InfluxDB instance.
-
-### Database Name
-
-The name of the database where events will be stored.
-
-### Measurement Name
-
-The name of the Measurement where events will be stored (will be created if it does not exist).
-
-### Username
-
-The username for the InfluxDB Server.
-
-### Password
-
-The password for the InfluxDB Server.
-
-### Timestamp Field
-
-The field which contains the required timestamp.
-
-### Buffer Size
-
-Indicates how many events are written into a buffer, before they are written to the database.
-
-### Maximum Flush
-
-The maximum waiting time for the buffer to fill the Buffer size before it will be written to the database in ms.
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification.md
deleted file mode 100644
index 2ef1349..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: org.apache.streampipes.sinks.internal.jvm.notification
-title: Notification
-sidebar_label: Notification
-original_id: org.apache.streampipes.sinks.internal.jvm.notification
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.internal.jvm.notification/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Displays a notification in the UI panel of StreamPipes.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-This sink does not have any requirements and works with any incoming event type.
-
-### Notification Title
-
-The title of the notification.
-
-### Content
-
-The notification message.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email.md
deleted file mode 100644
index 0d32b67..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email.md
+++ /dev/null
@@ -1,68 +0,0 @@
----
-id: org.apache.streampipes.sinks.notifications.jvm.email
-title: Email Notification
-sidebar_label: Email Notification
-original_id: org.apache.streampipes.sinks.notifications.jvm.email
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.notifications.jvm.email/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This sink sends an email to a specified receiver.
-
-Before you use this sink, the settings of your email server need to be configured.
-After you've installed the element, navigate to ``Settings``, open the panel ``Sinks Notifications JVM`` and add your
- mail server and credentials.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-The following configuration is required:
-
-### Receiver Address
-
-The email address of the receiver.
-
-### Subject
-
-The subject of the email.
-
-### Content
-
-The mail text.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md
deleted file mode 100644
index 6b3a5b5..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-id: org.apache.streampipes.sinks.notifications.jvm.onesignal
-title: OneSignal
-sidebar_label: OneSignal
-original_id: org.apache.streampipes.sinks.notifications.jvm.onesignal
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.notifications.jvm.onesignal/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This sink sends a push message to the OneSignal application
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### App Id
-
-The OneSignal application ID.
-
-### API Key
-
-The OneSignal API key.
-
-### Content
-
-The message that should be sent to OneSignal
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md
deleted file mode 100644
index 3af32a0..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md
+++ /dev/null
@@ -1,69 +0,0 @@
----
-id: org.apache.streampipes.sinks.notifications.jvm.slack
-title: Slack Notification
-sidebar_label: Slack Notification
-original_id: org.apache.streampipes.sinks.notifications.jvm.slack
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.notifications.jvm.slack/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Slack bot to send notifications directly into your slack
-
-Before you use this sink, the Slack token needs to be configured.
-After you've installed the element, navigate to ``Settings``, open the panel ``Sinks Notifications JVM`` and add your
-Slack API token.
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Receiver
-
-The receiver of the Slack message.
-
-### Channel Type
-
-The channel type, should be "User" or "Channel"
-
-### Content
-
-The message that should be sent.
-
-### 2nd parameter
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/user-guide-first-steps.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/user-guide-first-steps.md
deleted file mode 100644
index 8b2f7ca..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/user-guide-first-steps.md
+++ /dev/null
@@ -1,215 +0,0 @@
----
-id: user-guide-first-steps
-title: First steps
-sidebar_label: First steps
-original_id: user-guide-first-steps
----
-
-In this section, you'll learn how to create and run pipelines in StreamPipes.
-Before starting with this guide, all steps from the installation guide must be finished successfully and StreamPipes must be up and running.
-
-This guide consists of three steps:
-First, you'll learn how to create your first pipeline using the interactive tutorial.
-Afterwards, this section contains two examples on how to create pipelines based on the built-in data simulator.
- 
-## Interactive Tutorial
-The easiest way to get started with StreamPipes is the interactive tutorial. Once you open the pipeline editor for the first time, you'll see a splash screen as shown below.
-Click **Start tour** to start the interactive tutorial, which will guide you through your first steps with StreamPipes.
- 
-![Interactive Tutorial](/img/quickstart/interactive-tutorial.png)  
-
-If the splash screen does not show up, make sure you've installed the following pipeline elements:
-* Flow rate (data stream)
-* Numerical Filter (processing element)
-* Dashboard (data sink)
-
-After you've finished this very first tour, try the following tours to learn more about other features of StreamPipes:
-* Open the Live Dashboard and start the dashboard tour (by clicking the school icon in the top menu bar) to learn how to create real-time visualizations
-* Open StreamPipes Connect and start the tour to learn how to connect new data sources with StreamPipes.
- 
-## First Examples
-
-In this tutorial, you will create two simple pipelines that demonstrate the basic functionality of StreamPipes.
-The first example deals with monitoring a flow rate sensor.
-This pipeline ensures that everything works properly and data is sent through the whole system.
-In the second example we model a more complex situation detection pipeline that triggers a notification.
-Let's start with our first pipeline.
-If you have problems with any of the examples, please send us an email.
-We are happy to help you.
-
-## Data Simulation
-All the data sources that we have integrated in the StreamPipes demonstrator are simulated according to real world sensors.
-For example a flow rate sensor in a water pipe, which measures how much water flows in that pipe or a water level sensor in a water tank, that reports how high the water level is in the tank.
-In the next section you will use the flow rate sensor to build your first pipeline.
-
-## Flow Rate Visualization
-In the first example, we create a live line chart to monitor the value of the mass flow from a flow rate sensor.
-
-### Create Pipeline
-* As a first step go to the pipeline editor
-* Select the **FRS1** (Flow Rate Source 1)source
-* Then navigate to the **Data Sink** tab
-* Select the **DS** (Dashboard Sink) and connect the source with the sink
-* After connecting the elements save the pipeline by clicking on the save button on the top left corner
-* In the save menu add a name *Flow Rate Monitoring* and a description *This is my very first pipeline!*
-* Also select the **Start pipeline immediatly** checkbox
-* Then click the button **Save and go to pipeline view**
-* You are navigated to the pipeline view and a confirmation that the pipeline was started successfully should be shown
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/01_PipelineEditor_DataStreams.png" alt="Show Pipeline Editor Streams"/>
-    <img src="/img/quickstart/examples_master/02_example1_source.png" alt="Sources"/>
-    <img src="/img/quickstart/examples_master/03_example1_pipeline_finished.png" alt="Pipeline Finished"/>
-    <img src="/img/quickstart/examples_master/04_example1_save.png" alt="Saved Pipeline"/>
-    <img src="/img/quickstart/examples_master/05_example1_pipeline_started.png" alt="Pipeline 01 Started"/>
-</div>
-
-### Create Visualization
-* After we have created the pipeline we must create the line chart
-* Navigate to the **Live Dashboard** of StreamPipes
-* Click on the **Add visualization** button
-* Select the just created pipeline **Flow Rate Monitoring** and click the **next** button
-* For the visualization select the **Line Chart** and click **next** again
-* Now you have to enter the configuration for the line chart
-    * Select time mapping: **timestamp**
-    * Select number mapping: **mass_flow**
-    * Range Minimum: **0** 
-    * Range Maximum: **10**
-* When all parameters are set correctly click the next button again.
-* Congratulation you created the first pipeline and should now see the line chart
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/06_example01_live_visualisation.png" alt="Visualize Pipeline"/>
-    <img src="/img/quickstart/examples_master/07_example01_first_step.png" alt="Configure Visualization Step 1"/>
-    <img src="/img/quickstart/examples_master/08_example01_second_step.png" alt="Configure Visualization Step 2"/>
-    <img src="/img/quickstart/examples_master/09_example01_third_step.png" alt="Configure Visualization Step 3"/>
-    <img src="/img/quickstart/examples_master/10_example1_finished.png" alt="Pipeline 01 Done"/>
-</div>
-
-
-## Condition monitoring of a water tank
-In our second example we are going to create a more complex pipeline.
-This pipeline has two sources, the flow rate sensor from the previous example and a source measuring the water level in a tank.
-Our goal is to send a notification when the flow rate stops and the water level in the water tank sinks too fast.
-In this case a service technician should check the system as soon as possible.
-This example should just illustrate how the individual components work.
-Since the system currently uses simulated data each time the situation occurs a notification is triggered.
-
-Now lets start!
-
-
-### Build the pipeline
-* First we have to select the **FRS1** (Flow Rate Sensor 1) and **WL1** (Water Level) form the sources tab
-* In a first step we want to detect when the flow rate stops
-* Use the **NF** (Numerical Filter) from the processing elements tab and connect it to the **FRS1** source
-* Configure the **Numerical Filter**:
-    * Field name for filter operator: **mass_flow**
-    * Filter Operation: **<**
-    * Threshold value: **1**
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/11_example2_start.png" alt="Start Example 2"/>
-    <img src="/img/quickstart/examples_master/12_example2_numerical.png" alt="Select Numericl Filter"/>
-    <img src="/img/quickstart/examples_master/13_example2_configure_numerical.png" alt="Configure Numerical Filter"/>
-</div>
-
-* As a next step we add an aggregation to the water level. This reduces the inaccuracies we have because the water moves in the tank. 
-* Select the **A** (Aggregation) processing element
-* Connect the **WL1** with **A**
-* Configure **Aggregation**:
-    * Property Selection: **level**
-    * Operation: **Average**
-    * Time Window Size: **10**
-    * Output Frequency: **1**
-    * Groupe By: **None**
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/14_example2_aggregate.png" alt="Select Aggregation"/>
-    <img src="/img/quickstart/examples_master/15_example2_configure_aggregate.png" alt="Configure Aggregation"/>
-        <img src="/img/quickstart/examples_master/15_example2_configure_aggregate_2.png" alt="Configure Aggregation"/>
-
-</div>
-
-* With the next processing element we check if the water level decreases too fast
-* Select **I** (Trend) and connect it to **A**
-* Configure **Trend**:
-    * Timestamp field: **timestamp**
-    * Value to observe: **aggregatedValue** (This value is created by previous element)
-    * Group by: **sensorId**
-    * Increase / Decrease: **Decrease**
-    * Percentage of Increase / Decrease: **20**
-    * Time Window Length: **10**
-    * Select Output: **All**
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/16_example2_increase.png" alt="Select Increase"/>
-    <img src="/img/quickstart/examples_master/17_example2_configure1_increase.png" alt="Configute 01 Increase"/>
-</div>
-
-* Now we connect the two stream with the sequence element, which checks if both events occur in a certain time
-* Select **S** (Sequence) and connect both data streams to it
-* Configure **Sequence**:
-    * Time Window Size: **1**
-    * Time Unit: **sec**
-    
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/19_example2_sequence.png" alt="Select Sequence Detection"/>
-    <img src="/img/quickstart/examples_master/20_example2_configure_sequence.png" alt="ConfigureSequence Detection"/>
-</div>
-
-* Now we create a notification for the service technician that something is wrong with the system
-* Select **N** (Notification) from the data sink tab
-* Connect **S**  with **N**
-* Configure **Notification**: 
-    * Notification title: **Alarm**
-    * Content: **One notification was triggered by our first complex pipeline. Yeahhhh!**
-    
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/21_example2_notification.png" alt="Select Notification"/>
-    <img src="/img/quickstart/examples_master/22_example2_configure_notification.png" alt="Configure Notification"/>
-</div>
-
-* Add the dashboard sink to the increase element to monitor the preliminary results
-* Select **DS** and connect to **I**
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/23_example2_dashboard_sink.png" alt="Select Dashboard"/>
-</div>
-
-* Save the pipeline 
-* Save configuration:
-    * Pipeline Name: **Second Pipeline**
-    * Description: **Complex monitorung rule**
-    * Start pipeline immediately: **CHECK**
-* Click **Save and go to pipeline view**
- 
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/24_example2_save.png" alt="Save Pipeline"/>
-</div>
-
-* All pipeline elements should be started successfully 
-* It can be seen that the elements run on different technologies, in flink and a java container
-    * http://pe-flink-examples:8090
-    * http://pe-jvm-examples:8090
-* Go to visualization and create **Raw Data** visualization for the new pipeline   
-    
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/25_example2_started.png" alt="Pipeline Started Sucessfull"/>
-    <img src="/img/quickstart/examples/26_example2_visualisation.png" alt="Add Visualization"/>
-</div>
-
-* Every time you can see output in the **Raw Data** visualization of the new pipeline and the **Line Chart** from the first example are zero, a Notification is triggered by the pipeline.
-* Go to the **Notifications** view and have a look at the notification
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples/27_example2_notification.png" alt="Show Notification"/>
-</div>
-
-
-Congratulation you finished the quick start!
-It is recommended to stop the last pipeline, because it will keep creating notifications ;)
-
-We hope we gave you an easy quick start into StreamPipes.
-If you have any questions or suggestions, just send us an email.
-From here on you can explore all features in the [User Guide](user-guide-introduction.md) or go to the [Developer Guide](dev-guide-introduction.md) to learn how to write your own StreamPipes processing elements.
-
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/user-guide-installation.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/user-guide-installation.md
deleted file mode 100644
index f9ae6f7..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/user-guide-installation.md
+++ /dev/null
@@ -1,141 +0,0 @@
----
-id: user-guide-installation
-title: Installation
-sidebar_label: Installation
-original_id: user-guide-installation
----
-## Prerequisites
-
-### Hardware
-
-* The **lite version** (if you simply want to run StreamPipes on a laptop for testing purposes) requires at least 8GB RAM, the **full version** requires at least 16 GB RAM.
-* Docker (latest version, see instructions below)
-* Docker Compose (latest version., see instructions below)
-
-### Supported operating systems
-We rely on Docker and support three operating systems for the StreamPipes system
-
-* Linux
-* OSX
-* Windows 10
-    * Please note that older Windows versions are not compatible with Docker. Also Linux VMs under Windows might not work, due to network problems with docker.
-
-### Web Browser
-StreamPipes is a modern web application, therefore you need a recent version of Chrome (recommended), Firefox or Edge.
-
-### Docker
-You need to have Docker installed on your system before you continue with the installation guide.
-
-
-<div class="admonition info">
-<div class="admonition-title">Install Docker</div>
-<p>Go to https://docs.docker.com/installation/ and follow the instructions to install Docker for your OS. Make sure docker can be started as a non-root user (described in the installation manual, don’t forget to log out and in again) and check that Docker is installed correctly by executing docker-run hello-world</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Configure Docker</div>
-<p>By default, Docker uses only a limited number of CPU cores and memory.
-       If you run StreamPipes on Windows or on a Mac you need to adjust the default settings.
-       To do that, click on the Docker icon in your tab bar and open the preferences.
-       Go to the advanced preferences and set the **number of CPUs to 6** (recommended) and the **Memory to 8GB**.
-       After changing the settings, Docker needs to be restarted.</p></div>
-
-
-## Install StreamPipes
-
-<div class="tab-content" id="myTabContent">
-    <div class="tab-pane fade show active" id="linux" role="tabpanel" aria-labelledby="linux-tab">
-        <ul style="padding-left:0">
-            <li class="installation-step">
-                <div class="wrapper-container" style="align-items: center;justify-content: center;">
-                    <div class="wrapper-step">
-                        <span class="fa-stack fa-2x">
-                             <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                             <strong class="fa-stack-1x" style="color:white;">1</strong>
-                        </span>
-                    </div>
-                    <div class="wrapper-instruction">
-                        <a href="https://github.com/streampipes/streampipes-installer/archive/master.zip">Download</a>
-                        the latest StreamPipes release from Github and extract the zip file to a directory of your choice.
-                    </div>
-                </div>
-            </li>
-            <li class="installation-step">
-                <div class="wrapper-container" style="align-items: center;justify-content: center;">
-                    <div class="wrapper-step">
-                        <span class="fa-stack fa-2x">
-                             <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                             <strong class="fa-stack-1x" style="color:white;">2</strong>
-                        </span>
-                    </div>
-                    <div class="wrapper-instruction">
-                       <div style="margin-bottom:5px;"><b>Linux/Mac:</b> In a command prompt, open the folder <code>osx_linux</code> and run <code>./streampipes
-                            start</code>.<br/>
-                        </div>
-                        <div style="margin-top:5px;">
-                        <b>Windows 10:</b> In a command prompt, open the folder <code>windows10</code> and run <code>streampipes.bat
-                                                    start</code>.<br/>
-                        </div>
-                    </div>
-                </div>
-            </li>
-            <li class="installation-step">
-                <div class="wrapper-container" style="align-items: center;justify-content: center;">
-                    <div class="wrapper-step">
-                        <span class="fa-stack fa-2x">
-                             <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                             <strong class="fa-stack-1x" style="color:white;">3</strong>
-                        </span>
-                    </div>
-                    <div class="wrapper-instruction">
-                       When asked, enter the version (full or lite) and the IP address or hostname of your server (called SERVER_IP in the next step).
-                    </div>
-                </div>
-            </li>
-            <li class="installation-step">
-                <div class="wrapper-container" style="align-items: center;justify-content: center;">
-                    <div class="wrapper-step">
-                        <span class="fa-stack fa-2x">
-                             <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                             <strong class="fa-stack-1x" style="color:white;">4</strong>
-                        </span>
-                    </div>
-                    <div class="wrapper-instruction">
-                        Open your browser, navigate to http://SERVER_IP:80 and finish the setup according to the instructions below.
-                    </div>
-                </div>
-            </li>
-        </ul>
-        </div>
-    </div>
-
-## Setup StreamPipes
-
-Once you've opened the browser at the URL given above, you should see StreamPipes application as shown below.
-To set up the system, enter an email address and a password and click on install.
-At this point, it is not necessary to change anything in the advanced settings menu.
-The installation might take some time, continue by clicking on "Go to login page", once all components are successfully configured.
-
-
-On the login page, enter your credentials, then you should be forwarded to the home page.
-
-Congratulations! You've successfully managed to install StreamPipes. Now we're ready to build our first pipeline!
-
-<div class="my-carousel">
-    <img src="/img/quickstart/setup/01_register_user.png" alt="Set Up User"/>
-    <img src="/img/quickstart/setup/02_user_set_up.png" alt="SetUp StreamPipes Components"/>
-    <img src="/img/quickstart/setup/03_login.png" alt="Go to login page"/>
-    <img src="/img/quickstart/setup/04_home.png" alt="Home page"/>
-</div>
-
-<div class="admonition error">
-<div class="admonition-title">Errors during the installation process</div>
-<p>In most cases, errors during the installation are due to a wrongly configured IP address or an under-powered system.<br/>
-If there is a problem with any of the components, please restart the whole system and delete the "config" directory on the server.
-   This directory is in the same folder as the docker-compose.yml file.<br/>
-   Please also make sure that your system meets the hardware requirements as mentioned in the first section of the installation guide.</p>
-</div>
-
-## Next Steps
-
-Now you can continue with the tutorial on page [First steps](user-guide-first-steps.md).
diff --git a/website-v2/versioned_docs/version-0.63.0-pre-asf/user-guide-tour.md b/website-v2/versioned_docs/version-0.63.0-pre-asf/user-guide-tour.md
deleted file mode 100644
index a931c14..0000000
--- a/website-v2/versioned_docs/version-0.63.0-pre-asf/user-guide-tour.md
+++ /dev/null
@@ -1,306 +0,0 @@
----
-id: user-guide-tour
-title: Tour
-sidebar_label: Tour
-original_id: user-guide-tour
----
-
-StreamPipes is a framework that enables domain experts to model and execute stream processing pipelines in a big data infrastructure.
-The graphical user interface of StreamPipes is a web application that provides an easy to use solution for domain experts.
-In this page, an overview of the many features of StreamPipes is given. We will tour through all features and explain what they do and how users can interact with them.
-
-First of all, a user needs to log in to the system.
-The credentials for the user are specified during the installation process.
-
-![StreamPipes Login](/img/features_0_62_0/login.png) 
-
-## Home
-After logging in, the user is redirected on to the home page.
-The home page gives an overview over the different features available in the StreamPipes UI.
-
-On the left, the navigation menu can be seen.
-You can either use the icons on the left side or click on the menu icon on the
-top left to open the details view of the navigation menu.
-
-On the top right, a link refers to the documentation and the logout button is present.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/home/home.png" alt="Home"/>
-    <img src="/img/features_0_62_0/home/open_menu.png" alt="Open Menu"/>
-</div>
-
-
-
-## Pipeline Editor
-The first feature we are going to explain is the Pipeline Editor.
-This is one of the central features of StreamPipes, since graphical modeling of pipelines takes place in this view.
-
-On the top we can see four tabs: __Data Sets__, __Data Streams__, __Processing Elements__, and __Data Sinks__.
-Each tab contains multiple pipeline elements, which can be installed at runtime.
-The installation of pipeline elements is explained later in section [Install Pipeline Elements](user-guide-tour.md#install-pipeline-elements).
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/editor/2_PipelineEditor_DataStreams.png" alt="Data Streams"/>
-    <img src="/img/features_0_62_0/editor/3_PipelineEditor_DataProcessors.png" alt="Processing Elements"/>
-    <img src="/img/features_0_62_0/editor/4_PipelineEditor_DataSinks.png" alt="Data Sinks"/>
-    <img src="/img/features_0_62_0/editor/1_PipelineEditor_DataSets.png" alt="Data Sets"/>
-</div>
-
-There are multiple ways to search for a pipeline element. 
-The easiest way is to enter a search term in the search field on the top left corner.
-The system filters the elements according to the search term and only presents the relevant ones.
-Another way is to select one of the categories from the drop down menu.
-The system then filters the elements according to the selected category.
-The category of an element is defined by its functionality.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/editor/5_text_filter.png" alt="Text Filter"/>
-    <img src="/img/features_0_62_0/editor/6_category_drop_down.png" alt="Category Drop Down"/>
-    <img src="/img/features_0_62_0/editor/7_category_filter.png" alt="Category Filter"/>
-</div>
-
-Modelling of a pipeline starts with choosing one ore more data sources. Therefore a data stream or data set must be selected
-and moved into the editor via drag and drop.
-After adding a data stream, we can select a processing element to transform the events of the data stream.
-This is done again by dragging the processing element icon into our editor.
-The mouse can be used to connect the two elements.
-It is automatically checked in the background if the two elements are semantically compatible.
-If this check is successful, a configuration menu is shown. It contains the parameters that can be modified by the
-user. For all parameters, a description is provided and the system also prevents the user from entering parameters that
-are not correct, according to the semantic description of the element.
-It is also ensured that all required parameters are provided by the user, otherwise an error message is displayed.
-
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/editor/8_connect_elements.png" alt="Connect Elements"/>
-    <img src="/img/features_0_62_0/editor/9_configure_element.png" alt="Configure Elements"/>
-</div>
-
-When the user tries to connect two elements that are not compatible, the system shows a __connection error__ message.
-The example illustrated below shows such a case. The user tried to connect a text filter to a light sensor.
-This is not possible since the text filter processing element requires at least one event property of type string, which is not provided by the light sensor.
-
-![Connection Error](/img/features_0_62_0/editor/10_connection_error.png) 
-
-To further improve the usability, multiple ways are available to connect new elements besides the drag and drop option.
-Each processing element has multiple short-cut buttons to connect it with another element.
-The first one (eye icon) can be used to get a suggestion of all elements that are compatible with the current element.
-The second one (plus icon) gives a recommendation on the elements the user might want to connect, based on the usage of the component in
-other pipelines.
-There is also a button (question tag icon) to open the documentation of a selected element.
-Elements can be deleted by clicking the 'delete' button.
-Each element can also be re-configured at a later point in time using the configuration button.
-There is one important aspect about re-configuration of pipeline elements you need to be aware of: Only elements that are not yet connected to another element can be modified.
-The reason for this behaviour is that some of the following elements might rely on the configuration of previous elements.
-This way it is ensured that the user can not change the behaviour of the pipeline by accident.
- 
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/editor/11_shortcut_buttons.png" alt="Shortcut Buttons"/>
-    <img src="/img/features_0_62_0/editor/12_compatible_elements.png" alt="Compatible Elements"/>
-    <img src="/img/features_0_62_0/editor/13_recommend_elements.png" alt="Recommended elements"/>
-</div>
-
-
-After the pipeline is completely modelled, the editor looks similar to the first image below.
-Especially for larger pipelines, the auto layout button in the editor menu might be helpful.
-With this button, the pipeline will be beautifully aligned in the editor, helping users to get a better overview of the complete pipeline.
-On the top left corner of the editor, the 'save' button can be found.
-After the modelling of the pipeline is done, use this button to save and execute the pipeline.
-A save dialogue pops up when clicking the save button. 
-The pipeline title must be entered and an additional description can be provided.
-It is recommended to always provide a description, because it makes it easier for other users to understand the meaning of the pipeline.
-In the save menu, the user can either just store the pipeline configuration or store it and immediately start the pipeline.
-Once the pipeline is executed, the user is redirected to the _Manage Pipeline_ view.
-In this view, the user gets immediate feedback whether all components did start correctly and the pipeline is up and running.
-This view also shows that individual elements might run in different environments on different servers.
-If there is an error during the execution, a notification containing a (hopefully) detailed error description is provided in this view.
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/editor/14_save_adjust.png" alt="Save adjust delete"/>
-    <img src="/img/features_0_62_0/editor/15_save_dialogue.png" alt="Complete pipeline"/>
-    <img src="/img/features_0_62_0/editor/16_pipeline_sucessfully_started.png" alt="Pipeline sucessfully started"/>
-</div>
-
-## Connect new Data Sources
-With StreamPipes Connect it is possible to connect new data sources in StreamPipes with just a few clicks.
-Therefore, we provide a marketplace with a lot of different adapters that can be configured and executed to create new __Data Streams__ in the __Pipeline Editor__.
-With StreamPipes Connect it is possible to connect specific data sources - e.g. an adapter streaming the current location of the ISS (International Space Station).
-It is also possible to connect generic sources like message brokers or databases.
-If the event schema of the data source is unknown, the system tries to infer the schema by extracting some sample data and analysing it.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/connect/new/01_connect.png" alt="Market Place"/>
-    <img src="/img/features_0_62_0/connect/new/02_mqtt_adapter.png" alt="MQTT adapter"/>
-    <img src="/img/features_0_62_0/connect/new/03_configure_mqtt.png" alt="Configure MQTT adpater"/>
-    <img src="/img/features_0_62_0/connect/new/04_configure_format.png" alt="Guess event schema"/>
-    <img src="/img/features_0_62_0/connect/new/05_guess_schema.png" alt="Guess event schema"/>
-    <img src="/img/features_0_62_0/connect/new/06_edit_adapter.png" alt="Edit adapter"/>
-    <img src="/img/features_0_62_0/connect/new/07_start_adapter.png" alt="Start adapter"/>
-    <img src="/img/features_0_62_0/connect/new/08_data_stream_in_editor.png" alt="New data stram in pipeline editor"/>
-</div>
-
-Additionally to connecting new sources, data can be cleaned, transformed, and enriched with meta-information.
-Therefore, the event schema can be changed or enriched in step 3 (Define Event Schema).
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/connect/edit/01_edit_timestamp.png" alt="Edit a property to timestamp"/>
-    <img src="/img/features_0_62_0/connect/edit/02_change_unit.png" alt="Change Unit of property"/>
-    <img src="/img/features_0_62_0/connect/edit/03_change_unit.png" alt="Change Unit of property"/>
-</div>
-
-## Manage Pipelines
-The _Manage Pipelines_ view provides an overview of all existing pipelines.
-Existing pipelines can be managed using this view.
-For instance, users can start and stop pipelines or delete them when they are not longer needed.
-Pipeline actions can be performed by clicking one of the buttons next to each pipeline.
-For each pipeline, the title and description is displayed in the table.
-By clicking the edit symbol an overview of the created pipline is shown. In this window you are able to analyze statistics, identify errors or edit the pipeline.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/manage_pipelines/1_pipeline_overview.png" alt="Pipeline Overview"/>
-    <img src="/img/features_0_62_0/manage_pipelines/2_pipeline_information.png" alt="Pipeline infomation"/>
-    <img src="/img/features_0_62_0/manage_pipelines/3_delete_pipeline.png" alt="Delete Pipelines"/>
-    <img src="/img/features_0_62_0/manage_pipelines/4_pipeline_deleted.png" alt="Delete Pipelines"/>
-</div>
-
-In a setting with many defined pipelines, it can get really hard to keep track of all pipelines.
-This is why we introduce categories.
-A category is a set of pipelines that can be defined by users in order to better organize pipelines.
-By clicking on the "Manage Categories" button on the top left, a new category can be added to StreamPipes.
-In this example, we create a new category named "New Demo Category".
-After saving a category, pipelines can be added to the newly created category.
-The new category is then presented as a tab in the _Pipeline Management_ view.
-This tab contains all previously defined pipelines.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/manage_pipelines/5_pipeline_category.png" alt="Pipeline Category"/>
-    <img src="/img/features_0_62_0/manage_pipelines/6_add_category.png" alt="Add Pipeline Category"/>
-    <img src="/img/features_0_62_0/manage_pipelines/7_new_category.png" alt="New Category"/>
-    <img src="/img/features_0_62_0/manage_pipelines/8_show_new_category.png" alt="Show new Category"/>
-</div>
-
-## Live Dashboard
-The live dashboard can be used for multiple use cases.
-It is a good way to live monitor a running system in a dashboard, but it can also be used during the pipeline development to get a fast feedback from newly created pipelines.
-Below is a screenshot of an example dashboard showing the current value of pressure, which further shows a line chart and a trafficlight for a water level pipeline.
-All pipelines that contain the "Dashboard Sink" can be visualized in this view.
-To add a new visualisation, click on the "Add visualisation" button on the top left corner.
-Afterwards, a three-step configuration menu is shown.
-The first step is to select the pipeline that should be visualized.
-In the second step, the type of visualization can be defined.
-Currently 10 different types are available, including line charts, various map visualizations and data tables.
-After selecting the type (in our example "Gauge"), you can select the specific measurement values of the data stream that should be displayed.
-In the example below, the water level value should be monitored and the gauge value should range from 0 to 100.
-Once all steps are completed, the new visualization is placed on the dashboard and live data is presented as soon as it becomes available.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/dashboard/01_dashboard.png" alt="Screenshot of live dashboard"/>
-    <img src="/img/features_0_62_0/dashboard/02_new_visualisation.png" alt="Select Pipeline to visualize"/>
-    <img src="/img/features_0_62_0/dashboard/03_select_gauge.png" alt="Select Visualization Type"/>
-    <img src="/img/features_0_62_0/dashboard/04_configure_gauge.png" alt="Configure  Visualzation"/>
-    <img src="/img/features_0_62_0/dashboard/05_new_gauge_done.png" alt="Show new Visualzation"/>
-</div>
-
-## File Download
-With the file download,  it is possible to download stored files directly from Elasticsearch.
-This can be very useful for example when a data dumb is needed for a specific time range.
-All data that is written into Elasticsearch using the _Elasticsearch Sink_ can be accessed by the file downloader.
-A common use case is to download data for offline analysis and to train a machine learning algorithm.
-First, an index must be defined, afterwards, the time range must be set.
-A date picker helps users to enter the time range.
-When a user clicks the "Create File" button the file is created.
-All files stored on the server can be downloaded via the download button.
-If the files are not longer needed, they can be deleted by clicking the delete button.
-This will remove the file from the server.
-Since data is stored in Elasticsearch anyways. it is recommended not to store the files for a longer period of time on the server.
-When a file is needed again at a later point in time it is easy to create it again. 
-This way a lot of disk space on the server can be saved, especially when the files are rather large.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/file_download/01_file_download.png" alt="File Download"/>
-    <img src="/img/features_0_62_0/file_download/02_file_download.png" alt="File Download with selected time range"/>
-    <img src="/img/features_0_62_0/file_download/03_file_download.png" alt="File Download with new File"/>
-</div>
-
-## Notifications
-Notifications are a good solution to notify someone when a urgent situation occurs.
-A notification can be created by using the notification sink in the pipeline editor.
-When using such a sink a configuration dialogue is presented to the user.
-In this dialogue the user must provide enough information to resolve the solution when it occurs.
-The message can be nicely configured in the message editor.
-It is also possible to embed values of the event that triggered the notification.
-This can be done with the #property# notation.
-All available properties are presented in the notification configurator.
-When the notification is triggered the #property# template is replaced with the actual value of the property.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/notification/01_select_notification_sink.png" alt="Select Notification"/>
-    <img src="/img/features_0_62_0/notification/02_configure_notification.png" alt="Configure Notification"/>
-</div>
-
-A pop up icon on the notification tab in the menu shows the user how many unread notifications currently are in the system.
-This icon also alerts users when new notifications occur.
-In the notification overview all notifications are listed.
-On the top are the new notifications that are not read yet.
-A user can mark them as read by clicking on the little envelope icon.
-Those notifications are then no longer in the unread section, but they remain in the "All Messages" view.
-This way it is possible to keep track of all notifications and have a look at them at a later point in time.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/notification/03_new_notification.png" alt="New Notification"/>
-</div>
-
-
-## Install Pipeline Elements
-StreamPipes is highly configurable and extensible.
-Pipeline elements can be added and removed during runtime.
-This can be done in the "Install Pipeline Elements" view.
-All available pipeline elements are shown here and can be selected to install or uninstall.
-It is also possible to select multiple or all of them and then install them all together.
-When a new element is installed by the user it is automatically available in the "Pipeline Editor" and can be used for pipelines.
-Elements that are uninstalled are removed from the system. 
-They can not longer be used within pipelines.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/install_elements/01_install_elements.png" alt="Install Elements View"/>
-    <img src="/img/features_0_62_0/install_elements/02_install_countAggregation.png" alt="Insall new Element"/>
-    <img src="/img/features_0_62_0/install_elements/03_installed_countAggregation.png" alt="Installation Successful"/>
-    <img src="/img/features_0_62_0/install_elements/04_countAggregation_in_editor.png" alt="Show new installed element"/>
-</div>
-
-
-## My Elements
-The "My Elements" view gives a quick overview over all installed pipeline elements.
-Here they can be inspected and the description can be re-imported.
-In this view it is also possible to have a look at the JSON-LD representation of each element.
-This is not important for a user, but it is worth noting that the system uses this machine understandable format to support the user.
-For example all the information of the sources, like data schema or unit information is in the JSON-LD meta data.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/my_elements/01_my_elements.png" alt="My Elements Overview"/>
-    <img src="/img/features_0_62_0/my_elements/02_my_elements_jsonid.png" alt="View JSON-LD"/>
-</div>
-
-## Configuration
-The last feature is the _configuration view_.
-Here, it is possible to change the configuration parameters of installed components.
-All components containing processing elements automatically register in StreamPipes when they are started in the same network as the backend component.
-Once a container is registered it is represented in the configuration view.
-The green dot on the top left indicates that tha container is running properly.
-When there is a problem with a container the green dot changes to red and the user knows there is a problem.
-To configure the parameters the top right arrow of a configuration box must be clicked.
-Then the configuration menu pops up. 
-Within there it is possible to change the parameters of a service.
-To make the changes persistent the "Update" button must be clicked.
-A user should keep in mind that sometimes it is necessary to restart a container when the parameters are changed.
-Sometimes it is also necessary to re-import the pipeline element description, either by uninstalling and re-installing them after the container restart or be reloading the description in the "My elements" view.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/configuration/01_configuration_overview.png" alt="Configuration Overview"/>
-    <img src="/img/features_0_62_0/configuration/02_change_config.png" alt="Change Configuration"/>
-</div>
-
-
-Congratulations! You've just finished your first tour of StreamPipes.
-Although there's still more to learn, we introduced most of the currently available features.
-On the next page, the different processing elements that come with the installation are explained.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/dev-guide-archetype.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/dev-guide-archetype.md
deleted file mode 100644
index 796f632..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/dev-guide-archetype.md
+++ /dev/null
@@ -1,153 +0,0 @@
----
-id: dev-guide-archetype
-title: Start Developing
-sidebar_label: Start Developing
-original_id: dev-guide-archetype
----
-
-In this tutorial we explain how you can use the Maven archetypes to develop your own StreamPipes processors and sinks.
-We use IntelliJ in this tutorial, but it works with any IDE of your choice.
-
-## Prerequisites
-You need to have Maven installed, further you need an up and running StreamPipes installation on your development computer.
-To ease the configuration of environment variables, we use the IntelliJ [env Plugin](https://plugins.jetbrains.com/plugin/7861-envfile).
-Install this in IntelliJ. The development also works without the plugin, then you have to set the environment variables manually instead of using the env configuration file.
-
-## Create Project
-To create a new project, we provide multiple Maven Archteypes.
-Currently, we have archetypes for the JVM and Flink wrappers, each for processors and sinks.
-The commands required to create a new pipeline element project can be found below. Make sure that you select a version compatible with your StreamPipes installation.
-Copy the command into your terminal to create a new project.
-The project will be created in the current folder.
-First, the ``groupId`` of the resulting Maven artifact must be set.
-We use ``groupId``: ``org.example`` and ``artifactId``: ``ExampleProcessor``.
-You can keep the default values for the other settings, confirm them by hitting enter.
-Now, a new folder with the name ``ExampleProcessor`` is generated.
-
-
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-processors-jvm  \
-  -DarchetypeVersion={sp.version}
-```
-<details class="info">
-    <summary>Select: [Processors / Sinks] [JVM / Flink]</summary>
-
-## Processors JVM
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-processors-jvm  \
-  -DarchetypeVersion=0.64.0
-```
-
-## Processors Flink
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-processors-flink  \
-  -DarchetypeVersion=0.64.0
-```
-
-## Sinks JVM
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-sinks-jvm  \
-  -DarchetypeVersion=0.64.0
-```
-
-## Sinks Flink
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-sinks-flink  \
-  -DarchetypeVersion=0.64.0
-```
-</details>
-
-
-## Edit Processor
-Open the project in your IDE.
-If everything worked, the structure should look similar to the following image.
-The *config* package contains all the configuration parameters of your processors / sinks.
-In the *main* package, it is defined which processors / sinks you want to activate and the *pe.processor.example* package contains three classes with the application logic.
-For details, have a look at the other parts of the Developer Guide, where these classes are explained in more depth.
-
-<img src="/img/archetype/project_structure.png" width="30%" alt="Project Structure"/>
-
-Due to a dependency conflict in the 0.64.0 release, open your pom.xml and add the following lines to the ``dependencies`` section:
-```
-<dependency>
-    <groupId>javax.validation</groupId>
-    <artifactId>validation-api</artifactId>
-    <version>2.0.1.Final</version>
-</dependency>
-
-```
-
-Open the class *Example* and edit the ``onEvent`` method to print the incoming event, log it to the console and send it to the next component without changing it.
-
-```java
-@Override
-public void onEvent(Event event, SpOutputCollector collector) {
-    // Print the incoming event on the console
-    System.out.println(in);
-
-    // Hand the incoming event to the output collector without changing it.
-    collector.onEvent(in);
-}
-```
-
-## Start Processor
-Before the processor can be started, you need to edit the *env* file in the *development* folder.
-Replace all local hosts in this file with the IP address or DNS name of your computer.
-This is relevant to make the mapping between the services running in Docker and your component running in the local IDE.
-After all updates are updated, this file is used by the envfile plugin to provide configuration parameters to the pipeline element.
-Alternatively, environment variables can also be set on your host or IDE.
-Now start the project by clicking on **(Run -> Edit Configuration)**.
-Add a new configuration in the Configuration menu by clicking on the + sign and select **Application**.
-Name the configuration *ExampleProcessor* and select the *Init* class as the 'Main class'.
-Then set *ExampleProcessor* in 'Use classpath of module'.
-
-
-As the last step, switch to the tab *EnvFile* and load the env file.
-Click on 'Enable EnvFile' to activate it and add the just edited env file by clicking on the + sign.
-Save all the changes by clicking *Apply*.
-Now you can start the processor.
-
-<div class="my-carousel">
-    <img src="/img/archetype/run_configuration.png" alt="Configuration View"/>
-    <img src="/img/archetype/run_env_configuration.png" alt="Environment Configuration View"/>
-</div>
-
-To check if the service is up and running, open the browser on *'localhost:6666'*. The machine-readable escription of the processor should be visible as shown below.
-
-<img src="/img/archetype/endpoint.png" width="90%" alt="Project Structure"/>
-
-
-<div class="admonition error">
-<div class="admonition-title">Common Problems</div>
-<p>
-If the service description is not shown on 'localhost:6666', you might have to change the port address.
-This needs to be done in the configuration of your service, further explained in the configurations part of the developer guide.
-
-If the service does not show up in the StreamPipes installation menu, click on 'MANAGE ENDPOINTS' and add 'http://<span></span>YOUR_IP_OR_DNS_NAME:6666'.
-Use the IP or DNS name you provided in the env file.
-After adding the endpoint, a new processor with the name *Example* should show up.
-</p>
-</div>
-
-Now you can go to StreamPipes.
-Your new processor *'Example'* should now show up in the installation menu.
-Install it, then switch to the pipeline view and create a simple pipeline that makes use of your newly created processor.
-In case you opened the StreamPipes installation for the first time, it should have been automatically installed during the setup process.
-
-<img src="/img/archetype/example_pipeline.png" width="80%" alt="Project Structure"/>
-
-Start this pipeline.
-Now you should see logging messages in your console and, once you've created a visualisation, you can also see the resulting events of your component in StreamPipes.
-
-Congratulations, you have just created your first processor!
-From here on you can start experimenting and implement your own algorithms.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/dev-guide-configuration.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/dev-guide-configuration.md
deleted file mode 100644
index 76dec12..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/dev-guide-configuration.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: dev-guide-configuration
-title: Configuration
-sidebar_label: Configuration
-original_id: dev-guide-configuration
----
-
-On this page we explain how the StreamPipes configuration works.
-StreamPipes allows the individual services (pipeline element containers and third-party services) to store configuration parameters in a distributed key-value store.
-This has the advantage that individual services do not need to store any configurations on the local file system, enabling us to run containers anywhere.
-As a key-value store we use [Consul](https://www.consul.io/), which is an essential service for all our services.
-
-<img src="/img/configuration/consul.png" width="50%" alt="Semantic description of data processor"/>
-
-
-## Edit Configurations
-All services in StreamPipes can have configuration parameters.
-You can either change them in the consul user interface (which is by default running on port 8500) or directly in the StreamPipes Configurations Page.
-Once a new  pipeline element container is started, it is registered in Consul and the parameters can be edited in the configuration page, as shown below.
-To store changes in Consul, the update button must be clicked.
-
-<div class="my-carousel">
-    <img src="/img/configuration/configuration_1.png" alt="Configuration View"/>
-</div>
-
-## Configuration for Developers
-We provide a Configurations API for the use of configuration parameters in your services.
-Each processing element project has a “config” package [[Example]](https://github.com/apache/incubator-streampipes-extensions/tree/dev/streampipes-sinks-internal-jvm/src/main/java/org/streampipes/sinks/internal/jvm/config).
-This package usually contains two classes.
-One containing unique keys for the configuration values and one containing the getter and setter methods to access these values.
-For the naming of configuration keys, we recommend to use “SP” as a prefix.
-As we explain later, it is possible to set default configurations as environment variables, this prefix makes them unique on your server.
-A configuration entry needs a unique config key. For this key, a value can be specified containing the configuration, like for example the port number of the service.
-For each configuration, a description explaining the parameter can be provided, further the data type must be specified and whether it is a password or not.
-Below, the schema of a configuration item is shown on the left and an example of a port configuration on the right.
-
-<img src="/img/configuration/config_key.png" width="80%" alt="Semantic description of data processor"/>
-
-As a developer, you can add as many new configurations to services as you wish, but there are some that are required for all processing element containers.
-Those are **the host**, **the port**, and **the name** of the service.
-
-## Default Values
-You can provide default values for the configurations, which are used when a configuration is read for the first time.
-The first option is to register a configuration parameter in the Config class.
-This is a fallback value, which is used if nothing else is defined.
-Since this value is static, we offer a second option.
-It is possible to provide a default value by setting an environment variable.
-In this case, the convention is that the key of a configuration parameter must be used as the environment variable.
-Now, this value is used instead of the value defined in the Config class.
-During development, the configuration values often need to be changed for debugging purposes, therefore we provide an .env file in all processing element projects and archetypes.
-This file can be used by your IDE to set the environment variables. (e.g., [Intellij Plugin](https://plugins.jetbrains.com/plugin/7861-envfile))
-When you need to change the variable at runtime, you can do this in the StreamPipes configurations as explained before.
-Those changes take effect immediately without the need of a container restart.
-
-<div class="admonition warning">
-<div class="admonition-title">Installed pipeline elements</div>
-<p>Be cautious, when the configuration is used in the semantic description of a processing element which is already installed in StreamPipes, you have to reload this element in StreamPipes (my elements -> reload).
-   In addition, changes might affect already running pipelines.</p>
-</div>
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/dev-guide-environment.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/dev-guide-environment.md
deleted file mode 100644
index 3c9aa69..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/dev-guide-environment.md
+++ /dev/null
@@ -1,113 +0,0 @@
----
-id: dev-guide-development-environment
-title: Development Environment
-sidebar_label: Development Environment
-original_id: dev-guide-development-environment
----
-
-In this section, we describe our recommended minimum setup for locally setting up a development instance of StreamPipes needed to develop, run and test new pipeline elements.
-
-## IDE & required dev tools
-StreamPipes does not have specific requirements on the IDE - so feel free to choose the IDE of your choice.
-The only requirements in terms of development tools are that you have Java 8 and Maven installed.
-
-## Docker-based local StreamPipes instance
-In order to quickly test developed pipeline elements without needing to install all services required by StreamPipes, we provide a CLI tool that allows you to selectively start StreamPipes components.
-The CLI tool allows to switch to several templates (based on docker-compose) depending on the role. For instance, if you are developing a pipeline element, use the template ``pe-developer``. This will start backend and ui components in a Docker container, while you can easily test your pipeline element in your IDE.
-
-For now, we refer to the Github Readme for instructions on how to use the CLI tool: [https://github.com/streampipes/streampipes-cli](https://github.com/streampipes/streampipes-cli)
-
-## Starter projects
-
-Now, once you've started the development instance, you are ready to develop your very first pipeline element.
-Instead of starting from scratch, we recommend using our provided maven archetypes:
-
-### Maven archetypes
-
-Create the Maven archetype as described in the [Getting Started](dev-guide-archetype) guide.
-
-### Starting from scratch
-
-In order to develop a new pipeline element from scratch, you need to create a new Maven project and import the following dependencies:
-
-<details class="info">
-<summary>pom.xml</summary>
-```
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-container-standalone</artifactId>
-    <version>0.64.0</version>
-</dependency>
-
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-sdk</artifactId>
-    <version>0.64.0</version>
-</dependency>
-
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-vocabulary</artifactId>
-    <version>0.64.0</version>
-</dependency>
-
-<!-- This dependency needs to be imported if you plan to develop a new data processor or data sink using the Apache Flink wrapper -->
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-wrapper-flink</artifactId>
-    <version>0.64.0</version>
-</dependency>
-
-<!-- This dependency needs to be imported if you plan to develop a new data processor or data sink which is running directly on the JVM -->
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-wrapper-standalone</artifactId>
-    <version>0.64.0</version>
-</dependency>
-
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-dataformat-json</artifactId>
-    <version>0.64.0</version>
-</dependency>
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-dataformat-smile</artifactId>
-     <version>0.64.0</version>
-</dependency>
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-dataformat-cbor</artifactId>
-     <version>0.64.0</version>
-</dependency>
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-dataformat-fst</artifactId>
-     <version>0.64.0</version>
-</dependency>
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-messaging-jms</artifactId>
-     <version>0.64.0</version>
-</dependency>
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-messaging-kafka</artifactId>
-     <version>0.64.0</version>
-</dependency>
-```
-</details>
-
-The following three dependencies are mandatory:
-
-* `streampipes-container-standalone`, defines that we are going to create a new pipeline element where the description will be accessible through an embedded web server.
-* `streampipes-sdk` imports the SDK which provides many convencience functions to create new pipeline elements.
-* `streampipes-vocabulary` imports various RDF vocabularies which are used by the SDK to auto-generate the semantic description of pipeline elements.
-
-The following three dependencies might be optional depending on the pipeline element type you plan to create:
-
-*  `streampipes-wrapper-flink` should be used in case you plan to connect a new data processor or data sink that uses Apache Flink for processing events at runtime.
-*  `streampipes-wrapper-standalone` should be used in case you plan to connect a new data processor or data sink that does not use an external processing engine. Events are directly processed in a single-host fashion.
-
-
-Finally, this dependency will provide abstract classes to define data sources and streams.
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/dev-guide-output-strategies.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/dev-guide-output-strategies.md
deleted file mode 100644
index 81c6395..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/dev-guide-output-strategies.md
+++ /dev/null
@@ -1,347 +0,0 @@
----
-id: dev-guide-output-strategies
-title: "SDK Guide: Output Strategies"
-sidebar_label: Output Strategies
-original_id: dev-guide-output-strategies
----
-
-## Introduction
-In StreamPipes, output strategies determine the output of a data processor.
-As the exact input schema of a processor is usually not yet known at development time (as processors can be connected with any stream that matches their requirements), output strategies are a concept to define how an input data stream is transformed to an output data stream.
-
-The following reference describes how output strategies can be defined using the SDK.
-
-<div class="admonition tip">
-<div class="admonition-title">Code on Github</div>
-<p>For all examples, the code can be found on <a href="https://www.github.com/apache/incubator-streampipes-examples/tree/dev/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/streampipes/pe/examples/jvm/outputstrategy/">Github</a>.</p>
-</div>
-
-## Reference
-
-The methods described below to create static properties are available in the ``ProcessingElementBuilder`` class and are usually used in the ``declareModel`` method of the controller class.
-
-As follows, we will use the following example event to explain how output strategies define the output of a data processor:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "1"
-
-}
-```
-
-### Keep Output
-
-A ``KeepOutputStrategy`` declares that the output event schema will be equal to the input event schema.
-In other terms, the processor does not change the schema, but might change the values of event properties.
-
-A keep output strategy can be defined as follows:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".keep", "Keep output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.anyProperty())
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // declaring a keep output strategy
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-
-```
-
-According to the example above, the expected output event schema of the example input event would be:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "1"
-
-}
-```
-
-Data processors that perform filter operations (e.g., filtering temperature values that are above a given threshold) are a common example for using keep output strategies.
-
-
-### Fixed Output
-
-A ``FixedOutputStrategy`` declares that the data processor itself provides the event schema. The output schema does not depend on the input event.
-
-Fixed output strategies need to provide the event schema they produce at development time:
-
-```java
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".fixed", "Fixed output example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.anyProperty())
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // the fixed output strategy provides the schema
-            .outputStrategy(OutputStrategies.fixed(EpProperties.timestampProperty("timestamp"),
-                    EpProperties.doubleEp(Labels.from("avg", "Average value", ""), "avg", SO.Number)))
-
-            .build();
-  }
-
-```
-
-In this example, we declare that the output schema always consists of two fields (``timestamp`` and ``avg``).
-
-Therefore, an output event should look like:
-
-```json
-{
-    "timestamp" : 1234556,
-    "avg" : 36.0
-}
-```
-
-
-### Append Output
-
-An ``AppendOutputStrategy`` appends additional fields to a schema of an incoming event stream. For instance, data processors that perform enrichment operations usually make use of append output strategies.
-
-Similar to the fixed output strategy, the additional fields must be provided at development time in the controller method as follows:
-
-```java
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".append", "Append output example", "")
-
-            // boilerplate code not relevant here, see above
-
-            // declaring an append output
-            .outputStrategy(OutputStrategies.append(EpProperties.integerEp(Labels.from("avg",
-                    "The average value", ""), "avg", SO.Number)))
-
-            .build();
-  }
-```
-
-In this case, the output event would have an additional field ``avg``:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "1",
-    "avg" : 123.0
-
-}
-```
-
-### Custom Output
-
-In some cases, pipeline developers using the StreamPipes UI should be able to manually select fields from an input event schema. For such use cases, a ``CustomOutputStrategy`` can be used:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".custom", "Custom output example", "")
-
-            // boilerplate code not relevant here, see above
-
-            // declaring a custom output
-            .outputStrategy(OutputStrategies.custom())
-
-            .build();
-  }
-
-```
-
-If a data processor defines a custom output strategy, the customization dialog in the pipeline editor will show a dialog to let users select the fields to keep:
-
-<img src="/img/dev-guide-output-strategies/os-custom.png" width="80%" alt="Number Parameter"/>
-
-Taking our example, and assuming that the user selects both the ``timestamp`` and the ``temperature`` the expected output event should look like this:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0
-}
-```
-
-How do we know which fields were selected once the data processor is invoked? Use the proper method from the extractor in the ``onInvocation`` method:
-
-```java
-@Override
-  public ConfiguredEventProcessor<DummyParameters> onInvocation(DataProcessorInvocation graph, ProcessingElementParameterExtractor extractor) {
-
-    List<String> outputSelectors = extractor.outputKeySelectors();
-
-    return new ConfiguredEventProcessor<>(new DummyParameters(graph), DummyEngine::new);
-  }
-```
-
-### Transform Output
-
-A ``TransformOutputStrategy`` declares that one or more fields of an incoming event stream are transformed. Transformations can be applied to the datatype of the property, the runtime name of the property, or any other scheam-related declaration such as measurement units.
-
-#### Static Transform Operations
-
-Static transform operations do not depend on any user input (at pipeline development time) in order to know how to transform a field of an incoming event schema.
-
-Let's say our data processor transforms strings (that are actually a number) to a number datatype. In this case, we can use a static transform output strategy:
-
-```java
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".transform", "Transform output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.stringReq(), Labels.from
-                            ("str", "The date property as a string", ""), PropertyScope.NONE)
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // static transform operation
-            .outputStrategy(OutputStrategies.transform(TransformOperations
-                    .staticDatatypeTransformation("str", Datatypes.Long)))
-
-            .build();
-  }
-
-```
-
-Note the mapping property that we use to determine which field of the input event should be transformed.
-
-The expected output event would look like this:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : 1
-}
-```
-
-#### Dynamic Transform Operations
-
-Sometimes, user input depends on the exact transform output. Let's take a field renaming processor as an example, which lets the user rename a field from an input event schema to another field name.
-For such use cases, we can use a ``DynamicTransformOperation``:
-
-```java
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".transform", "Transform output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.stringReq(), Labels.from
-                            ("str", "The date property as a string", ""), PropertyScope.NONE)
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // the text input to enter the new runtime name
-            .requiredTextparameter(Labels.from("new-runtime-name", "New Runtime Name", ""))
-
-            // static transform operation
-            .outputStrategy(OutputStrategies.transform(TransformOperations
-                    .dynamicRuntimeNameTransformation("str", "new-runtime-name")))
-
-            .build();
-  }
-
-```
-
-For dynamic transform operations, an additional identifier that links to another static property can be assigned and later be fetched in the ``onInvocation`` method.
-
-Assuming we want to rename the field ``temperature`` to ``temp``, the resulting output event should look like this:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temp" : 37.0,
-    "deviceId" : 1
-}
-```
-
-### Custom Transform Output
-
-Finally, in some cases the output schema cannot be described at pipeline development time. For these (usually rare) cases, a ``CustomTransformOutput`` strategy can be used.
-
-In this case, a callback function will be invoked in the controller class just after a user has filled in any static properties and clicks on ``Save`` in the pipeline editor.
-
-To define a custom transform output, we need to implement an interface in the controller class:
-
-```java
-public class CustomTransformOutputController extends
-        StandaloneEventProcessingDeclarer<DummyParameters> implements
-        ResolvesContainerProvidedOutputStrategy<DataProcessorInvocation, ProcessingElementParameterExtractor> {
-
-
-@Override
-  public EventSchema resolveOutputStrategy(DataProcessorInvocation processingElement, ProcessingElementParameterExtractor parameterExtractor) throws SpRuntimeException {
-
-  }
-}
-```
-
-In addition, the output strategy must be declared in the ``declareModel`` method:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".customtransform", "Custom transform output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.stringReq(), Labels.from
-                            ("str", "The date property as a string", ""), PropertyScope.NONE)
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // declare a custom transform output
-            .outputStrategy(OutputStrategies.customTransformation())
-
-            .build();
-  }
-
-```
-
-Once a new pipeline using this data processor is created and the configuration is saved, the ``resolveOutputStrategy`` method will be called, so that an event schema can be provided based on the given configuration. An extractor instance (see the guide on static properties) is available to extract the selected static properties and the connected event stream.
-
-```java
-@Override
-  public EventSchema resolveOutputStrategy(DataProcessorInvocation processingElement, ProcessingElementParameterExtractor parameterExtractor) throws SpRuntimeException {
-    return new EventSchema(Arrays
-            .asList(EpProperties
-                    .stringEp(Labels.from("runtime", "I was added at runtime", ""), "runtime", SO.Text)));
-  }
-```
-
-In this example, the output event schema should look like this:
-
-```json
-{
-    "runtime" : "Hello world!"
-}
-```
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/dev-guide-static-properties.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/dev-guide-static-properties.md
deleted file mode 100644
index 2f990bb..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/dev-guide-static-properties.md
+++ /dev/null
@@ -1,265 +0,0 @@
----
-id: dev-guide-static-properties
-title: "SDK Guide: Static Properties"
-sidebar_label: Static Properties
-original_id: dev-guide-static-properties
----
-
-## Introduction
-Static properties represent user-faced parameters that are provided by pipeline developers.
-Processing elements can specify required static properties, which will render different UI views in the pipeline editor.
-
-The following reference describes how static properties can be defined using the SDK.
-
-<div class="admonition tip">
-<div class="admonition-title">Code on Github</div>
-<p>For all examples, the code can be found on <a href="https://github.com/apache/incubator-streampipes-examples/tree/dev/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/streampipes/pe/examples/jvm/staticproperty">Github</a>.</p>
-</div>
-
-## Reference
-
-The methods described below to create static properties are available in the ``ProcessingElementBuilder`` and ``DataSinkBuilder`` classes and are usually used in the ``declareModel`` method of the controller class.
-
-### Mapping property
-
-In StreamPipes, processing elements usually operate on fields of an event stream. For instance, a filter processor operates on a specific field from an input stream (e.g., a field measuring the temperature).
-Typically, pipeline developers should select the exact field where the operations is applied upon by themselves.
-As this field is not yet known at pipeline element development time (as it is defined by the pipeline developer in the pipeline editor), mapping properties serve to map a stream requirement to a specific field from the actual input event stream.
-
-### Unary mapping property
-
-A unary mapping property maps a stream requirement to an actual field of an event stream. Therefore, the ``StreamRequirementsBuilder`` provides the opportunity to directly add a mapping property based along with a property requirement:
-
-```java
-.requiredStream(StreamRequirementsBuilder.
-    create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.numberReq(),
-            Labels.from("mp-key", "My Mapping", ""),
-            PropertyScope.NONE)
-    .build())
-```
-
-This leads to a selection dialog in the pipeline element customization which provides the user with a selection of all event properties (fields) from the input stream that match the specified property requirement:
-
-<img src="/img/dev-guide-static-properties/sp-mapping-unary.png" width="80%" alt="Text"/>
-
-At invocation time, the value can be extracted in the ``onInvocation`` method as follows:
-
-```java
-// Extract the mapping property value
-String mappingPropertySelector = extractor.mappingPropertyValue("mp-key");
-```
-
-Note that this method returns a ``PropertySelector``, which can be used by the event model to extract the actual value of this field.
-
-### N-ary mapping property
-
-N-ary mapping properties work similar to unary mapping properties, but allow the mapping of one requirement to multiple event properties matching the requirement:
-
-```java
-.requiredStream(StreamRequirementsBuilder.
-    create()
-    .requiredPropertyWithNaryMapping(EpRequirements.numberReq(),
-            Labels.from("mp-key", "My Mapping", ""),
-            PropertyScope.NONE)
-    .build())
-```
-
-This renders the following selection, where users can select more than one matching event property:
-
-<img src="/img/dev-guide-static-properties/sp-mapping-nary.png" width="80%" alt="Text"/>
-
-The following snippet returns a list containing the property selectors of all event properties that have been selected:
-
-```java
-// Extract the mapping property value
-List<String> mappingPropertySelectors = extractor.mappingPropertyValues("mp-key");
-```
-
-### Free-Text Parameters
-
-A free-text parameter requires the pipeline developer to enter a single value - which can be a string or another primitive data type.
-The input of free-text parameters can be restricted to specific value ranges or can be linked to the value set of a connected input data stream.
-
-#### Text Parameters
-
-A text parameter lets the user enter a string value. The following code line in the controller class
-
-```java
-.requiredTextParameter(Labels.from(SP_KEY, "Example Name", "Example Description"))
-```
-
-leads to the following input dialog in the pipeline editor:
-
-<img src="/img/dev-guide-static-properties/sp-text-parameter.png" width="80%" alt="Text"/>
-
-Users can enter any value that will be converted to a string datatype. To receive the entered value in the ``onInvocation`` method, use the following method from the ``ParameterExtractor``
-
-```java
-String textParameter = extractor.singleValueParameter(SP_KEY, String.class);
-```
-
-#### Number parameters
-
-A number parameter lets the user enter a number value, either a floating-point number or an integer:
-
-```java
-// create an integer parameter
-.requiredIntegerParameter(Labels.from(SP_KEY, "Integer Parameter", "Example Description"))
-
-// create a float parameter
-.requiredFloatParameter(Labels.from("float-key", "Float Parameter", "Example Description"))
-
-```
-
-leads to the following input dialog in the pipeline editor only accepting integer values:
-
-<img src="/img/dev-guide-static-properties/sp-number-parameter.png" width="80%" alt="Number Parameter"/>
-
-The pipeline editor performs type validation and ensures that only numbers can be added by the user. To receive the entered value in the ``onInvocation`` method, use the following method from the ``ParameterExtractor``
-
-```java
-// Extract the integer parameter value
-Integer integerParameter = extractor.singleValueParameter(SP_KEY, Integer.class);
-
-// Extract the float parameter value
-Float floatParameter = extractor.singleValueParameter("float-key", Float.class);
-
-```
-
-#### Numbers with value specification
-
-You can also specify the value range of a number-based free text parameter:
-
-```java
-// create an integer parameter with value range
-.requiredIntegerParameter(Labels.from(SP_KEY, "Integer Parameter", "Example Description"), 0, 100, 1)
-
-```
-
-which renders the following input field:
-
-<img src="/img/dev-guide-static-properties/sp-number-parameter-with-range.png" width="80%" alt="Number Parameter"/>
-
-Receive the entered value in the same way as a standard number parameter.
-
-#### Free-text parameters linked to an event property
-
-
-### Single-Value Selections
-
-Single-value selections let the user select from a pre-defined list of options.
-A single-value selection requires to select exactly one option.
-
-```java
-.requiredSingleValueSelection(Labels.from("id", "Example Name", "Example Description"),
-    Options.from("Option A", "Option B", "Option C"))
-
-```
-
-Single-value selections will be rendered as a set of radio buttons in the pipeline editor:
-
-<img src="/img/dev-guide-static-properties/sp-single-selection.png" width="80%" alt="Number Parameter"/>
-
-To extract the selected value, use the following method from the parameter extractor:
-
-```java
-// Extract the selected value
-String selectedSingleValue = extractor.selectedSingleValue("id", String.class);
-```
-
-<div class="admonition tip">
-<div class="admonition-title">Declaring options</div>
-<p>Sometimes, you may want to use an internal name that differs from the display name of an option.
-For that, you can use the method Options.from(Tuple2{'<'}String, String{'>'}) and the extractor method selectedSingleValueInternalName.</p>
-</div>
-
-
-
-### Multi-Value Selections
-
-Multi-value selections let the user select from a pre-defined list of options, where multiple or no option might be selected.
-
-```java
-.requiredMultiValueSelection(Labels.from("id", "Example Name", "Example Description"),
-    Options.from("Option A", "Option B", "Option C"))
-
-```
-
-Multi-value selections will be rendered as a set of checkboxes in the pipeline editor:
-
-<img src="/img/dev-guide-static-properties/sp-multi-selection.png" width="80%" alt="Number Parameter"/>
-
-To extract the selected value, use the following method from the parameter extractor:
-
-```java
-// Extract the selected value
-List<String> selectedMultiValue = extractor.selectedMultiValues("id", String.class);
-```
-
-### Domain Concepts
-
-(coming soon...)
-
-### Collections
-
-You can also define collections based on other static properties.
-
-```java
-// create a collection parameter
-.requiredParameterAsCollection(Labels.from("collection", "Example Name", "Example " +
-        "Description"), StaticProperties.stringFreeTextProperty(Labels
-        .from("text-property","Text","")))
-```
-
-While the items of the collection can be provided in the same way as the underlying static property, the UI provides buttons to add and remove items to the collections.
-
-<img src="/img/dev-guide-static-properties/sp-collection.png" width="80%" alt="Number Parameter"/>
-
-To extract the selected values from the collection, use the following method from the parameter extractor:
-
-```java
-// Extract the text parameter value
-List<String> textParameters = extractor.singleValueParameterFromCollection("collection", String.class);
-```
-
-### Runtime-resolvable selections
-
-In some cases, the options of selection parameters are not static, but depend on other values or might change at runtime. In this case, you can use runtime-resolvable selections.
-
-First, let your controller class implement ``ResolvesContainerProvidedOptions``:
-
-```java
-public class RuntimeResolvableSingleValue extends
-     StandaloneEventProcessingDeclarer<DummyParameters> implements ResolvesContainerProvidedOptions { ... }
-```
-
-Next, define the parameter in the ``declareModel`` method:
-
-```java
-// create a single value selection parameter that is resolved at runtime
-    .requiredSingleValueSelectionFromContainer(Labels.from("id", "Example Name", "Example " +
-            "Description"))
-```
-
-Finally, implement the method ``resolveOptions``, which will be called at runtime once the processor is used:
-
-```java
-  @Override
-  public List<RuntimeOptions> resolveOptions(String requestId, EventProperty linkedEventProperty) {
-    return Arrays.asList(new RuntimeOptions("I was defined at runtime", ""));
-  }
-```
-
-The UI will render a single-value parameter based on the options provided at runtime:
-
-<img src="/img/dev-guide-static-properties/sp-single-selection-remote.png" width="80%" alt="Number Parameter"/>
-
-The parameter extraction does not differ from the extraction of static single-value parameters.
-
-<div class="admonition info">
-<div class="admonition-title">Multi-value selections</div>
-<p>Although this example shows the usage of runtime-resolvable selections using single value selections, the same also works for multi-value selections!</p>
-</div>
-
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/dev-guide-stream-requirements.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/dev-guide-stream-requirements.md
deleted file mode 100644
index 70c5551..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/dev-guide-stream-requirements.md
+++ /dev/null
@@ -1,179 +0,0 @@
----
-id: dev-guide-stream-requirements
-title: "SDK Guide: Stream Requirements"
-sidebar_label: Stream Requirements
-original_id: dev-guide-stream-requirements
----
-
-## Introduction
-
-Data processors and data sinks can define ``StreamRequirements``. Stream requirements allow pipeline elements to express requirements on an incoming event stream that are needed for the element to work properly.
-Once users create pipelines in the StreamPipes Pipeline Editor, these requirements are verified against the connected event stream.
-By using this feature, StreamPipes ensures that only pipeline elements can be connected that are syntactically and semantically valid.
-
-This guide covers the creation of stream requirements. Before reading this section, we recommend that you make yourself familiar with the SDK guide on [data processors](dev-guide-processor-sdk.md) and [data sinks](dev-guide-sink-sdk.md).
-
-<div class="admonition tip">
-<div class="admonition-title">Code on Github</div>
-<p>For all examples, the code can be found on <a href="https://www.github.com/apache/incubator-streampipes-examples/tree/dev/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/streampipes/pe/examples/jvm/requirements/">Github</a>.</p>
-</div>
-
-## The StreamRequirementsBuilder
-
-Stream requirements can be defined in the ``Controller`` class of the pipeline element. Start with a method body like this:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create(ID, PIPELINE_ELEMENT_NAME, DESCRIPTION)
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-
-                    .build())
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-The ``StreamRequirementsBuilder`` class provides methods to add stream requirements to a pipeline element.
-
-## Requirements on primitive fields
-
-As a very first example, let's assume we would like to create a data processor that filters numerical values that are above a given threshold.
-Consequently, any data stream that is connected to the filter processor needs to provide a numerical value.
-
-The stream requirement would be assigned as follows:
-
-```java
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create(ID, PIPELINE_ELEMENT_NAME, DESCRIPTION)
-            .requiredStream(StreamRequirementsBuilder
-                    .create()
-                    .requiredProperty(EpRequirements.numberReq())
-                    .build())
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-Note the line starting with ``requiredProperty``, which requires any stream to provide a datatype of type ``number``.
-
-In many cases, you'll want to let the user select a specific field from a data stream from all available fields that match the specified requirement. For that, you simply use the method ``requiredPropertyWithUnaryMapping`` as follows:
-
-```java
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create(ID, PIPELINE_ELEMENT_NAME, DESCRIPTION)
-            .requiredStream(StreamRequirementsBuilder
-                    .create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.numberReq(),
-                    Labels.from("number-mapping", "The value that should be filtered", ""), PropertyScope.NONE)
-                    .build())
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-See also the developer guide on [static properties](dev-guide-static-properties.md) to better understand the usage of ``MappingProperties``.
-
-Requirements on primitive fields can be specified for all common datatypes:
-
-```java
- @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.requirements" +
-            ".simple", "Simple requirements specification examples", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.numberReq()) // any number
-                    .requiredProperty(EpRequirements.doubleReq()) // any field of type double
-                    .requiredProperty(EpRequirements.booleanReq()) // any field of type boolean
-                    .requiredProperty(EpRequirements.integerReq()) // any field of type integer
-                    .requiredProperty(EpRequirements.stringReq()) // any field of type string
-
-                    .requiredProperty(EpRequirements.anyProperty()) // any field allowed (no restriction)
-                    .requiredProperty(EpRequirements.timestampReq())  // any timestamp field
-                    .build())
-
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-```
-
-### Specifying semantics
-
-For some algorithms, only specifying the datatype is not sufficient. Let's consider a geofencing algorithm that detects the precense some geospatial coordinate (e.g., from a vehicle) within a given location.
-
-You could specify something like this:
-
-```java
-    StreamRequirementsBuilder
-    .create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.doubleEp(), Labels.from("mapping-latitude", "Latitude", ""), PropertyScope.NONE)
-    .requiredPropertyWithUnaryMapping(EpRequirements.doubleEp(), Labels.from("mapping-longitude", "Longitude", ""), PropertyScope.NONE)
-    .build()
-```
-
-However, this would allow users to create strange pipelines as users could connect any stream containing a double value to our geofencing algorithm.
-To avoid such situations, you can also specify requirements based on the semantics of a field:
-
-```java
-    StreamRequirementsBuilder
-    .create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(SO.Latitude), Labels.from("mapping-latitude", "Latitude", ""), PropertyScope.NONE)
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(SO.Longitude), Labels.from("mapping-longitude", "Longitude", ""), PropertyScope.NONE)
-    .build()
-```
-
-Note that in this case, we make use of Schema.org's ``Latitude`` concept ([https://schema.org/latitude](https://schema.org/latitude)). StreamPipes already includes popular vocabularies for specifying semantics. You are also free to use your own vocabularies.
-
-
-## Requirements on lists
-
-Similarly to primitive requirements, you can define processors that require data streams with list fields, see the following examples:
-
-```java
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.requirements" +
-            ".list", "List requirements specification examples", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.Integer))
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.Double))
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.Boolean))
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.String))
-                    .build())
-
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-## Requirements on nested properties
-
-(coming soon, see the Javadoc for now)
-
-
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/dev-guide-tutorial-processors.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/dev-guide-tutorial-processors.md
deleted file mode 100644
index 2d83972..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/dev-guide-tutorial-processors.md
+++ /dev/null
@@ -1,511 +0,0 @@
----
-id: dev-guide-tutorial-processors
-title: "Tutorial: Data Processors"
-sidebar_label: "Tutorial: Data Processors"
-original_id: dev-guide-tutorial-processors
----
-
-In this tutorial, we will add a new data processor using the Apache Flink wrapper.
-
-From an architectural point of view, we will create a self-contained service that includes the description of the data processor and a Flink-compatible implementation.
-Once a pipeline is started that uses this data processor, the implementation is submitted to an Apache Flink cluster.
-
-## Objective
-
-We are going to create a new data processor that realized a simple geofencing algorithm - we detect vehicles that enter a specified radius around a user-defined location.
-This pipeline element will be a generic element that works with any event stream that provides geospatial coordinates in form of a latitude/longitude pair.
-
-The algorithm outputs every location event once the position has entered the geofence.
-
-
-<div class="admonition note">
-<div class="admonition-title">Note</div>
-<p>The implementation in this tutorial is pretty simple - our processor will fire an event every time the GPS location is inside the geofence.
-       In a real-world application, you would probably want to define a pattern that recognizes the _first_ event a vehicle enters the geofence.<br/>
-       This can be easily done using a CEP library, e.g., Apache Flink CEP.</p>
-</div>
-
-
-## Project setup
-
-To create new projects from scratch, several Maven archetypes exist to start developing.
-Enter the following command to create a new project based on the StreamPipes ``Processors-Flink`` archetype:
-
-```
-mvn archetype:generate -DarchetypeGroupId=org.streampipes \
--DarchetypeArtifactId=streampipes-archetype-pe-processors-flink -DarchetypeVersion=0.64.0 \
--DgroupId=org.streampipes.tutorial -DartifactId=geofence-tutorial -DclassNamePrefix=Geofencing -DpackageName=geofencing
-```
-
-
-Once you've imported the generated project, the project structure should look as follows:
-
-<img src="/img/tutorial-processors/project-structure-processor.PNG" alt="Project Structure Data Processor"/>
-
-
-Due to a dependency conflict in the 0.64.0 release, add open your pom.xml and add the following lines to the ``dependencies`` section:
-```
-<dependency>
-    <groupId>javax.validation</groupId>
-    <artifactId>validation-api</artifactId>
-    <version>2.0.1.Final</version>
-</dependency>
-
-```
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Besides the basic project skeleton, the sample project also includes an example Dockerfile you can use to package your application into a Docker container.</p>
-</div>
-
-Now you're ready to create your first data processor for StreamPipes!
-
-## Adding data processor requirements
-
-First, we will add a new stream requirement.
-Open the class `GeofencingController` which should look as follows:
-
-```java
-package org.streampipes.tutorial.pe.processor.geofencing;
-
-import org.streampipes.tutorial.config.Config;
-
-import org.streampipes.model.DataProcessorType;
-import org.streampipes.model.graph.DataProcessorDescription;
-import org.streampipes.model.graph.DataProcessorInvocation;
-import org.streampipes.sdk.builder.ProcessingElementBuilder;
-import org.streampipes.sdk.builder.StreamRequirementsBuilder;
-import org.streampipes.sdk.extractor.ProcessingElementParameterExtractor;
-import org.streampipes.sdk.helpers.EpRequirements;
-import org.streampipes.sdk.helpers.Labels;
-import org.streampipes.sdk.helpers.OutputStrategies;
-import org.streampipes.sdk.helpers.SupportedFormats;
-import org.streampipes.sdk.helpers.SupportedProtocols;
-import org.streampipes.wrapper.flink.FlinkDataProcessorDeclarer;
-import org.streampipes.wrapper.flink.FlinkDataProcessorRuntime;
-
-public class GeofencingController extends
-				FlinkDataProcessorDeclarer<GeofencingParameters> {
-
-	private static final String EXAMPLE_KEY = "example-key";
-
-	@Override
-	public DataProcessorDescription declareModel() {
-		return ProcessingElementBuilder.create("org.streampipes.tutorial-geofencing")
-						.category(DataProcessorType.ENRICH)
-                        .withAssets(Assets.DOCUMENTATION, Assets.ICON)
-						.withLocales(Locales.EN)
-						.requiredStream(StreamRequirementsBuilder
-							.create()
-							.requiredProperty(EpRequirements.anyProperty())
-							.build())
-						.outputStrategy(OutputStrategies.keep())
-						.requiredTextParameter(Labels.from(EXAMPLE_KEY, "Example Text Parameter", "Example " +
-				"Text Parameter Description"))
-						.build();
-	}
-
-	@Override
-	public FlinkDataProcessorRuntime<GeofencingParameters> getRuntime(DataProcessorInvocation
-				graph, ProcessingElementParameterExtractor extractor) {
-
-		String exampleString = extractor.singleValueParameter(EXAMPLE_KEY, String.class);
-
-		GeofencingParameters params = new GeofencingParameters(graph, exampleString);
-
-		return new GeofencingProgram(params, Config.INSTANCE.getDebug());
-	}
-
-}
-
-```
-
-In this class, we need to implement two methods: The `declareModel` method is used to define abstract stream requirements such as event properties that must be present in any input stream that is later connected to the element using the StreamPipes UI.
-The second method, `getRuntime` is used to create and deploy the parameterized Flink program once a pipeline using this element is started.
-
-Similar to data sources, the SDK provides a builder class to generate the description for data processors.
-Delete the content within the ``declareModel`` method and add the following lines to the `declareModel` method:
-
-```java
-return ProcessingElementBuilder.create("org.streampipes.tutorial.geofencing", "Geofencing", "A simple geofencing data processor " +
-            "using the Apache Flink wrapper")
-```
-
-This creates a new data processor with the ID, title and description assigned to the element builder.
-Next, we add some _stream requirements_ to the description. As we'd like to develop a generic pipeline element that works with any event that provides a lat/lng pair, we define two stream requirements as stated below:
-
-```java
-.requiredStream(StreamRequirementsBuilder
-    .create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lat),
-            Labels.from("latitude-field", "Latitude", "The event " +
-            "property containing the latitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lng),
-            Labels.from("longitude-field", "Longitude", "The event " +
-                    "property containing the longitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-    .build())
-```
-
-The first line, `.requiredStream()` defines that we want a data processor with exactly one input stream. Adding more stream requirements would create elements with multiple input connectors in StreamPipes.
-Stream requirements can be assigned by using the `StreamRequirementsBuilder` class.
-In our example, we define two requirements, so-called _domain property requirements_. In contrast to _data type requirements_ where we'd expect an event property with a field of a specific data type (e.g., float), domain property requirements expect a specific domain property, e.g., from a vocabulary such as the WGS84 Geo vocab.
-
-Once a pipeline is deployed, we are interested in the actual field (and its field name) that contains the latitude and longitude values.
-In some cases, there might me more than one field that satisfies a property requirement and we would like users to select the property the geofencing component should operate on.
-Therefore, our example uses the method `requiredPropertyWithUnaryMapping`, which will map a requirement to a real event property of an input stream and  let the user choose the appropriate field in the StreamPipes UI when pipelines are defined.
-
-Finally, the `PropertyScope` indicates that the required property is a measurement value (in contrast to a dimension value). This allows us later to provide improved user guidance in the pipeline editor.
-
-Besides requirements, users should be able to define the center coordinate of the Geofence and the size of the fence defined as a radius around the center in meters.
-The radius can be defined by adding a simple required text field to the description:
-
-```java
-.requiredIntegerParameter("radius", "Geofence Size", "The size of the circular geofence in meters.", 0, 1000, 1)
-```
-
-Similar to mapping properties, text parameters have an internalId (radius), a label and a description.
-In addition, we can assign a _value specification_ to the parameter indicating the value range we support.
-Our example supports a radius value between 0 and 1000 with a granularity of 1.
-In the StreamPipes UI, a required text parameter is rendered as a text input field, in case we provide an optional value specification, a slider input is automatically generated.
-
-Such user-defined parameters are called _static properties_. There are many different types of static properties (see the [Processor SDK](dev-guide-sdk-guide-processors#docsNav) for an overview).
-
-One example are _DomainProperties_ we use for defining the center of the geofence.
-Our data processor requires a lat/lng pair that marks the center of the geofence.
-However, letting users directly input latitude and longitude coordinates wouldn't be very user-friendly.
-Therefore, we can link required text parameters to _ontology concepts_. By understanding the required input, the StreamPipes UI is able to determine which user interface works best for a specific concept.
-
-Add the following line to the `declareModel` method:
-
-```java
-.requiredOntologyConcept(Labels.from("location", "Geofence Center", "Provide the coordinate of the " +
-    "geofence center"), OntologyProperties.mandatory(Geo.lat), OntologyProperties.mandatory(Geo.lng))
-
-```
-
-We've now defined that we would like to receive an instance that provides a latitude and a longitude coordinate.
-Users can input these values either manually, or they can look up _domain knowledge_, i.e., knowledge stored isolated from the stream definition.
-
-Finally, we need to define technical requirements of the data processor, called _groundings_.
-StreamPipes supports various runtime data formats (e.g., JSON or Thrift) and various protocols (e.g., Kafka or JMS).
-Each component defines supports formats and protocol separately.
-For our example, we'd like to support JSON-based messages and Kafka as input and output broker protocol, so append the following:
-
-```java
-.supportedProtocols(SupportedProtocols.kafka())
-.supportedFormats(SupportedFormats.jsonFormat())
-.build();
-```
-
-Now we need to define the output of our Geofencing pipeline element.
-As explained in the first section, the element should fire every time some geo-located entity arrives within the defined geofence.
-Therefore, the processor outputs the same schema as it receives as an input.
-Although we don't know the exact input right now as it depends on the stream users connect in StreamPipes when creating pipelines, we can define an _output strategy_ as follows:
-
-```java
-.outputStrategy(OutputStrategies.keep())
-```
-
-This defines a _KeepOutputStrategy_, i.e., the input event schema is not modified by the processor.
-There are many more output strategies you can define depending on the functionality you desire, e.g., _AppendOutput_ for defining a processor that enriches events or _CustomOutput_ in case you would like users to select the output by themselves.
-
-That's it! We've now defined input requirements, required user input, technical requirements concerned with data format and protocol and an output strategy.
-In the next section, you will learn how to extract these parameters once the pipeline element is invoked after a pipeline was created.
-
-## Pipeline element invocation
-
-Once users start a pipeline that uses our geofencing component, the _getRuntime_ method in our class is called. The class `DataSinkInovcation` includes a graph that contains information on the configuration parameters a users has selected in the pipeline editor and information on the acutal streams that are connected to the pipeline element.
-
-Before we explain in more detail how to extract these values from the processor invocation, we need to adapt a little helper class.
-Open the file ```GeofencingParameters``` and modify it as follows:
-
-```java
-public class GeofencingParameters extends EventProcessorBindingParams {
-
-  private String latitudeFieldName;
-  private String longitudeFieldName;
-
-  private Float centerLatitude;
-  private Float centerLongitude;
-
-  private Integer radius;
-
-  public GeofencingParameters(DataProcessorInvocation graph, String latitudeFieldName, String longitudeFieldName,
-                              Float centerLatitude, Float centerLongitude, Integer radius) {
-    super(graph);
-    this.latitudeFieldName = latitudeFieldName;
-    this.longitudeFieldName = longitudeFieldName;
-    this.centerLatitude = centerLatitude;
-    this.centerLongitude = centerLongitude;
-    this.radius = radius;
-  }
-
-  public String getLatitudeFieldName() {
-    return latitudeFieldName;
-  }
-
-  public String getLongitudeFieldName() {
-    return longitudeFieldName;
-  }
-
-  public Float getCenterLatitude() {
-    return centerLatitude;
-  }
-
-  public Float getCenterLongitude() {
-    return centerLongitude;
-  }
-
-  public Integer getRadius() {
-    return radius;
-  }
-```
-
-This simple Pojo class will later serve to store user-defined parameters in a single object.
-
-Now we go back to the controller class and extract these values from the invocation object.
-
-The ``ProcessingElementParameterExtractor``  provides convenience methods to extract the relevant information from the `DataProcessorInvocation` object.
-
-Next, we are interested in the fields of the input event stream that contains the latitude and longitude value we would like to compute against the geofence center location as follows:
-
-```java
-String latitudeFieldName = extractor.mappingPropertyValue("latitude-field");
-String longitudeFieldName = extractor.mappingPropertyValue("longitude-field");
-```
-
-We use the same `internalId` we've used to define the mapping property requirements in the `declareModel` method.
-
-Next, for extracting the geofence center coordinates, we use the following statements:
-
-```java
-Float centerLatitude = extractor.supportedOntologyPropertyValue("location", Geo.lat, Float.class);
-Float centerLongitude = extractor.supportedOntologyPropertyValue("location", Geo.lng, Float.class);
-```
-
-The radius value can be extracted as follows:
-
-```java
-Integer radius = extractor.singleValueParameter("radius", Integer.class);
-```
-
-Now we can create a new instance of our previously created parameter class:
-
-```java
-GeofencingParameters params = new GeofencingParameters(dataProcessorInvocation, latitudeFieldName,
-            longitudeFieldName, centerLatitude, centerLongitude, radius);
-```
-
-Finally, return an instance of the class ```GeofencingProgram```:
-
-```java
-return new GeofencingProgram(params, true);
-```
-
-<div class="admonition tip">
-<div class="admonition-title">Info</div>
-<p>The line above uses the Flink MiniCluster to start the Flink program for debugging purposes.
-       Before you build the project and use it in a real environment, replace the line as follows, which triggers cluster execution:
-       <code>return new GeofencingProgram(params, new FlinkDeploymentConfig(Config.JAR_FILE, Config.INSTANCE.getFlinkHost(), Config.INSTANCE.getFlinkPort())</code></p>
-</div>
-
-
-Great! That's all we need to describe a data processor for usage in StreamPipes. Your controller class should look as follows:
-
-```java
-import org.streampipes.model.graph.DataProcessorDescription;
-import org.streampipes.model.graph.DataProcessorInvocation;
-import org.streampipes.model.schema.PropertyScope;
-import org.streampipes.sdk.builder.ProcessingElementBuilder;
-import org.streampipes.sdk.builder.StreamRequirementsBuilder;
-import org.streampipes.sdk.extractor.ProcessingElementParameterExtractor;
-import org.streampipes.sdk.helpers.EpRequirements;
-import org.streampipes.sdk.helpers.Labels;
-import org.streampipes.sdk.helpers.OntologyProperties;
-import org.streampipes.sdk.helpers.OutputStrategies;
-import org.streampipes.sdk.helpers.SupportedFormats;
-import org.streampipes.sdk.helpers.SupportedProtocols;
-import org.streampipes.vocabulary.Geo;
-import org.streampipes.wrapper.flink.FlinkDataProcessorDeclarer;
-import org.streampipes.wrapper.flink.FlinkDataProcessorRuntime;
-
-public class GeofencingController extends FlinkDataProcessorDeclarer<GeofencingParameters> {
-
-  @Override
-  protected FlinkDataProcessorRuntime<GeofencingParameters> getRuntime(DataProcessorInvocation dataProcessorInvocation) {
-    ProcessingElementParameterExtractor extractor = ProcessingElementParameterExtractor.from(dataProcessorInvocation);
-
-    String latitudeFieldName = extractor.mappingPropertyValue("latitude-field");
-    String longitudeFieldName = extractor.mappingPropertyValue("longitude-field");
-
-    Float centerLatitude = extractor.supportedOntologyPropertyValue("location", Geo.lat, Float.class);
-    Float centerLongitude = extractor.supportedOntologyPropertyValue("location", Geo.lng, Float.class);
-
-    Integer radius = extractor.singleValueParameter("radius", Integer.class);
-
-    GeofencingParameters params = new GeofencingParameters(dataProcessorInvocation, latitudeFieldName,
-            longitudeFieldName, centerLatitude, centerLongitude, radius);
-
-    return new GeofencingProgram(params);
-  }
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("geofencing-flink", "Geofencing", "A simple geofencing data processor " +
-            "using the Apache Flink wrapper")
-            .requiredStream(StreamRequirementsBuilder
-                    .create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lat),
-                            Labels.from("latitude-field", "Latitude", "The event " +
-                            "property containing the latitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-                    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lng),
-                            Labels.from("longitude-field", "Longitude", "The event " +
-                                    "property containing the longitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-                    .build())
-            .requiredIntegerParameter("radius", "Geofence Size", "The size of the circular geofence in meters.",
-                    0, 1000, 1)
-            .requiredOntologyConcept(Labels.from("location", "Geofence Center", "Provide the coordinate of the " +
-                    "geofence center"), OntologyProperties.mandatory(Geo.lat), OntologyProperties.mandatory(Geo.lng))
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-            .build();
-  }
-}
-
-```
-
-## Adding an implementation
-
-Everything we need to do now is to add an implementation which does not differ from writing an Apache Flink topology.
-
-Open the class `GeofencingProcessor.java` and add the following piece of code, which realizes the Geofencing functionality:
-
-```java
-public class GeofencingProcessor implements FlatMapFunction<Map<String, Object>, Map<String, Object>> {
-
-  private String latitudeFieldName;
-  private String longitudeFieldName;
-
-  private Float centerLatitude;
-  private Float centerLongitude;
-
-  private Integer radius;
-
-  public GeofencingProcessor(String latitudeFieldName, String longitudeFieldName, Float centerLatitude, Float centerLongitude, Integer radius) {
-    this.latitudeFieldName = latitudeFieldName;
-    this.longitudeFieldName = longitudeFieldName;
-    this.centerLatitude = centerLatitude;
-    this.centerLongitude = centerLongitude;
-    this.radius = radius;
-  }
-
-  @Override
-  public void flatMap(Event in, Collector<Event> out) throws Exception {
-    Float latitude = in.getFieldBySelector(latitudeFieldName).getAsPrimitive().getAsFloat();
-    Float longitude = in.getFieldBySelector(longitudeFieldName).getAsPrimitive().getAsFloat();
-
-    Float distance = distFrom(latitude, longitude, centerLatitude, centerLongitude);
-
-    if (distance <= radius) {
-      out.collect(in);
-    }
-  }
-
-  public static Float distFrom(float lat1, float lng1, float lat2, float lng2) {
-    double earthRadius = 6371000;
-    double dLat = Math.toRadians(lat2-lat1);
-    double dLng = Math.toRadians(lng2-lng1);
-    double a = Math.sin(dLat/2) * Math.sin(dLat/2) +
-            Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) *
-                    Math.sin(dLng/2) * Math.sin(dLng/2);
-    double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
-    return (float) (earthRadius * c);
-  }
-
-}
-```
-
-We won't go into details here as this isn't StreamPipes-related code, but in general the class extracts latitude and longitude fields from the input event (which is provided as a map data type) and calculates the distance between the geofence center and these coordinates.
-If the distance is below the given radius, the event is forwarded to the next operator.
-
-Finally, we need to connect this program to the Flink topology. StreamPipes automatically adds things like the Kafka consumer and producer, so that you only need to invoke the actual geofencing processor.
-Open the file `GeofencingProgram` and append the following line inside the `getApplicationLogic()` method:
-
-```java
-return dataStreams[0].flatMap(new GeofencingProcessor(params.getLatitudeFieldName(), params.getLongitudeFieldName(),
-    params.getCenterLatitude(), params.getCenterLongitude(), params.getRadius()));
-```
-
-## Preparing the container
-The final step is to define the deployment type of our new data source. In this tutorial, we will create a so-called `StandaloneModelSubmitter`.
-This client will start an embedded web server that provides the description of our data source and automatically submits the program to the registered Apache Flink cluster.
-
-Go to the class `Init` that extends `StandaloneModelSubmitter` and should look as follows:
-```java
-package org.streampipes.tutorial.main;
-
-import org.streampipes.container.init.DeclarersSingleton;
-import org.streampipes.container.standalone.init.StandaloneModelSubmitter;
-
-import org.streampipes.tutorial.config.Config;
-import org.streampipes.tutorial.pe.processor.geofencing.GeofencingController;
-
-public class Init extends StandaloneModelSubmitter {
-
-  public static void main(String[] args) throws Exception {
-    DeclarersSingleton.getInstance()
-            .add(new GeofencingController());
-
-    new Init().init(Config.INSTANCE);
-
-  }
-}
-```
-
-<div class="admonition info">
-<div class="admonition-title">Info</div>
-<p>In the example above, we make use of a class `Config`.
-       This class contains both mandatory and additional configuration parameters required by a pipeline element container.
-       These values are stored in the Consul-based key-value store of your StreamPipes installation.
-       The SDK guide contains a detailed manual on managing container configurations.
-</p>
-</div>
-
-## Starting the container
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>By default, the container registers itself using the hostname later used by the Docker container, leading to a 404 error when you try to access an RDF description.
-       For local development, we provide an environment file in the ``development`` folder. You can add your hostname here, which will override settings from the Config class.
-       For instance, use the IntelliJ ``EnvFile`` plugin to automatically provide the environment variables upon start.
-</p>
-</div>
-
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p> The default port of all pipeline element containers as defined in the `Config` file is port 8090.
-       If you'd like to run mutliple containers at the same time on your development machine, change the port in the environment file.
-</p>
-</div>
-
-Now we are ready to start our container!
-
-Execute the main method in the class `Main` we've just created, open a web browser and navigate to http://localhost:8090 (or the port you have assigned in the environment file).
-
-You should see something as follows:
-
-<img src="/img/tutorial-processors/pe-overview-flink.PNG" alt="Pipeline Element Container Overview (Flink)"/>
-
-Click on the link of the data source to see the RDF description of the pipeline element.
-
-<img src="/img/tutorial-processors/pe-rdf-geofencing.PNG" alt="Geofencing RDF description"/>
-
-The container automatically registers itself in the Consul installation of StreamPipes.
-To install the just created element, open the StreamPipes UI and follow the manual provided in the [user guide](user-guide-installation).
-
-## Read more
-
-Congratulations! You've just created your first data processor for StreamPipes.
-There are many more things to explore and data processors can be defined in much more detail using multiple wrappers.
-Follow our [SDK guide](dev-guide-sdk-guide-processors) to see what's possible!
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/dev-guide-tutorial-sinks.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/dev-guide-tutorial-sinks.md
deleted file mode 100644
index cbf87e9..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/dev-guide-tutorial-sinks.md
+++ /dev/null
@@ -1,256 +0,0 @@
----
-id: dev-guide-tutorial-sinks
-title: "Tutorial: Data Sinks"
-sidebar_label: "Tutorial: Data Sinks"
-original_id: dev-guide-tutorial-sinks
----
-
-In this tutorial, we will add a new data sink using the standalone wrapper.
-
-From an architectural point of view, we will create a self-contained service that includes the description of the data sink and a corresponding implementation.
-
-## Objective
-
-We are going to create a new data sink that calls an external HTTP endpoint to forward data to an external service.
-
-For each incoming event, an external service is invoked using an HTTP POST request. In this example, we'll call an endpoint provided by [RequestBin](https://requestbin.com/).
-To setup your own endpoint, go to [https://requestbin.com/](https://requestbin.com/) and click "Create a request bin". Copy the URL of the newly created endpoint.
-
-
-## Project setup
-
-We'll create a new project using the provided sinks-standalone-jvm Maven archetype.
-Enter the following command to create a new project based on the StreamPipes ``Sinks-JVM`` archetype:
-
-```
-mvn archetype:generate -DarchetypeGroupId=org.streampipes \
--DarchetypeArtifactId=streampipes-archetype-pe-sinks-jvm -DarchetypeVersion=0.64.0 \
--DgroupId=org.streampipes.tutorial -DartifactId=sink-tutorial -DclassNamePrefix=Rest -DpackageName=geofencing
-```
-
-Once you've imported the generated project, the project structure should look as follows:
-
-<img src="/img/tutorial-sinks/project-structure-sinks.png" alt="Project Structure Data Sink"/>
-
-Due to a dependency conflict in the 0.64.0 release, open your pom.xml and add the following lines to the ``dependencies`` section:
-```
-<dependency>
-    <groupId>javax.validation</groupId>
-    <artifactId>validation-api</artifactId>
-    <version>2.0.1.Final</version>
-</dependency>
-
-```
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Besides the basic project skeleton, the sample project also includes an example Dockerfile you can use to package your application into a Docker container.</p>
-</div>
-
-Now you're ready to create your first data sink for StreamPipes!
-
-## Adding data sink requirements
-
-First, we will add a new stream requirement.
-Open the class `RestController` which should look as follows:
-
-```java
-package org.streampipes.tutorial.pe.sink.rest;
-
-import org.streampipes.model.DataSinkType;
-import org.streampipes.model.graph.DataSinkDescription;
-import org.streampipes.model.graph.DataSinkInvocation;
-import org.streampipes.sdk.builder.DataSinkBuilder;
-import org.streampipes.sdk.builder.StreamRequirementsBuilder;
-import org.streampipes.sdk.extractor.DataSinkParameterExtractor;
-import org.streampipes.sdk.helpers.EpRequirements;
-import org.streampipes.sdk.helpers.Labels;
-import org.streampipes.sdk.helpers.SupportedFormats;
-import org.streampipes.sdk.helpers.SupportedProtocols;
-import org.streampipes.wrapper.standalone.ConfiguredEventSink;
-import org.streampipes.wrapper.standalone.declarer.StandaloneEventSinkDeclarer;
-import org.streampipes.sdk.helpers.*;
-import org.streampipes.sdk.utils.Assets;
-
-public class RestController extends StandaloneEventSinkDeclarer<RestParameters> {
-
-	private static final String EXAMPLE_KEY = "example-key";
-
-	@Override
-	public DataSinkDescription declareModel() {
-		return DataSinkBuilder.create("org.streampipes.tutorial.pe.sink.rest")
-						.category(DataSinkType.NOTIFICATION)
-						.withAssets(Assets.DOCUMENTATION, Assets.ICON)
-						.withLocales(Locales.EN)
-						.requiredStream(StreamRequirementsBuilder
-                                            .create()
-                                            .requiredPropertyWithNaryMapping(EpRequirements.anyProperty(), Labels.withId(
-                                                    "fields-to-send"), PropertyScope.NONE)
-                                            .build())
-						.build();
-	}
-
-	@Override
-	public ConfiguredEventSink<RestParameters> onInvocation(DataSinkInvocation graph, DataSinkParameterExtractor extractor) {
-
-		 List<String> fieldsToSend = extractor.mappingPropertyValues("fields-to-send");
-        
-         RestParameters params = new RestParameters(graph, fieldsToSend);
-
-		return new ConfiguredEventSink<>(params, Rest::new);
-	}
-
-}
-
-```
-
-In this class, we need to implement two methods: The `declareModel` method is used to define abstract stream requirements such as event properties that must be present in any input stream that is later connected to the element using the StreamPipes UI.
-The second method, `onInvocation` is used to create and deploy program once a pipeline using this sink is started.
-
-The ``declareModel`` method describes the properties of our data sink:
-* ``category`` defines a category for this sink.
-* ``withAssets`` denotes that we will provide an external documentation file and an icon, which can be found in the ``resources`` folder
-* ``withLocales`` defines that we will provide an external language file, also available in the ``resources`` folder
-* ``requiredStream`` defines requirements any input stream connected to this sink must provide. In this case, we do not have any specific requirements, we just forward all incoming events to the REST sink. However, we want to let the user display a list of available fields from the connected input event, where users can select a subset. This is defined by defining a Mapping from the empty requirement. This will later on render a selection dialog in the pipeline editor.
-
-The ``onInvocation`` method is called when a pipeline containing the sink is started. Once a pipeline is started, we would like to extract user-defined parameters.
-In this example, we simply extract the fields selected by users that should be forwarded to the REST sink. Finally, we return a new configured event sink containing the parameters.
-
-## Pipeline element invocation
-
-Once users start a pipeline that uses our geofencing component, the _getRuntime_ method in our class is called. The class `DataSinkInovcation` includes a graph that contains information on the configuration parameters a users has selected in the pipeline editor and information on the acutal streams that are connected to the pipeline element.
-
-Before we explain in more detail how to extract these values from the processor invocation, we need to adapt a little helper class.
-Open the file ```RestParameters``` and modify it as follows:
-
-```java
-public class RestParameters extends EventSinkBindingParams {
-
-  private List<String> fieldsToSend;
-
-  public RestParameters(DataSinkInvocation graph, List<String> fieldsToSend) {
-    super(graph);
-    this.fieldsToSend = fieldsToSend;
-  }
-
-  public List<String> getFieldsToSend() {
-    return fieldsToSend;
-  }
-}
-```
-
-This file will later provide information on the configured pipeline element.
-
-## Adding an implementation
-
-Now open the class ``Rest`` to add the proper implementation (i.e., the Rest call executed for every incoming event).
-
-Our final class should look as follows:
-
-```java
-private static Logger LOG = LoggerFactory.getLogger(Rest.class.getCanonicalName());
-
-  private static final String REST_ENDPOINT_URI = YOUR_REQUEST_BIN_URL;
-  private List<String> fieldsToSend;
-  private SpDataFormatDefinition dataFormatDefinition;
-
-  public Rest() {
-    this.dataFormatDefinition = new JsonDataFormatDefinition();
-  }
-
-  @Override
-  public void onInvocation(RestParameters parameters, EventSinkRuntimeContext runtimeContext) {
-    this.fieldsToSend = parameters.getFieldsToSend();
-  }
-
-  @Override
-  public void onEvent(Event event) {
-    Map<String, Object> outEventMap = event.getSubset(fieldsToSend).getRaw();
-    try {
-      String json = new String(dataFormatDefinition.fromMap(outEventMap));
-      Request.Post(REST_ENDPOINT_URI).body(new StringEntity(json, Charsets.UTF_8)).execute();
-    } catch (SpRuntimeException e) {
-      LOG.error("Could not parse incoming event");
-    } catch (IOException e) {
-      LOG.error("Could not reach endpoint at {}", REST_ENDPOINT_URI);
-    }
-  }
-
-  @Override
-  public void onDetach() {
-
-  }
-```
-The only class variable you need to change right now is the REST_ENDPOINT_URL. Change this url to the URL provided by your request bin.
-We'll ignore the other class variables and the constructor for now. Important are three methods, ``onInvocation``, ``onEvent`` and ``onDetach``.
-
-The ``onInvocation`` method is called once a pipeline containing our REST data sink is started. The ``onEvent`` method is called for each incoming event. Finally, ``onDetach`` is called when a pipeline is stopped.
-
-In the ``onInvocation`` method, we can extract the selected fields to be forwarded to the REST endpoint.
-In the ``ònEvent`` method, we use a helper method to get a subset of the incoming event.
-Finally, we convert the resulting ``Map`` to a JSON string and call the endpoint.
-
-
-## Preparing the container
-The final step is to define the deployment type of our new data source. In this tutorial, we will create a so-called `StandaloneModelSubmitter`.
-This client will start an embedded web server that provides the description of our data source and automatically starts the program in an embedded container.
-
-Go to the class `Init` that extends `StandaloneModelSubmitter` and should look as follows:
-```java
-
-public static void main(String[] args) throws Exception {
-    DeclarersSingleton.getInstance()
-            .add(new RestController());
-
-    DeclarersSingleton.getInstance().setPort(Config.INSTANCE.getPort());
-    DeclarersSingleton.getInstance().setHostName(Config.INSTANCE.getHost());
-
-    DeclarersSingleton.getInstance().registerDataFormats(new JsonDataFormatFactory(),
-            new CborDataFormatFactory(),
-            new SmileDataFormatFactory(),
-            new FstDataFormatFactory());
-
-    DeclarersSingleton.getInstance().registerProtocols(new SpKafkaProtocolFactory(),
-            new SpJmsProtocolFactory());
-
-    new Init().init(Config.INSTANCE);
-```
-
-<div class="admonition info">
-<div class="admonition-title">Info</div>
-<p>In the example above, we make use of a class `Config`.
-       This class contains both mandatory and additional configuration parameters required by a pipeline element container.
-       These values are stored in the Consul-based key-value store of your StreamPipes installation.
-       The SDK guide contains a detailed manual on managing container configurations.
-</p>
-</div>
-
-## Starting the container
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>By default, the container registers itself using the hostname later used by the Docker container, leading to a 404 error when you try to access an RDF description.
-       For local development, we provide an environment file in the ``development`` folder. You can add your hostname here, which will override settings from the Config class.
-       For instance, use the IntelliJ ``EnvFile`` plugin to automatically provide the environment variables upon start.
-</p>
-</div>
-
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p> The default port of all pipeline element containers as defined in the `Config` file is port 8090.
-       If you'd like to run mutliple containers at the same time on your development machine, change the port in the environment file.
-</p>
-</div>
-
-Now we are ready to start our container!
-
-Execute the main method in the class `Main` we've just created.
-
-The container automatically registers itself in the Consul installation of StreamPipes.
-To install the just created element, open the StreamPipes UI and follow the manual provided in the [user guide](user-guide-installation).
-
-## Read more
-
-Congratulations! You've just created your first data sink for StreamPipes.
-There are many more things to explore and data sinks can be defined in much more detail using multiple wrappers.
-Follow our [SDK guide](dev-guide-sdk-guide-sinks) to see what's possible!
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/dev-guide-tutorial-sources.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/dev-guide-tutorial-sources.md
deleted file mode 100644
index 50a80e8..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/dev-guide-tutorial-sources.md
+++ /dev/null
@@ -1,283 +0,0 @@
----
-id: dev-guide-tutorial-sources
-title: "Tutorial: Data Sources"
-sidebar_label: "Tutorial: Data Sources"
-original_id: dev-guide-tutorial-sources
----
-
-In this tutorial, we will add a new data source consisting of a single data stream. The source will be provided as a standalone component (i.e., the description will be accessible through an integrated web server).
-
-## Objective
-
-We are going to create a new data stream that is produced by a GPS sensor installed in a delivery vehicle.
-The sensor produces a continuous stream of events that contain the current timestamp, the current lat/lng position of the vehicle and the plate number of the vehicle.
-Events are published in a JSON format as follows:
-```json
-{
-  "timestamp" : 145838399,
-  "latitude" : 37.04,
-  "longitude" : 17.04,
-  "plateNumber" : "KA-AB 123"
-}
-```
-
-These events are published to a Kafka broker using the topic `org.streampipes.tutorial.vehicle`.
-
-In the following section, we show how to describe this stream in a form that allows you to import and use it in StreamPipes.
-
-## Project setup
-
-Instead of creating a new project from scratch, we recommend to use the Maven archetype to create a new project skeleton.
-Enter the following command in a command line of your choice (Apache Maven needs to be installed):
-
-```
-mvn archetype:generate \
--DarchetypeGroupId=org.streampipes -DarchetypeArtifactId=streampipes-archetype-pe-sources \
--DarchetypeVersion=0.64.0 -DgroupId=my.groupId \
--DartifactId=my-source -DclassNamePrefix=MySource -DpackageName=mypackagename
-```
-
-Configure the variables ``artifactId`` (which will be the Maven artifactId), ``classNamePrefix`` (which will be the class name of your data stream) and ``packageName``.
-
-For this tutorial, use ``Vehicle`` as ``classNamePrefix``.
-
-Your project will look as follows:
-
-<img src="/img/tutorial-sources/project-structure.PNG" alt="Project Structure"/>
-
-That's it, go to the next section to learn how to create your first data stream!
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Besides the basic project skeleton, the sample project also includes an example Dockerfile you can use to package your application into a Docker container.
-</p>
-</div>
-
-## Adding a data stream description
-
-Now we will add a new data stream definition.
-First, open the class `VehicleStream` which should look as follows:
-
-```java
-
-package my.groupId.pe.mypackagename;
-
-import org.streampipes.model.SpDataStream;
-import org.streampipes.model.graph.DataSourceDescription;
-import org.streampipes.sdk.builder.DataStreamBuilder;
-import org.streampipes.sdk.helpers.EpProperties;
-import org.streampipes.sdk.helpers.Formats;
-import org.streampipes.sdk.helpers.Protocols;
-import org.streampipes.sources.AbstractAdapterIncludedStream;
-
-
-public class MySourceStream extends AbstractAdapterIncludedStream {
-
-  @Override
-  public SpDataStream declareModel(DataSourceDescription sep) {
-    return DataStreamBuilder.create("my.groupId-mypackagename", "MySource", "")
-            .property(EpProperties.timestampProperty("timestamp"))
-
-            // configure your stream here
-
-            .format(Formats.jsonFormat())
-            .protocol(Protocols.kafka("localhost", 9092, "TOPIC_SHOULD_BE_CHANGED"))
-            .build();
-  }
-
-  @Override
-  public void executeStream() {
-
-  }
-}
-```
-
-This class extends the class ``AbstractAdapterIncludedStream``, which indicates that this source continuously produces data (configured in the ``executeStream()`` method.
-In contrast, the class `AbstractAlreadyExistingStream` indicates that we only want to describe an already existing stream (e.g., a stream that already sends data to an existing Kafka broker).
-
-Now we will add the definition of the data stream. Add the following code inside of the `declareModel` method:
-```java
-return DataStreamBuilder.create("org.streampipes.tutorial.vehicle.position", "Vehicle Position", "An event stream " +
-          "that produces current vehicle positions")
-```
-
-This line creates a new instance of the SDK's `DataStreamBuilder` by providing three basic parameters:
-The first parameter must be a unique identifier of your data stream.
-The second and third parameters indicate a label and a description of your stream.
-These values will later be used in the StreamPipes UI to display stream details in a human-readable manner.
-
-Next, we will add the properties as stated above to the stream definition by adding the following lines:
-```java
-.property(EpProperties.timestampProperty("timestamp"))
-.property(EpProperties.stringEp(Labels.from("plate-number", "Plate Number", "Denotes the plate number of the vehicle"), "plateNumber", "http://my.company/plateNumber"))
-.property(EpProperties.doubleEp(Labels.from("latitude", "Latitude", "Denotes the latitude value of the vehicle's position"), "latitude", Geo.lat))
-.property(EpProperties.doubleEp(Labels.from("longitude", "Longitude", "Denotes the longitude value of the vehicle's position"), "longitude", Geo.lng))
-```
-These four _event properties_ compose our _event schema_. An event property must, at least, provide the following attributes:
-
-* **Runtime Name**. The runtime name indicates the key of the property at runtime, e.g., if our JSON message contains a structure such as `{"plateNumber" : "KA-F 123"}`, the runtime name must be `plateNumber`.
-* **Runtime Type**. An event property must have a primitive type (we will later see how to model more complex properties such as lists and nested properties).
-The type must be an instance of `XMLSchema` primitives, however, the SDK provides convenience methods to provide the property type.
-* **Domain Property**. The domain property indicates the semantics of the event property. For instance, the `latitude` property is linked to the `http://www.w3.org/2003/01/geo/wgs84_pos#lat` property of the WGS84 vocabulary.
-The domain property should be an URI as part of an existing or domain-specific vocabulary. The SDK provides convenience methods for popuplar vocabularies (e.g., Schema.org, Dolce or WGS84).
-
-In order to complete the minimum required specification of an event stream, we need to provide information on the transport format and protocol of the data stream at runtime.
-
-This can be achieved by extending the builder with the respective properties (which should already have been auto-generated):
-```java
-.format(Formats.jsonFormat())
-.protocol(Protocols.kafka("localhost", 9092, "TOPIC_SHOULD_BE_CHANGED"))
-.build();
-```
-
-Set ``org.streampipes.tutorial.vehicle`` as your new topic by replacing the term ``TOPIC_SHOULD_BE_CHANGED`.
-
-In this example, we defined that the data stream consists of events in a JSON format and that Kafka is used as a message broker to transmit events.
-The last build() method call triggers the construction of the RDF-based data stream definition.
-
-That's it! In the next section, we will connect the data stream to a source and inspect the generated RDF description.
-
-## Creating some dummy data
-
-Let's assume our stream should produce some random values that are sent to StreamPipes. We'll add a very simple data simulator to the ``executeStream`` method as follows:
-
-```java
-@Override
-  public void executeStream() {
-
-    SpKafkaProducer producer = new SpKafkaProducer("localhost:9092", "TOPIC_SHOULD_BE_CHANGED");
-    Random random = new Random();
-    Runnable runnable = new Runnable() {
-      @Override
-      public void run() {
-        for (;;) {
-          JsonObject jsonObject = new JsonObject();
-          jsonObject.addProperty("timestamp", System.currentTimeMillis());
-          jsonObject.addProperty("plateNumber", "KA-FZ 1");
-          jsonObject.addProperty("latitude", random.nextDouble());
-          jsonObject.addProperty("longitude", random.nextDouble());
-
-          producer.publish(jsonObject.toString());
-
-          try {
-            Thread.sleep(1000);
-          } catch (InterruptedException e) {
-            e.printStackTrace();
-          }
-
-        }
-      }
-    };
-
-    new Thread(runnable).start();
-  }
-```
-
-Change the topic and the URL of your Kafka broker (as stated in the controller).
-
-## Adding a source description
-
-A data source can be seen like a container for a set of data streams. Usually, a data source includes events that are logically or physically connected.
-For instance, in our example we would add other streams produced by vehicle sensors (such as fuel consumption) to the same data source description.
-
-Open the class `DataSource` which should look as follows:
-```java
-
-package my.groupId.pe.mypackagename;
-
-import org.streampipes.container.declarer.DataStreamDeclarer;
-import org.streampipes.container.declarer.SemanticEventProducerDeclarer;
-import org.streampipes.model.graph.DataSourceDescription;
-import org.streampipes.sdk.builder.DataSourceBuilder;
-
-import java.util.Arrays;
-import java.util.List;
-
-
-public class DataSource implements SemanticEventProducerDeclarer {
-
-  public DataSourceDescription declareModel() {
-    return DataSourceBuilder.create("my.groupId.mypackagename.source", "MySource " +
-        "Source", "")
-            .build();
-  }
-
-  public List<DataStreamDeclarer> getEventStreams() {
-    return Arrays.asList(new MySourceStream());
-  }
-}
-```
-First, we need to define the source. Similar to data streams, a source consists of an id, a human-readable name and a description.
-Replace the content defined in the `declareModel` method with the following code:
-```java
-return DataSourceBuilder.create("org.streampipes.tutorial.source.vehicle", "Vehicle Source", "A data source that " +
-    "holds event streams produced by vehicles.")
-    .build();
-```
-
-## Preparing the container
-
-The final step is to define the deployment type of our new data source. In this tutorial, we will create a so-called `StandaloneModelSubmitter`.
-This client will start an embedded web server that provides the description of our data source.
-
-Go to the class `Init` that implements `StandaloneModelSubmitter`, which should look as follows:
-```java
-package my.groupId.main;
-
-import org.streampipes.container.init.DeclarersSingleton;
-import org.streampipes.container.standalone.init.StandaloneModelSubmitter;
-import my.groupId.config.Config;
-import my.groupId.pe.mypackagename.DataSource;
-
-public class Init extends StandaloneModelSubmitter {
-
-  public static void main(String[] args) throws Exception {
-    DeclarersSingleton.getInstance()
-            .add(new DataSource());
-
-    new Init().init(Config.INSTANCE);
-
-  }
-}
-```
-This code adds the `VehicleSource`. Finally, the `init` method is called
-which triggers the generation of the corresponding RDF description and startup of the web server.
-
-<div class="admonition info">
-<div class="admonition-title">Info</div>
-<p>In the example above, we make use of a class `Config`.
-       This class contains both mandatory and additional configuration parameters required by a pipeline element container.
-       These values are stored in the Consul-based key-value store of your StreamPipes installation.
-       The SDK guide contains a detailed manual on managing container configurations.</p>
-</div>
-
-## Starting the container
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>By default, the container registers itself using the hostname later used by the Docker container, leading to a 404 error when you try to access an RDF description.
-       For local development, we provide an environment file in the ``development`` folder. You can add your hostname here, which will override settings from the Config class.
-       For instance, use the IntelliJ ``EnvFile`` plugin to automatically provide the environment variables upon start.
-</p>
-</div>
-
-Now we are ready to start our first container!
-
-Execute the main method in the class `Main` we've just created, open a web browser and navigate to http://localhost:8090, or change the port according to the value of the ``SP_PORT`` variable in the env file.
-
-You should see something as follows:
-
-<img src="/img/tutorial-sources/pe-overview.PNG" alt="Pipeline Element Container Overview"/>
-
-Click on the link of the data source to see the RDF description of the pipeline element.
-
-<img src="/img/tutorial-sources/pe-rdf.PNG" alt="Pipeline Element RDF description"/>
-
-The container automatically registers itself in the Consul installation of StreamPipes.
-To install the just created element, open the StreamPipes UI and follow the manual provided in the [user guide](user-guide-introduction).
-
-## Read more
-
-Congratulations! You've just created your first pipeline element for StreamPipes.
-There are many more things to explore and data sources can be defined in much more detail.
-Follow our [SDK guide](dev-guide-source-sdk) to see what's possible!
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.geo.flink/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.geo.flink/documentation.md
deleted file mode 100644
index 3f3f7a7..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.geo.flink/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.flink
-title: Spatial Grid Enrichment
-sidebar_label: Spatial Grid Enrichment
-original_id: org.apache.streampipes.processor.geo.flink
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.geo.flink/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Groups spatial events into cells of a given size
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/documentation.md
deleted file mode 100644
index d2f83e4..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.jvm.geocoding
-title: Google Maps Geocoder
-sidebar_label: Google Maps Geocoder
-original_id: org.apache.streampipes.processor.geo.jvm.geocoding
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-</p>
-
-***
-
-## Description
-
-This processor computes the latitude and longitude values from a location (a place name such as "Karlsruhe, Germany
-") and adds the result to the event.
-
-***
-
-## Required input
-
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/documentation.md
deleted file mode 100644
index 9ee1d6f..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/documentation.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.jvm.reversegeocoding
-title: Reverse Geocoder
-sidebar_label: Reverse Geocoder
-original_id: org.apache.streampipes.processor.geo.jvm.reversegeocoding
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-</p>
-
-***
-
-## Description
-
-This processor computes place name based on given lat/lng coordinates that are transmitted as fields from an event.
-
-***
-
-## Required input
-
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/documentation.md
deleted file mode 100644
index 050f362..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/documentation.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.jvm.staticgeocoding
-title: Static Google Maps Geocoder
-sidebar_label: Static Google Maps Geocoder
-original_id: org.apache.streampipes.processor.geo.jvm.staticgeocoding
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-</p>
-
-***
-
-## Description
-
-This processor computes the latitude and longitude values from a fixed location (a place name such as "Karlsruhe
-, Germany
-") and adds the result to the event.
-
-***
-
-## Required input
-
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md
deleted file mode 100644
index 04b3b87..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification
-title: Generic Image Classification
-sidebar_label: Generic Image Classification
-original_id: org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Image  + Classification Description (Generic Model)
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md
deleted file mode 100644
index 30b9580..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processor.imageclassification.jvm.image-enricher
-title: Image Enricher
-sidebar_label: Image Enricher
-original_id: org.apache.streampipes.processor.imageclassification.jvm.image-enricher
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Image Enrichment: Enriches an  + image with  + given bounding box coordinates
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/documentation.md
deleted file mode 100644
index 6865caa..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processor.imageclassification.qrcode
-title: QR Code Reader
-sidebar_label: QR Code Reader
-original_id: org.apache.streampipes.processor.imageclassification.qrcode
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.imageclassification.qrcode/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-QR Code Reader: Detects a QR Code in an image
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/documentation.md
deleted file mode 100644
index 4976da9..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/documentation.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.aggregation
-title: Aggregation
-sidebar_label: Aggregation
-original_id: org.apache.streampipes.processors.aggregation.flink.aggregation
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.aggregation/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs different aggregation functions based on a sliding time window (e.g., average, sum, min, max)
-
-***
-
-## Required input
-
-The aggregation processor requires a data stream that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Group by
-The aaggregation function can be calculated separately (partitioned) by the selected field value. 
-
-### Output every
-The frequency in which aggregated values are sent in seconds.
-
-### Time window
-The size of the time window in seconds
-
-### Aggregated Value
-The field used for calculating the aggregation value.
-
-## Output
-
-This processor appends the latest aggregated value to every input event that arrives.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/documentation.md
deleted file mode 100644
index c9dc8c7..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/documentation.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.eventcount
-title: Event Counter
-sidebar_label: Event Counter
-original_id: org.apache.streampipes.processors.aggregation.flink.eventcount
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-
-
-***
-
-## Description
-
-Counts the number of events arriving within a time window. An event is emitted every time the time window expires.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Time Window: The scale and size of the time window.
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/documentation.md
deleted file mode 100644
index f012002..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/documentation.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.rate
-title: Event Rate
-sidebar_label: Event Rate
-original_id: org.apache.streampipes.processors.aggregation.flink.rate
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.rate/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Computes the current event rate. Output is a number representing events per second.
-
-***
-
-## Required input
-
-The event rate processor works with any stream and does not have any specific requirements.
-
-***
-
-## Configuration
-
-### Time Baseline
-Time window size used for calculating the rate in seconds, also defines the output rate
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md
deleted file mode 100644
index e619125..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.flink.processor.math.mathop
-title: Math
-sidebar_label: Math
-original_id: org.apache.streampipes.processors.enricher.flink.processor.math.mathop
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs calculations on event properties (+, -, *, /, %).
-
-***
-
-## Required input
-The math processor works with any event that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Left operand
-The field from the input event that should be used as the left operand.
-
-### Right operand
-The field from the input event that should be used as the right operand.
-
-### Operation
-The math operation that should be performed.
-
-## Output
-The processor appends the calculation result to each input event.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md
deleted file mode 100644
index 0f044c5..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop
-title: Static Math
-sidebar_label: Static Math
-original_id: org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs calculation on an event property with a static value (+, -, *, /, %).
-
-***
-
-## Required input
-The math processor works with any event that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Left operand
-The field from the input event that should be used as the left operand.
-
-### Right operand value
-Specify the value of the right operand.
-
-### Operation
-The math operation that should be performed.
-
-## Output
-The processor appends the calculation result to each input event.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md
deleted file mode 100644
index 2fac83e..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.flink.processor.trigonometry
-title: Trigonometry Functions
-sidebar_label: Trigonometry Functions
-original_id: org.apache.streampipes.processors.enricher.flink.processor.trigonometry
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs Trigonometric functions (sin, cos, tan) on event properties.
-
-***
-
-## Required input
-The trigonometry processor works with any event that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Alpha
-The field that should be used for calculating the trigonometric function.
-
-
-### Operation
-The trigonometric function that should be calculated.
-
-## Output
-The processor appends the calculation result to each input event.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md
deleted file mode 100644
index 01fed70..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.flink.processor.urldereferencing
-title: URL Dereferencing
-sidebar_label: URL Dereferencing
-original_id: org.apache.streampipes.processors.enricher.flink.processor.urldereferencing
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Parses and appends the html page as a string to event.
-
-***
-
-## Required input
-The URL Dereferencing processor requires an input stream that provides an input field of type 'string', representing 
-the URL to dereference.
-
-***
-
-## Configuration
-
-### URL
-The field containing the URL to dereference.
-
-## Output
-The processor appends the extracted HTML page to each input event.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/documentation.md
deleted file mode 100644
index 6dd6bfc..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/documentation.md
+++ /dev/null
@@ -1,49 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.flink.timestamp
-title: Timestamp Enricher
-sidebar_label: Timestamp Enricher
-original_id: org.apache.streampipes.processors.enricher.flink.timestamp
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.timestamp/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Appends the current time in ms to the event payload.
-
-***
-
-## Required input
-The timestamp enricher works with any input event.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-This processor appends the current system time to every input event.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/documentation.md
deleted file mode 100644
index cb698a9..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/documentation.md
+++ /dev/null
@@ -1,32 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.jvm.sizemeasure
-title: Size Measure
-sidebar_label: Size Measure
-original_id: org.apache.streampipes.processors.enricher.jvm.sizemeasure
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.jvm.sizemeasure/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Measures the size of an incoming event and appends this number to the event by serializing it.
-
-***
-
-## Required input
-The size measure processor does not have any specific input requirements.
-
-***
-
-## Configuration
-
-You can specify if the size should be in Bytes, Kilobytes (1024 Bytes) or in Megabytes (1024 Kilobytes).
-
-## Output
-The size measure processor appends the size of the event (without the field, which is getting added) as a double. The rest of the event stays the same.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/documentation.md
deleted file mode 100644
index c02b529..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/documentation.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.compose
-title: Compose
-sidebar_label: Compose
-original_id: org.apache.streampipes.processors.filters.jvm.compose
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.compose/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Merges two event streams. Any time, a new input event arrives, it is merged with the last input event from the other 
-event stream and forwarded.
-
-***
-
-## Required input
-The Compose processor does not have any specific input requirements.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-The compose processor has a configurable output that can be selected by the user at pipeline modeling time.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/documentation.md
deleted file mode 100644
index a119dc1..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/documentation.md
+++ /dev/null
@@ -1,48 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.enrich
-title: Merge By Enrich
-sidebar_label: Merge By Enrich
-original_id: org.apache.streampipes.processors.filters.jvm.enrich
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.enrich/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Merges two data streams by enriching one of the streams with the properties of the other stream. The output frequency is the same as the frequency of the stream which is enriched.
-***
-
-## Required input
-None
-***
-
-## Configuration
-
-* Select the stream which should be enriched with the properties of the other stream.
-  * The last event of the stream is hold in state and each event of the other stream is enriched by the properties the user selected
-
-## Output
-The compose processor has a configurable output that can be selected by the user at pipeline modeling time.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/documentation.md
deleted file mode 100644
index fbfd775..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/documentation.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.merge
-title: Merge By Time
-sidebar_label: Merge By Time
-original_id: org.apache.streampipes.processors.filters.jvm.merge
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.merge/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Merges two event streams by their timestamp.
-Two events of the different streams are merged when they occure to the same time
-
-The following figure shows how the events of the two data streams will be mergrged:
-
-<p align="center"> 
-    <img width="width: 50%;" src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.merge/merge_description.png" class="pe-image-documentation"/>
-</p>
-***
-
-## Required input
-Each of the data streams needs a timestamp.
-***
-
-## Configuration
-
-* For each stream a the timestamp property on which the merger is performed has to be selected
-* The Time Interval describes the maximum value between two events to decide whether they are a match. To be a valid match the following function must be true: | timestamp_stream_1 - timestamp_stream_2 | < interval
-
-## Output
-The compose processor has a configurable output that can be selected by the user at pipeline modeling time.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/documentation.md
deleted file mode 100644
index 82b4c5b..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/documentation.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.numericalfilter
-title: Numerical Filter
-sidebar_label: Numerical Filter
-original_id: org.apache.streampipes.processors.filters.jvm.numericalfilter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.numericalfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-The Numerical Filter processor filters numerical values based on a given threshold.
-
-***
-
-## Required input
-The processor works with any input event that has one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Field
-Specifies the field name where the filter operation should be applied on.
-
-
-### Operation
-Specifies the filter operation that should be applied on the field.
-
-### Threshold value
-Specifies the threshold value.
-
-## Output
-The processor outputs the input event if it satisfies the filter expression.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/documentation.md
deleted file mode 100644
index f002872..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/documentation.md
+++ /dev/null
@@ -1,68 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.numericaltextfilter
-title: Numerical Text Filter
-sidebar_label: Numerical Text Filter
-original_id: org.apache.streampipes.processors.filters.jvm.numericaltextfilter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-
-***
-
-## Description
-The Numerical Text Filter processor filters numerical values based on a given threshold and text values 
-based on a given string. It only forwards events in case both criteria are satisfied.
-
-***
-
-## Required input
-The processor works with any input event that has one field containing a numerical value and one field 
-containing a text.
-
-***
-
-## Configuration
-
-### Number Field
-Specifies the field name where the filter operation should be applied on.
-
-### Number Operation
-Specifies the filter operation that should be applied on the field.
-
-### Number Threshold
-Specifies the threshold value.
-
-### Text Field
-The field containing the text that should be filtered.
-
-### Text Operation
-The operation used by the filter processor (equals or matches).
-
-### Text Keyword
-Specifies the keyword to filter the text field.
-
-## Output
-The processor outputs the input event if it satisfies the filter expression.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/documentation.md
deleted file mode 100644
index ca2c056..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/documentation.md
+++ /dev/null
@@ -1,49 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.project
-title: Projection
-sidebar_label: Projection
-original_id: org.apache.streampipes.processors.filters.jvm.project
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.project/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Outputs a selectable subset of an input event type.
-
-***
-
-## Required input
-The project processor works with any input event stream.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-The output depends on the fields selected at pipeline development time.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/documentation.md
deleted file mode 100644
index c6e5fa9..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/documentation.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.textfilter
-title: Text Filter
-sidebar_label: Text Filter
-original_id: org.apache.streampipes.processors.filters.jvm.textfilter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.textfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-The Text Filter processor filters text values based on a given string.
-
-***
-
-## Required input
-The processor works with any input event that has one field containing a text.
-
-***
-
-## Configuration
-
-### Text Field
-The field containing the text that should be filtered.
-
-
-### Operation
-The operation used by the filter processor (equals or matches)
-
-## Output
-The processor outputs the input event if it satisfies the filter expression.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/documentation.md
deleted file mode 100644
index a9055c8..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/documentation.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.threshold
-title: Threshold Detector
-sidebar_label: Threshold Detector
-original_id: org.apache.streampipes.processors.filters.jvm.threshold
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.threshold/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-The Threshold Detector processor appends a boolean whether the condition is fulfilled or not
-
-***
-
-## Required input
-The processor works with any input event that has one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Field
-Specifies the field name where the filter operation should be applied on.
-
-
-### Operation
-Specifies the filter operation that should be applied on the field.
-
-### Threshold value
-Specifies the threshold value.
-
-## Output
-Appends a boolean with the value whether the condition is fulfilled or not.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/documentation.md
deleted file mode 100644
index 7f3c33f..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.geo.jvm.processor.distancecalculator
-title: Distance Calculator
-sidebar_label: Distance Calculator
-original_id: org.apache.streampipes.processors.geo.jvm.processor.distancecalculator
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Groups spatial events into cells of a given size
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md
deleted file mode 100644
index 9bf3f3c..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.pattern-detection.flink.peak-detection
-title: Peak Detection
-sidebar_label: Peak Detection
-original_id: org.apache.streampipes.processors.pattern-detection.flink.peak-detection
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detect peaks in time series data
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/documentation.md
deleted file mode 100644
index 7d0ecf2..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/documentation.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.frequency
-title: Frequency Calculation
-sidebar_label: Frequency Calculation
-original_id: org.apache.streampipes.processors.siddhi.frequency
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.frequency/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Calculates the frequency of the event stream.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/documentation.md
deleted file mode 100644
index dd2bd42..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/documentation.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.frequencychange
-title: Frequency Change
-sidebar_label: Frequency Change
-original_id: org.apache.streampipes.processors.siddhi.frequencychange
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.frequencychange/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects when the frequency of the event stream changes
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/documentation.md
deleted file mode 100644
index 0b3ef35..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.increase
-title: Trend
-sidebar_label: Trend
-original_id: org.apache.streampipes.processors.siddhi.increase
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.increase/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects the increase of a numerical field over a customizable time window. Example: A temperature value increases by 10 percent within 5 minutes.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/documentation.md
deleted file mode 100644
index 3c4ad39..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.numericalfilter
-title: Numerical Filter (Siddhi)
-sidebar_label: Numerical Filter (Siddhi)
-original_id: org.apache.streampipes.processors.siddhi.numericalfilter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.numericalfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/documentation.md
deleted file mode 100644
index bd810f9..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.sequence
-title: Sequence Detection
-sidebar_label: Sequence Detection
-original_id: org.apache.streampipes.processors.siddhi.sequence
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.sequence/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Merges events from two event streams, when the top event arrives first and then the bottom event
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/documentation.md
deleted file mode 100644
index 5028a9b..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.stop
-title: Stream Stop Detection
-sidebar_label: Stream Stop Detection
-original_id: org.apache.streampipes.processors.siddhi.stop
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.stop/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Triggers an event when the input data stream stops sending events
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/documentation.md
deleted file mode 100644
index 7c2367f..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.flink.languagedetection
-title: Language Detection
-sidebar_label: Language Detection
-original_id: org.apache.streampipes.processors.textmining.flink.languagedetection
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.flink.languagedetection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects the language of a written text.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/documentation.md
deleted file mode 100644
index 53d3333..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.flink.wordcount
-title: Word Count
-sidebar_label: Word Count
-original_id: org.apache.streampipes.processors.textmining.flink.wordcount
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.flink.wordcount/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Counts words on continuous text-based streams
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/documentation.md
deleted file mode 100644
index 95ecfe2..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/documentation.md
+++ /dev/null
@@ -1,68 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.chunker
-title: Chunker (English)
-sidebar_label: Chunker (English)
-original_id: org.apache.streampipes.processors.textmining.jvm.chunker
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.chunker/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Segments given tokens into chunks (e.g. noun groups, verb groups, ...) and appends the found chunks to the stream.
-
-***
-
-## Required input
-
-Needs a stream with two string list properties:
-1. A list of tokens 
-2. A list of part-of-speech tags (the Part-of-Speech processing element can be used for that)
-
-***
-
-## Configuration
-
-Assign the tokens and the part of speech tags to the corresponding stream property.
-
-## Output
-
-**Example:**
-
-Input:
-```
-tokens: ["John", "is", "a", "Person"]
-tags: ["NNP", "VBZ", "DT", "NN"]
-```
-
-Output:
-```
-tokens: ["John", "is", "a", "Person"]
-tags: ["NNP", "VBZ", "DT", "NN"]
-chunks: ["John", "is", "a Person"]
-chunkType: ["NP", "VP", "NP"])
-```
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/documentation.md
deleted file mode 100644
index 2847f2a..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/documentation.md
+++ /dev/null
@@ -1,168 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.languagedetection
-title: Language Detection
-sidebar_label: Language Detection
-original_id: org.apache.streampipes.processors.textmining.jvm.languagedetection
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.languagedetection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects the language of incoming text. For a proper detection each text should contain at least 2 sentences.
-
-Supported languages:
-* Afrikaans (afr)
-* Arabic (ara)
-* Asturian (ast)
-* Azerbaijani (aze)
-* Bashkir (bak)
-* Belarusian (bel)
-* Bengali (ben)
-* Bosnian (bos)
-* Breton (bre)
-* Bulgarian (bul)
-* Catalan (cat)
-* Cebuano (ceb)
-* Czech (ces)
-* Chechen (che)
-* Mandarin Chinese (cmn)
-* Welsh (cym)
-* Danish (dan)
-* German (deu)
-* Standard Estonian (ekk)
-* Greek, Modern (ell)
-* English (eng)
-* Esperanto (epo)
-* Estonian (est)
-* Basque (eus)
-* Faroese (fao)
-* Persian (fas)
-* Finnish (fin)
-* French (fra)
-* Western Frisian (fry)
-* Irish (gle)
-* Galician (glg)
-* Swiss German (gsw)
-* Gujarati (guj)
-* Hebrew (heb)
-* Hindi (hin)
-* Croatian (hrv)
-* Hungarian (hun)
-* Armenian (hye)
-* Indonesian (ind)
-* Icelandic (isl)
-* Italian (ita)
-* Javanese (jav)
-* Japanese (jpn)
-* Kannada (kan)
-* Georgian (kat)
-* Kazakh (kaz)
-* Kirghiz (kir)
-* Korean (kor)
-* Latin (lat)
-* Latvian (lav)
-* Limburgan (lim)
-* Lithuanian (lit)
-* Luxembourgish (ltz)
-* Standard Latvian (lvs)
-* Malayalam (mal)
-* Marathi (mar)
-* Minangkabau (min)
-* Macedonian (mkd)
-* Maltese (mlt)
-* Mongolian (mon)
-* Maori (mri)
-* Malay (msa)
-* Min Nan Chinese (nan)
-* Low German (nds)
-* Nepali (nep)
-* Dutch (nld)
-* Norwegian Nynorsk (nno)
-* Norwegian Bokmål (nob)
-* Occitan (oci)
-* Panjabi (pan)
-* Iranian Persian (pes)
-* Plateau Malagasy (plt)
-* Western Panjabi (pnb)
-* Polish (pol)
-* Portuguese (por)
-* Pushto (pus)
-* Romanian (ron)
-* Russian (rus)
-* Sanskrit (san)
-* Sinhala (sin)
-* Slovak (slk)
-* Slovenian (slv)
-* Somali (som)
-* Spanish (spa)
-* Albanian (sqi)
-* Serbian (srp)
-* Sundanese (sun)
-* Swahili (swa)
-* Swedish (swe)
-* Tamil (tam)
-* Tatar (tat)
-* Telugu (tel)
-* Tajik (tgk)
-* Tagalog (tgl)
-* Thai (tha)
-* Turkish (tur)
-* Ukrainian (ukr)
-* Urdu (urd)
-* Uzbek (uzb)
-* Vietnamese (vie)
-* Volapük (vol)
-* Waray (war)
-* Zulu (zul)
-
-***
-
-## Required input
-
-A stream with a string property which contains a text.
-The longer the text, the higher the accuracy of the language detector.
-
-
-***
-
-## Configuration
-
-Simply assign the correct output of the previous stream to the language detector input.
-
-## Output
-
-Adds two fields to the event:
-1. String Property: The acronym of the detected language which can be seen above.
-2. Double Property: The confidence of the detector that it found the correct language. Between 0 (not certain at all) and 1 (very certain).
-
-
-**Example:**
-
-Input: `(text: "Hi, how are you?")`
-
-Output: `(text: "Hi, how are you?", language: "eng", confidenceLanguage: 0.89)`
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/documentation.md
deleted file mode 100644
index a30925f..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/documentation.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.namefinder
-title: Name Finder
-sidebar_label: Name Finder
-original_id: org.apache.streampipes.processors.textmining.jvm.namefinder
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.namefinder/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Loads a trained model which finds names like locations or organizations.
-
-A list of trained models can be found [here](http://opennlp.sourceforge.net/models-1.5/).\
-A guide on how to train a new model can be found [here](https://opennlp.apache.org/docs/1.9.1/manual/opennlp.html#tools.namefind.training).
-
-***
-
-## Required input
-
-A stream with a list of tokens from a text.
-
-***
-
-## Configuration
-
-Configure the Name finder so that the tokens are assigned to the "List of Tokens" property
-
-#### Model parameter
-
-The trained model which should be used to find the names.
-
-## Output
-
-Appends a string list property to the stream which contains all found names.
-
-**Example (with an loaded english person-name-model):**
-
-Input: `(tokens: ["Hi", "John", "Doe", "is", "here"])`
-
-Output: `(tokens: ["Hi", "John", "Doe", "is", "here"], foundNames: ["John Doe"])`
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/documentation.md
deleted file mode 100644
index b9cfd38..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/documentation.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.partofspeech
-title: Part of Speech (English)
-sidebar_label: Part of Speech (English)
-original_id: org.apache.streampipes.processors.textmining.jvm.partofspeech
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.partofspeech/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Takes in a stream of tokens and marks each token with a part-of-speech tag
-The list of used suffixes can be found [here](https://www.ling.upenn.edu/courses/Fall_2003/ling001/penn_treebank_pos.html)
-
-***
-
-## Required input
-
-A stream with a list property which contains the tokens.
-
-***
-
-## Configuration
-
-Simply assign the correct output of the previous stream to the part of speech detector input.
-
-## Output
-
-Appends two list properties to the stream:
-1. String list: The tag for each token
-2. Double list: The confidence for each tag that it is indeed the given tag (between 0 and 1)
-
-**Example:**
-
-Input: `(tokens: ["Hi", "Joe"])`
-
-Output: `(tokens: ["Hi", "Joe"], tags: ["UH", "NNP"], confidence: [0.82, 0.87])`
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/documentation.md
deleted file mode 100644
index 735af41..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/documentation.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.sentencedetection
-title: Sentence Detection (English)
-sidebar_label: Sentence Detection (English)
-original_id: org.apache.streampipes.processors.textmining.jvm.sentencedetection
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.sentencedetection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects sentences in a text and splits the text accordingly. Only works with english sentences.
-
-***
-
-## Required input
-
-A stream with a string property which contains a text.
-
-***
-
-## Configuration
-
-Simply assign the correct output of the previous stream to the tokenizer input.
-
-## Output
-
-Creates for each sentence in a text a new event in which it replaces the text with the sentence.
-
-**Example:**
-
-Input: `(text: "Hi, how are you? I am fine!")`
-
-Output: `(text: "Hi, how are you?")`, `(text: "I am fine!")`
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/documentation.md
deleted file mode 100644
index 564dbc7..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/documentation.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.tokenizer
-title: Tokenizer (English)
-sidebar_label: Tokenizer (English)
-original_id: org.apache.streampipes.processors.textmining.jvm.tokenizer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.tokenizer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Segments a given text into Tokens (usually words, numbers, punctuations, ...). Works best with english text.
-
-***
-
-## Required input
-
-A stream with a string property which contains a text.
-
-***
-
-## Configuration
-
-Simply assign the correct output of the previous stream to the tokenizer input.
-
-## Output
-
-Adds a list to the stream which contains all tokens of the corresponding text.
-
-**Example:**
-
-Input: `(text: "Hi, how are you?")`
-
-Output: `(text: "Hi, how are you?", tokens: ["Hi", ",", "how", "are", "you", "?"])`
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/documentation.md
deleted file mode 100644
index 6c663b0..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.field-converter
-title: Field Converter
-sidebar_label: Field Converter
-original_id: org.apache.streampipes.processors.transformation.flink.field-converter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-converter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Converts a string value to a number data type
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/documentation.md
deleted file mode 100644
index 866750e..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.field-mapper
-title: Field Mapper
-sidebar_label: Field Mapper
-original_id: org.apache.streampipes.processors.transformation.flink.field-mapper
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-mapper/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Replaces one or more field with a new field and computes a hash value of these fields
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/documentation.md
deleted file mode 100644
index 513c3d2..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.field-renamer
-title: Field Renamer
-sidebar_label: Field Renamer
-original_id: org.apache.streampipes.processors.transformation.flink.field-renamer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-renamer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Replaces the runtime name of an event property with a custom defined name. Useful for data ingestion purposes where a specific event schema is needed.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/documentation.md
deleted file mode 100644
index b08c3aa..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.fieldhasher
-title: Field Hasher
-sidebar_label: Field Hasher
-original_id: org.apache.streampipes.processors.transformation.flink.fieldhasher
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.fieldhasher/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-The Field Hasher uses an algorithm to encode values in a field. The Field Hasher can use MD5, SHA1 or SHA2 to hash field values.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md
deleted file mode 100644
index 6e48329..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.measurement-unit-converter
-title: Measurement Unit Converter
-sidebar_label: Measurement Unit Converter
-original_id: org.apache.streampipes.processors.transformation.flink.measurement-unit-converter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Converts a unit of measurement to another one
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md
deleted file mode 100644
index a5f562d..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.processor.boilerplate
-title: Boilerplate Removal
-sidebar_label: Boilerplate Removal
-original_id: org.apache.streampipes.processors.transformation.flink.processor.boilerplate
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Removes boilerplate and extract fulltext from HTML
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/documentation.md
deleted file mode 100644
index a46f78b..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/documentation.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.booloperator.counter
-title: Boolean Counter
-sidebar_label: Boolean Counter
-original_id: org.apache.streampipes.processors.transformation.jvm.booloperator.counter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor monitors a boolean value and counts how often the value of the boolean changes. 
-A user can configure whether the changes from FALSE to TRUE, TRUE to FALSE, or BOTH changes should be counted.
-
-***
-
-## Required input
-
-A boolean value is required in the data stream and can be selected with the field mapping.
-
-### Boolean Field
-
-The boolean value to be monitored.
-
-***
-
-## Configuration
-
-A user can configure whether the changes from TRUE to FALSE, FALSE to TRUE, or all changes of the boolean value should be counted.
-
-### Flank parameter
-
-Either:
-* TRUE -> FALSE: Increase counter on a true followed by a false 
-* FALSE -> TRUE: Increase counter on a false followed by a true
-* BOTH: Increas counter on each change of the boolean value on two consecutive events
-
-## Output
-
-Adds an additional numerical field with the current count value to the event. Events are just emitted when the counter changes.
-Runtime Name: countField
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/documentation.md
deleted file mode 100644
index 3d9110c..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/documentation.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.booloperator.inverter
-title: Boolean Inverter
-sidebar_label: Boolean Inverter
-original_id: org.apache.streampipes.processors.transformation.jvm.booloperator.inverter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor requires a boolean value in the data stream and inverts its value. (e.g. true -> flase)
-
-***
-
-## Required input
-
-### Boolean Field
-
-The boolean value to be inverted.
-
-***
-
-## Configuration
-No further configuration required
-
-## Output
-The output schema is the same as the input schema. Just the value of the property is changed.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/documentation.md
deleted file mode 100644
index bc5f36c..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/documentation.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping
-title: Measure Time Between Two Sensors
-sidebar_label: Measure Time Between Two Sensors
-original_id: org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor can be used to measure the time between two boolean sensors.
-For example on a conveyor, where one sensor is placed on the left and one senor placed on the right.
-Parts are transported on the conveyor and the sensors are boolean sensors detecting those parts. 
-The time is measured between the two sensors as well as the amount of complete transportation's is counted.  
-The measurement is initialized once the left sensor is true and stopped once the right sensor is true.
-There can also be multiple parts on the conveyor as long as the individual parts do not change.
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/time_measure_example.png" width="300px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Required input
-Requires two boolean fields in the datastream.
-
-### Left Field
-The left field starts the timer when value is true.
-
-### Right Field
-The right field stops the timer and emits the event when its value is true.
-
-***
-
-## Configuration
-No furhter configuration is required.
-
-## Output
-Appends two fields to the input event.
-
-### Timer Field
-The timer field is a numeric value representing the time between the two sensors. Runtime name: measured_time
-
-### Counter
-The counter indicated how many events where emitted by this component. Runtime name: counter
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/documentation.md
deleted file mode 100644
index a9c05e7..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/documentation.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.booloperator.timer
-title: Boolean Timer
-sidebar_label: Boolean Timer
-original_id: org.apache.streampipes.processors.transformation.jvm.booloperator.timer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor measures how long a boolean value does not change. Once the value is changes the event with the measured time is emitted.
-
-
-***
-
-## Required input
-
-A boolean value is required in the data stream.
-
-### Field
-
-The boolean field which is monitored for state changes.
-
-***
-
-## Configuration
-
-### Timer value
-Define whether it should be measured how long the value is true or how long the value is false.
-
-## Output
-Appends a field with the time how long the value did not change. Is emitted on the change of the boolean value. Runtime name: measured_time 
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/documentation.md
deleted file mode 100644
index 6b903af..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/documentation.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.changed-value
-title: Value Changed
-sidebar_label: Value Changed
-original_id: org.apache.streampipes.processors.transformation.jvm.changed-value
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.changed-value/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor sends out an event everytime a specific object changes. It also adds a timestamp in ms from the system time.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/documentation.md
deleted file mode 100644
index cd7c561..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/documentation.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.count-array
-title: Count Array
-sidebar_label: Count Array
-original_id: org.apache.streampipes.processors.transformation.jvm.count-array
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.count-array/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor takes a list field, computes the size of the list and appends the result to the event.
-
-***
-
-## Required input
-
-This processor works with any event that has a field of type ``list``.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### List Field
-
-The field containing the list that should be used.
-
-## Output
-
-Outputs the incoming event while appending the list size (named ``countValue``) to the incoming event.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/documentation.md
deleted file mode 100644
index a2e2943..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/documentation.md
+++ /dev/null
@@ -1,45 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.csvmetadata
-title: CSV Metadata Enricher
-sidebar_label: CSV Metadata Enricher
-original_id: org.apache.streampipes.processors.transformation.jvm.csvmetadata
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-
-***
-
-## Description
-
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/documentation.md
deleted file mode 100644
index 00e4564..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.duration-value
-title: Calculate Duration
-sidebar_label: Calculate Duration
-original_id: org.apache.streampipes.processors.transformation.jvm.duration-value
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.duration-value/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor calculates the duration for a given stream with a start timestamp and an end timestamp.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md
deleted file mode 100644
index 5132b60..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor
-title: Timestamp Extractor
-sidebar_label: Timestamp Extractor
-original_id: org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor extracts a timestamp into the individual time fields (e.g. day field, hour field, ....)
-
-***
-
-## Required input
-
-This processor requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-### Timestamp Field
-
-The field of the event containing the timestamp to parse.
-
-### Extract Fields
-
-Select the individual parts of the timestamp that should be extracted, e.g., Year, Minute and Day.
-
-## Output
-
-The output of this processor is a new event that contains the fields selected by the ``Extract Fields`` parameter.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/documentation.md
deleted file mode 100644
index 6a0d5e3..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/documentation.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.split-array
-title: Split Array
-sidebar_label: Split Array
-original_id: org.apache.streampipes.processors.transformation.jvm.split-array
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.split-array/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor takes an array of event properties and creates an event for each of them. Further property of the events can be added to each element
-Add a detailed description here
-
-***
-
-## Required input
-
-This processor works with any event that has a field of type ``list``.
-
-***
-
-## Configuration
-
-### Keep Fields
-
-Fields of the event that should be kept in each resulting event.
-
-### List field
-
-The name of the field that contains the list values that should be split.
-
-
-## Output
-
-This data processor produces an event with all fields selected by the ``Keep Fields`` parameter and all fields of the
- selected list field.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/documentation.md
deleted file mode 100644
index 9bb2ff1..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/documentation.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.taskduration
-title: Task Duration
-sidebar_label: Task Duration
-original_id: org.apache.streampipes.processors.transformation.jvm.taskduration
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-
-***
-
-## Description
-
-This processors computes the duration of a task, i.e., a field containing a task description. It outputs an event
- every time this task value changes and computes the duration between the first occurrence of this task and the
-  current event. For instance, you can use this event to calculate the time a specific process step requires.
-***
-
-## Required input
-
-A timestamp value is required and a field containing a task value.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-
-Emits an event that contains the process step, built from the names of the first task identifier and the identifier
- of the subsequent task. In addition, the duration is part of the output event, provided in milliseconds.
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/documentation.md
deleted file mode 100644
index fe08d3d..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/documentation.md
+++ /dev/null
@@ -1,36 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.transform-to-boolean
-title: Transform to boolean
-sidebar_label: Transform to boolean
-original_id: org.apache.streampipes.processors.transformation.jvm.transform-to-boolean
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor inverts a specific boolean
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/documentation.md
deleted file mode 100644
index 401fe35..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/documentation.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.bufferrest
-title: Buffered REST Publisher
-sidebar_label: Buffered REST Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.bufferrest
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.bufferrest/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Collects a given amount of events into a JSON array. Once this event count is reached
-the JSON array is posted to the given REST interface.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### REST URL
-
-The complete URL of the REST endpoint.
-
-### Buffer Size
-
-The amount of events before sending.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/documentation.md
deleted file mode 100644
index 61816d8..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/documentation.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.jms
-title: JMS Publisher
-sidebar_label: JMS Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.jms
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.jms/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes events to a message broker (e.g., ActiveMQ) using the Java Message Service (JMS) protocol.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### JMS Broker Settings
-
-The basic settings to connect to the broker. 
-The JMS broker URL indicates the URL of the broker (e.g., tcp://localhost), the port indicates the port of the broker
- (e.g., 61616)
-
-
-### JMS Topic
-
-The topic where events should be sent to.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/documentation.md
deleted file mode 100644
index 448b7c3..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/documentation.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.kafka
-title: Kafka Publisher
-sidebar_label: Kafka Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.kafka
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.kafka/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes events to Apache Kafka.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Kafka Broker Settings
-
-The basic settings to connect to the broker. 
-The Kafka broker URL indicates the URL of the broker (e.g., localhost), the port indicates the port of the broker
- (e.g., 9092)
-
-
-### Kafka Topic
-
-The topic where events should be sent to.
-
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/documentation.md
deleted file mode 100644
index fb97bbf..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/documentation.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.pulsar
-title: Pulsar Publisher
-sidebar_label: Pulsar Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.pulsar
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.pulsar/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes events to Apache Pulsar.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Pulsar Broker Hostname
-
-The hostname to connect to the broker. 
- 
-### Pulsar Broker Port
-
-The port to connect to the broker (e.g., 6650)
-
-
-### Pulsar Topic
-
-The topic where events should be sent to.
-
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md
deleted file mode 100644
index d718bdf..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md
+++ /dev/null
@@ -1,75 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.rabbitmq
-title: RabbitMQ Publisher
-sidebar_label: RabbitMQ Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.rabbitmq
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Forwards events to a RabbitMQ broker
-Add a detailed description here
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Host
-
-The hostname of the RabbitMQ broker.
-
-### Port
-
-The port of the RabbitMQ broker.
-
-### User
-
-The username used to connect to the RabbitMQ broker.
-
-### Password
-
-The password used to connect to the RabbitMQ broker.
-
-### Exchange Name
-
-The name of the exchange.
-
-### RabbitMQ Topic
-
-The topic where events should be sent to.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/documentation.md
deleted file mode 100644
index 981c7e5..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/documentation.md
+++ /dev/null
@@ -1,53 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.rest
-title: REST Publisher
-sidebar_label: REST Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.rest
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.rest/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Posts a JSON representation of an event to a REST interface.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### REST URL
-
-The complete URL of the REST endpoint.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/documentation.md
deleted file mode 100644
index e28df49..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/documentation.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.ditto
-title: Eclipse Ditto
-sidebar_label: Eclipse Ditto
-original_id: org.apache.streampipes.sinks.databases.ditto
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.ditto/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Forwards events to the Eclipse Ditto API.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Hostname
-
-The hostname of the CouchDB instance.
-
-### Port
-
-The port of the CouchDB instance.
-
-### Database Name
-
-The name of the database where events will be stored
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/documentation.md
deleted file mode 100644
index 5e29bbb..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/documentation.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.flink.elasticsearch
-title: Elasticsearch
-sidebar_label: Elasticsearch
-original_id: org.apache.streampipes.sinks.databases.flink.elasticsearch
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.flink.elasticsearch/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores data in an Elasticsearch database.
-
-***
-
-## Required input
-
-This sink requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Timestamp Field
-
-The field which contains the required timestamp.
-
-### Index Name
-
-The name of the Elasticsearch index where events are stored to.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/documentation.md
deleted file mode 100644
index 4e528a9..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/documentation.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.jvm.couchdb
-title: CouchDB
-sidebar_label: CouchDB
-original_id: org.apache.streampipes.sinks.databases.jvm.couchdb
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.couchdb/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in an Apache CouchDB database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Hostname
-
-The hostname of the CouchDB instance.
-
-### Port
-
-The port of the CouchDB instance.
-
-### Database Name
-
-The name of the database where events will be stored
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/documentation.md
deleted file mode 100644
index 98e27a5..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/documentation.md
+++ /dev/null
@@ -1,86 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.jvm.influxdb
-title: InfluxDB
-sidebar_label: InfluxDB
-original_id: org.apache.streampipes.sinks.databases.jvm.influxdb
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.influxdb/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in an InfluxDB.
-
-***
-
-## Required input
-
-This sink requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname/URL of the InfluxDB instance. (Include http(s)://).
-
-### Port
-
-The port of the InfluxDB instance.
-
-### Database Name
-
-The name of the database where events will be stored.
-
-### Measurement Name
-
-The name of the Measurement where events will be stored (will be created if it does not exist).
-
-### Username
-
-The username for the InfluxDB Server.
-
-### Password
-
-The password for the InfluxDB Server.
-
-### Timestamp Field
-
-The field which contains the required timestamp.
-
-### Buffer Size
-
-Indicates how many events are written into a buffer, before they are written to the database.
-
-### Maximum Flush
-
-The maximum waiting time for the buffer to fill the Buffer size before it will be written to the database in ms.
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/documentation.md
deleted file mode 100644
index f7c542d..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/documentation.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.jvm.iotdb
-title: IoTDB
-sidebar_label: IoTDB
-original_id: org.apache.streampipes.sinks.databases.jvm.iotdb
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.iotdb/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in a IoTDB database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname of the IoTDB instance.
-
-### Port
-
-The port of the IoTDB instance (default 6667).
-
-### Storage Group Name
-
-The name of the storage group where events will be stored (will be created if it does not exist).
-For each element of the stream a new time series will be created.
-
-### Username
-
-The username for the IoTDB Server.
-
-### Password
-
-The password for the IoTDB Server.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/documentation.md
deleted file mode 100644
index 20320e0..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/documentation.md
+++ /dev/null
@@ -1,73 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.jvm.opcua
-title: OPC-UA
-sidebar_label: OPC-UA
-original_id: org.apache.streampipes.sinks.databases.jvm.opcua
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.opcua/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in an Apache CouchDB database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Hostname
-
-The hostname of the OPC-UA server.
-
-### Port
-
-The port of the OPC-UA server.
-
-### Namespace Index
-
-The namespace index in which the node should be written
-
-### Node Id
-
-The node id of the resulting node
-
-### Number Mapping
-
-The property of the event that should be written to the OPC-UA server
-
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/documentation.md
deleted file mode 100644
index 56596e7..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/documentation.md
+++ /dev/null
@@ -1,74 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.jvm.postgresql
-title: PostgreSQL
-sidebar_label: PostgreSQL
-original_id: org.apache.streampipes.sinks.databases.jvm.postgresql
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.postgresql/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in a Postgres database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname of the PostgreSQL instance.
-
-### Port
-
-The port of the PostgreSQL instance (default 5432).
-
-### Database Name
-
-The name of the database where events will be stored
-
-### Table Name
-
-The name of the table where events will be stored (will be created if it does not exist)
-
-### Username
-
-The username for the PostgreSQL Server.
-
-### Password
-
-The password for the PostgreSQL Server.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/documentation.md
deleted file mode 100644
index 0ec51c1..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/documentation.md
+++ /dev/null
@@ -1,53 +0,0 @@
----
-id: org.apache.streampipes.sinks.internal.jvm.dashboard
-title: Dashboard Sink
-sidebar_label: Dashboard Sink
-original_id: org.apache.streampipes.sinks.internal.jvm.dashboard
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.internal.jvm.dashboard/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This sink visualizes data streams in the StreamPipes dashboard. 
-Visualizations can be configured in Live Dashboard of StreamPipes after the pipeline has been started.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-No further configuration necessary, individual visualizations can be configured in the Dashboard itself.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/documentation.md
deleted file mode 100644
index aeea4aa..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/documentation.md
+++ /dev/null
@@ -1,86 +0,0 @@
----
-id: org.apache.streampipes.sinks.internal.jvm.datalake
-title: Data Lake
-sidebar_label: Data Lake
-original_id: org.apache.streampipes.sinks.internal.jvm.datalake
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.internal.jvm.datalake/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in an InfluxDB.
-
-***
-
-## Required input
-
-This sink requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname/URL of the InfluxDB instance. (Include http(s)://).
-
-### Port
-
-The port of the InfluxDB instance.
-
-### Database Name
-
-The name of the database where events will be stored.
-
-### Measurement Name
-
-The name of the Measurement where events will be stored (will be created if it does not exist).
-
-### Username
-
-The username for the InfluxDB Server.
-
-### Password
-
-The password for the InfluxDB Server.
-
-### Timestamp Field
-
-The field which contains the required timestamp.
-
-### Buffer Size
-
-Indicates how many events are written into a buffer, before they are written to the database.
-
-### Maximum Flush
-
-The maximum waiting time for the buffer to fill the Buffer size before it will be written to the database in ms.
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/documentation.md
deleted file mode 100644
index 2ef1349..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/documentation.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: org.apache.streampipes.sinks.internal.jvm.notification
-title: Notification
-sidebar_label: Notification
-original_id: org.apache.streampipes.sinks.internal.jvm.notification
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.internal.jvm.notification/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Displays a notification in the UI panel of StreamPipes.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-This sink does not have any requirements and works with any incoming event type.
-
-### Notification Title
-
-The title of the notification.
-
-### Content
-
-The notification message.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/documentation.md
deleted file mode 100644
index 0d32b67..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/documentation.md
+++ /dev/null
@@ -1,68 +0,0 @@
----
-id: org.apache.streampipes.sinks.notifications.jvm.email
-title: Email Notification
-sidebar_label: Email Notification
-original_id: org.apache.streampipes.sinks.notifications.jvm.email
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.notifications.jvm.email/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This sink sends an email to a specified receiver.
-
-Before you use this sink, the settings of your email server need to be configured.
-After you've installed the element, navigate to ``Settings``, open the panel ``Sinks Notifications JVM`` and add your
- mail server and credentials.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-The following configuration is required:
-
-### Receiver Address
-
-The email address of the receiver.
-
-### Subject
-
-The subject of the email.
-
-### Content
-
-The mail text.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/documentation.md
deleted file mode 100644
index 6b3a5b5..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/documentation.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-id: org.apache.streampipes.sinks.notifications.jvm.onesignal
-title: OneSignal
-sidebar_label: OneSignal
-original_id: org.apache.streampipes.sinks.notifications.jvm.onesignal
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.notifications.jvm.onesignal/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This sink sends a push message to the OneSignal application
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### App Id
-
-The OneSignal application ID.
-
-### API Key
-
-The OneSignal API key.
-
-### Content
-
-The message that should be sent to OneSignal
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/documentation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/documentation.md
deleted file mode 100644
index 3af32a0..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/documentation.md
+++ /dev/null
@@ -1,69 +0,0 @@
----
-id: org.apache.streampipes.sinks.notifications.jvm.slack
-title: Slack Notification
-sidebar_label: Slack Notification
-original_id: org.apache.streampipes.sinks.notifications.jvm.slack
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.notifications.jvm.slack/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Slack bot to send notifications directly into your slack
-
-Before you use this sink, the Slack token needs to be configured.
-After you've installed the element, navigate to ``Settings``, open the panel ``Sinks Notifications JVM`` and add your
-Slack API token.
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Receiver
-
-The receiver of the Slack message.
-
-### Channel Type
-
-The channel type, should be "User" or "Channel"
-
-### Content
-
-The message that should be sent.
-
-### 2nd parameter
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk.md
deleted file mode 100644
index 7d5e9b8..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk.md
+++ /dev/null
@@ -1,45 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.coindesk
-title: Coindesk Bitcoin Price
-sidebar_label: Coindesk Bitcoin Price
-original_id: org.apache.streampipes.connect.adapters.coindesk
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.coindesk/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-This adapter continuously provides the current bitcoin price from the Coindesk API.
-
-## Configuration
-
-### Currency
-
-The current in which the price should be provided.
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt.md
deleted file mode 100644
index 0b80e47..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.gdelt
-title: GDELT
-sidebar_label: GDELT
-original_id: org.apache.streampipes.connect.adapters.gdelt
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.gdelt/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-This adapter provides news events from the GDELT API.
-
-## Configuration
-
-(no futher configuration required)
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news.md
deleted file mode 100644
index a0f6cae..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news.md
+++ /dev/null
@@ -1,49 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.iex.news
-title: IEX Cloud News
-sidebar_label: IEX Cloud News
-original_id: org.apache.streampipes.connect.adapters.iex.news
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.iex.news/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-This adapter provides news events from the IEXCloud news API. An API key from IEXCloud is required.
-Visit <a href='https://iexcloud.io'>IEX Cloud</a> for more info.
-
-***
-
-## Configuration
-
-
-### API Token
-A valid API token from the IEXCloud API.
-
-### Stock Symbol
-A stock symbol that should be monitored.
-
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks.md
deleted file mode 100644
index a3ea097..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks.md
+++ /dev/null
@@ -1,48 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.iex.stocks
-title: IEX Cloud Stock Quotes
-sidebar_label: IEX Cloud Stock Quotes
-original_id: org.apache.streampipes.connect.adapters.iex.stocks
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.iex.stocks/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-This adapter provides news events from the IEXCloud news API. An API key from IEXCloud is required.
-Visit <a href='https://iexcloud.io'>IEX Cloud</a> for more info.
-
-***
-
-## Configuration
-
-
-### API Token
-A valid API token from the IEXCloud API.
-
-### Stock Symbol
-A stock symbol that should be monitored.
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set.md
deleted file mode 100644
index f9c910c..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.image.set
-title: Image Upload (Set)
-sidebar_label: Image Upload (Set)
-original_id: org.apache.streampipes.connect.adapters.image.set
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.image.set/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Upload a zip file of images and create an event per image
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream.md
deleted file mode 100644
index 03d8f81..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.image.stream
-title: Image Upload (Stream)
-sidebar_label: Image Upload (Stream)
-original_id: org.apache.streampipes.connect.adapters.image.stream
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.image.stream/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Upload a zip file of images and create an event per image
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set.md
deleted file mode 100644
index 794109d..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.influxdb.set
-title: InfluxDB Set Adapter
-sidebar_label: InfluxDB Set Adapter
-original_id: org.apache.streampipes.connect.adapters.influxdb.set
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.influxdb.set/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Creates a data set for an InfluxDB measurement.
-
-***
-
-## Configuration
-
-
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md
deleted file mode 100644
index b10fb21..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.influxdb.stream
-title: InfluxDB Stream Adapter
-sidebar_label: InfluxDB Stream Adapter
-original_id: org.apache.streampipes.connect.adapters.influxdb.stream
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.influxdb.stream/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Creates a data stream for an InfluxDB measurement.
-
-***
-
-## Configuration
-
-
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss.md
deleted file mode 100644
index bf1fa5c..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.iss
-title: ISS Location
-sidebar_label: ISS Location
-original_id: org.apache.streampipes.connect.adapters.iss
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.iss/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Shows the live position of the International Space Station (ISS), updated every two seconds.
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set.md
deleted file mode 100644
index 4ccecc3..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.mysql.set
-title: MySQL Set Adapter
-sidebar_label: MySQL Set Adapter
-original_id: org.apache.streampipes.connect.adapters.mysql.set
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.mysql.set/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Creates a data set from an SQL table
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream.md
deleted file mode 100644
index 594d70d..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.mysql.stream
-title: MySql Stream Adapter
-sidebar_label: MySql Stream Adapter
-original_id: org.apache.streampipes.connect.adapters.mysql.stream
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.mysql.stream/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Creates a data stream for a SQL table
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md
deleted file mode 100644
index dca1594..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.netio.mqtt
-title: NETIO MQTT M2M
-sidebar_label: NETIO MQTT M2M
-original_id: org.apache.streampipes.connect.adapters.netio.mqtt
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.netio.mqtt/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Connect Robots running on ROS
-
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Ros Bridge
-
-Example: test-server.com (No protocol)
-
-### Port
-
-The port of the ROS instance.
-
-### Topic
-
-Example: /battery (Starts with /)
-
-
-## Output
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest.md
deleted file mode 100644
index 991ad62..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.netio.rest
-title: NETIO http JSON
-sidebar_label: NETIO http JSON
-original_id: org.apache.streampipes.connect.adapters.netio.rest
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.netio.rest/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Connect Robots running on ROS
-
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Ros Bridge
-
-Example: test-server.com (No protocol)
-
-### Port
-
-The port of the ROS instance.
-
-### Topic
-
-Example: /battery (Starts with /)
-
-
-## Output
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md
deleted file mode 100644
index 98d3341..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera
-title: NSW Traffic Cameras
-sidebar_label: NSW Traffic Cameras
-original_id: org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Traffic camera images produced by NSW Australia
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua.md
deleted file mode 100644
index 1d87660..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.opcua
-title: OPC UA
-sidebar_label: OPC UA
-original_id: org.apache.streampipes.connect.adapters.opcua
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.opcua/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Read values from an OPC-UA server
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md
deleted file mode 100644
index 9a94da1..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.plc4x.s7
-title: PLC4X S7
-sidebar_label: PLC4X S7
-original_id: org.apache.streampipes.connect.adapters.plc4x.s7
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.s7/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Shows the live position of the International Space Station (ISS), updated every two seconds.
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros.md
deleted file mode 100644
index 12e7a3d..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.ros
-title: ROS Bridge
-sidebar_label: ROS Bridge
-original_id: org.apache.streampipes.connect.adapters.ros
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.ros/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Connect Robots running on ROS
-
-
-***
-
-## Required input
-
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Ros Bridge
-
-Example: test-server.com (No protocol)
-
-### Port
-
-The port of the ROS instance.
-
-### Topic
-
-Example: /battery (Starts with /)
-
-
-## Output
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md
deleted file mode 100644
index 2480702..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.simulator.randomdataset
-title: Random Data Simulator (Set)
-sidebar_label: Random Data Simulator (Set)
-original_id: org.apache.streampipes.connect.adapters.simulator.randomdataset
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.simulator.randomdataset/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes a bounded stream of random events.
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md
deleted file mode 100644
index 1256408..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.simulator.randomdatastream
-title: Random Data Simulator (Stream)
-sidebar_label: Random Data Simulator (Stream)
-original_id: org.apache.streampipes.connect.adapters.simulator.randomdatastream
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.simulator.randomdatastream/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes a continuous stream of random events
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack.md
deleted file mode 100644
index e21951c..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.slack
-title: Slack
-sidebar_label: Slack
-original_id: org.apache.streampipes.connect.adapters.slack
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.slack/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Subscribes to a Slack channel
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti.md
deleted file mode 100644
index 1125220..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.ti
-title: TI Sensor Tag
-sidebar_label: TI Sensor Tag
-original_id: org.apache.streampipes.connect.adapters.ti
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.ti/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Consumes messages from a broker using the MQTT protocol
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Broker Url
-
-Example: tcp://test-server.com:1883 (Protocol required. Port required)"
-
-### Topic
-
-Example: test/topic
-
-### Access Mode
-
-Unauthenticated or Authenticated (Username/Password)
-
-## Output
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md
deleted file mode 100644
index 015004f..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.wikipedia.edit
-title: Wikipedia Edits
-sidebar_label: Wikipedia Edits
-original_id: org.apache.streampipes.connect.adapters.wikipedia.edit
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.wikipedia.edit/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Continuously publishes recent Wikipedia edits
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md
deleted file mode 100644
index f656f7e..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.wikipedia.new
-title: Wikipedia New Articles
-sidebar_label: Wikipedia New Articles
-original_id: org.apache.streampipes.connect.adapters.wikipedia.new
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.wikipedia.new/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Continuously publishes articles created on Wikipedia
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file.md
deleted file mode 100644
index 9db6eed..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: org.apache.streampipes.connect.protocol.stream.file
-title: File Stream
-sidebar_label: File Stream
-original_id: org.apache.streampipes.connect.protocol.stream.file
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.file/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Continuously streams the content from a file
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http.md
deleted file mode 100644
index ae603e9..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: org.apache.streampipes.connect.protocol.stream.http
-title: HTTP Stream
-sidebar_label: HTTP Stream
-original_id: org.apache.streampipes.connect.protocol.stream.http
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.http/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Continuously fetched events from an HTTP REST endpoint.
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka.md
deleted file mode 100644
index 9e81617..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: org.apache.streampipes.connect.protocol.stream.kafka
-title: Apache Kafka
-sidebar_label: Apache Kafka
-original_id: org.apache.streampipes.connect.protocol.stream.kafka
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.kafka/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Consumes messages from an Apache Kafka broker
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md
deleted file mode 100644
index 4a5f1da..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.connect.protocol.stream.mqtt
-title: MQTT
-sidebar_label: MQTT
-original_id: org.apache.streampipes.connect.protocol.stream.mqtt
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.mqtt/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Consumes messages from a broker using the MQTT protocol
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Broker Url
-
-Example: tcp://test-server.com:1883 (Protocol required. Port required)"
-
-### Access Mode
-
-Unauthenticated or Authenticated (Username/Password)
-
-## Output
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md
deleted file mode 100644
index 0796346..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: org.apache.streampipes.connect.protocol.stream.pulsar
-title: Apache Pulsar
-sidebar_label: Apache Pulsar
-original_id: org.apache.streampipes.connect.protocol.stream.pulsar
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.pulsar/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Consumes messages from an Apache Pulsar broker
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink.md
deleted file mode 100644
index 93e1e97..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.flink
-title: Spatial Grid Enrichment
-sidebar_label: Spatial Grid Enrichment
-original_id: org.apache.streampipes.processor.geo.flink
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.geo.flink/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Groups spatial events into cells of a given size.
-The result is like a chessboard pattern in which the geo coordinates are inserted. The user can define the coordinates of the first field.
-
-***
-
-## Required input
-Requires a latitude and longitude in the data stream.
-
-## Configuration
-
-* Latitude property
-* Longitude property
-* The size of the cell
-* Latitude and longitude of the first cell
-
-## Output
-Appends the grid cell coordinates to the input event
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md
deleted file mode 100644
index d2f83e4..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.jvm.geocoding
-title: Google Maps Geocoder
-sidebar_label: Google Maps Geocoder
-original_id: org.apache.streampipes.processor.geo.jvm.geocoding
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-</p>
-
-***
-
-## Description
-
-This processor computes the latitude and longitude values from a location (a place name such as "Karlsruhe, Germany
-") and adds the result to the event.
-
-***
-
-## Required input
-
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md
deleted file mode 100644
index 0df01ce..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.jvm.reversegeocoding
-title: Reverse Geocoder
-sidebar_label: Reverse Geocoder
-original_id: org.apache.streampipes.processor.geo.jvm.reversegeocoding
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-</p>
-
-***
-
-## Description
-
-This processor computes place name based on given lat/lng coordinates that are transmitted as fields from an event.
-
-This processor automatically downloads the file cities1000.zip from Geonames (http://download.geonames.org/export/dump/cities1000.zip). This file is provided under the CC BY 4.0 license, see https://creativecommons.org/licenses/by/4.0/ for license details.
-
-***
-
-## Required input
-
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md
deleted file mode 100644
index 050f362..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.jvm.staticgeocoding
-title: Static Google Maps Geocoder
-sidebar_label: Static Google Maps Geocoder
-original_id: org.apache.streampipes.processor.geo.jvm.staticgeocoding
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-</p>
-
-***
-
-## Description
-
-This processor computes the latitude and longitude values from a fixed location (a place name such as "Karlsruhe
-, Germany
-") and adds the result to the event.
-
-***
-
-## Required input
-
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md
deleted file mode 100644
index 04b3b87..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification
-title: Generic Image Classification
-sidebar_label: Generic Image Classification
-original_id: org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Image  + Classification Description (Generic Model)
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md
deleted file mode 100644
index c4f9657..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
-id: org.apache.streampipes.processor.imageclassification.jvm.image-cropper
-title: Image Cropper
-sidebar_label: Image Cropper
-original_id: org.apache.streampipes.processor.imageclassification.jvm.image-cropper
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.imageclassification.jvm.image-cropper/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Image Enrichment: Crops an  + image based on  + given bounding box coordinates
-
-***
-
-## Required input
-An image and an array with bounding boxes.
-A box consists of the x and y coordinates in the image as well as the height and width 
-
-## Output
-A new event for each box containing the cropped image
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md
deleted file mode 100644
index 180a1c1..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-id: org.apache.streampipes.processor.imageclassification.jvm.image-enricher
-title: Image Enricher
-sidebar_label: Image Enricher
-original_id: org.apache.streampipes.processor.imageclassification.jvm.image-enricher
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Image Enrichment: Enriches an  + image with  + given bounding box coordinates
-
-## Required input
-An image and an array with bounding boxes.
-A box consists of the x and y coordinates in the image as well as the height and width 
-
-## Output
-A new event containing the image with bounding boxes rendered according to the boxes of the input event 
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode.md
deleted file mode 100644
index 6865caa..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processor.imageclassification.qrcode
-title: QR Code Reader
-sidebar_label: QR Code Reader
-original_id: org.apache.streampipes.processor.imageclassification.qrcode
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.imageclassification.qrcode/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-QR Code Reader: Detects a QR Code in an image
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md
deleted file mode 100644
index 4976da9..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.aggregation
-title: Aggregation
-sidebar_label: Aggregation
-original_id: org.apache.streampipes.processors.aggregation.flink.aggregation
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.aggregation/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs different aggregation functions based on a sliding time window (e.g., average, sum, min, max)
-
-***
-
-## Required input
-
-The aggregation processor requires a data stream that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Group by
-The aaggregation function can be calculated separately (partitioned) by the selected field value. 
-
-### Output every
-The frequency in which aggregated values are sent in seconds.
-
-### Time window
-The size of the time window in seconds
-
-### Aggregated Value
-The field used for calculating the aggregation value.
-
-## Output
-
-This processor appends the latest aggregated value to every input event that arrives.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count.md
deleted file mode 100644
index d4a87ec..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.count
-title: Count Aggregation
-sidebar_label: Count Aggregation
-original_id: org.apache.streampipes.processors.aggregation.flink.count
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.count/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs an aggregation based on a given field and outputs the number of occurrences.
-Example: Count the number of vehicle positions per vehicleId.
-The Count aggregation requires a time window, used to perform the count aggregation and a field used to aggregate
- values.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md
deleted file mode 100644
index c9dc8c7..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.eventcount
-title: Event Counter
-sidebar_label: Event Counter
-original_id: org.apache.streampipes.processors.aggregation.flink.eventcount
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-
-
-***
-
-## Description
-
-Counts the number of events arriving within a time window. An event is emitted every time the time window expires.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Time Window: The scale and size of the time window.
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate.md
deleted file mode 100644
index f012002..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.rate
-title: Event Rate
-sidebar_label: Event Rate
-original_id: org.apache.streampipes.processors.aggregation.flink.rate
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.rate/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Computes the current event rate. Output is a number representing events per second.
-
-***
-
-## Required input
-
-The event rate processor works with any stream and does not have any specific requirements.
-
-***
-
-## Configuration
-
-### Time Baseline
-Time window size used for calculating the rate in seconds, also defines the output rate
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md
deleted file mode 100644
index e619125..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.flink.processor.math.mathop
-title: Math
-sidebar_label: Math
-original_id: org.apache.streampipes.processors.enricher.flink.processor.math.mathop
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs calculations on event properties (+, -, *, /, %).
-
-***
-
-## Required input
-The math processor works with any event that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Left operand
-The field from the input event that should be used as the left operand.
-
-### Right operand
-The field from the input event that should be used as the right operand.
-
-### Operation
-The math operation that should be performed.
-
-## Output
-The processor appends the calculation result to each input event.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md
deleted file mode 100644
index 0f044c5..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop
-title: Static Math
-sidebar_label: Static Math
-original_id: org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs calculation on an event property with a static value (+, -, *, /, %).
-
-***
-
-## Required input
-The math processor works with any event that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Left operand
-The field from the input event that should be used as the left operand.
-
-### Right operand value
-Specify the value of the right operand.
-
-### Operation
-The math operation that should be performed.
-
-## Output
-The processor appends the calculation result to each input event.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md
deleted file mode 100644
index 2fac83e..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.flink.processor.trigonometry
-title: Trigonometry Functions
-sidebar_label: Trigonometry Functions
-original_id: org.apache.streampipes.processors.enricher.flink.processor.trigonometry
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs Trigonometric functions (sin, cos, tan) on event properties.
-
-***
-
-## Required input
-The trigonometry processor works with any event that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Alpha
-The field that should be used for calculating the trigonometric function.
-
-
-### Operation
-The trigonometric function that should be calculated.
-
-## Output
-The processor appends the calculation result to each input event.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md
deleted file mode 100644
index 01fed70..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.flink.processor.urldereferencing
-title: URL Dereferencing
-sidebar_label: URL Dereferencing
-original_id: org.apache.streampipes.processors.enricher.flink.processor.urldereferencing
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Parses and appends the html page as a string to event.
-
-***
-
-## Required input
-The URL Dereferencing processor requires an input stream that provides an input field of type 'string', representing 
-the URL to dereference.
-
-***
-
-## Configuration
-
-### URL
-The field containing the URL to dereference.
-
-## Output
-The processor appends the extracted HTML page to each input event.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md
deleted file mode 100644
index 6dd6bfc..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md
+++ /dev/null
@@ -1,49 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.flink.timestamp
-title: Timestamp Enricher
-sidebar_label: Timestamp Enricher
-original_id: org.apache.streampipes.processors.enricher.flink.timestamp
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.timestamp/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Appends the current time in ms to the event payload.
-
-***
-
-## Required input
-The timestamp enricher works with any input event.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-This processor appends the current system time to every input event.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md
deleted file mode 100644
index 520018f..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md
+++ /dev/null
@@ -1,50 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.jvm.sizemeasure
-title: Size Measure
-sidebar_label: Size Measure
-original_id: org.apache.streampipes.processors.enricher.jvm.sizemeasure
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.jvm.sizemeasure/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Measures the size of an incoming event and appends this number to the event by serializing it.
-
-***
-
-## Required input
-The size measure processor does not have any specific input requirements.
-
-***
-
-## Configuration
-
-You can specify if the size should be in Bytes, Kilobytes (1024 Bytes) or in Megabytes (1024 Kilobytes).
-
-## Output
-The size measure processor appends the size of the event (without the field, which is getting added) as a double. The rest of the event stays the same.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose.md
deleted file mode 100644
index c02b529..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.compose
-title: Compose
-sidebar_label: Compose
-original_id: org.apache.streampipes.processors.filters.jvm.compose
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.compose/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Merges two event streams. Any time, a new input event arrives, it is merged with the last input event from the other 
-event stream and forwarded.
-
-***
-
-## Required input
-The Compose processor does not have any specific input requirements.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-The compose processor has a configurable output that can be selected by the user at pipeline modeling time.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich.md
deleted file mode 100644
index a119dc1..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich.md
+++ /dev/null
@@ -1,48 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.enrich
-title: Merge By Enrich
-sidebar_label: Merge By Enrich
-original_id: org.apache.streampipes.processors.filters.jvm.enrich
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.enrich/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Merges two data streams by enriching one of the streams with the properties of the other stream. The output frequency is the same as the frequency of the stream which is enriched.
-***
-
-## Required input
-None
-***
-
-## Configuration
-
-* Select the stream which should be enriched with the properties of the other stream.
-  * The last event of the stream is hold in state and each event of the other stream is enriched by the properties the user selected
-
-## Output
-The compose processor has a configurable output that can be selected by the user at pipeline modeling time.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge.md
deleted file mode 100644
index 8c71ff4..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.merge
-title: Merge By Time
-sidebar_label: Merge By Time
-original_id: org.apache.streampipes.processors.filters.jvm.merge
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.merge/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Merges two event streams by their timestamp.
-Two events of the different streams are merged when they occure to the same time
-
-The following figure shows how the events of the two data streams will be mergrged:
-
-<p align="center"> 
-    <img width="300px;" src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.merge/merge_description.png" class="pe-image-documentation"/>
-</p>
-***
-
-## Required input
-Each of the data streams needs a timestamp.
-***
-
-## Configuration
-
-* For each stream a the timestamp property on which the merger is performed has to be selected
-* The Time Interval describes the maximum value between two events to decide whether they are a match. To be a valid match the following function must be true: | timestamp_stream_1 - timestamp_stream_2 | < interval
-
-## Output
-The compose processor has a configurable output that can be selected by the user at pipeline modeling time.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md
deleted file mode 100644
index 82b4c5b..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.numericalfilter
-title: Numerical Filter
-sidebar_label: Numerical Filter
-original_id: org.apache.streampipes.processors.filters.jvm.numericalfilter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.numericalfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-The Numerical Filter processor filters numerical values based on a given threshold.
-
-***
-
-## Required input
-The processor works with any input event that has one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Field
-Specifies the field name where the filter operation should be applied on.
-
-
-### Operation
-Specifies the filter operation that should be applied on the field.
-
-### Threshold value
-Specifies the threshold value.
-
-## Output
-The processor outputs the input event if it satisfies the filter expression.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md
deleted file mode 100644
index f002872..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md
+++ /dev/null
@@ -1,68 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.numericaltextfilter
-title: Numerical Text Filter
-sidebar_label: Numerical Text Filter
-original_id: org.apache.streampipes.processors.filters.jvm.numericaltextfilter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-
-***
-
-## Description
-The Numerical Text Filter processor filters numerical values based on a given threshold and text values 
-based on a given string. It only forwards events in case both criteria are satisfied.
-
-***
-
-## Required input
-The processor works with any input event that has one field containing a numerical value and one field 
-containing a text.
-
-***
-
-## Configuration
-
-### Number Field
-Specifies the field name where the filter operation should be applied on.
-
-### Number Operation
-Specifies the filter operation that should be applied on the field.
-
-### Number Threshold
-Specifies the threshold value.
-
-### Text Field
-The field containing the text that should be filtered.
-
-### Text Operation
-The operation used by the filter processor (equals or matches).
-
-### Text Keyword
-Specifies the keyword to filter the text field.
-
-## Output
-The processor outputs the input event if it satisfies the filter expression.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project.md
deleted file mode 100644
index ca2c056..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project.md
+++ /dev/null
@@ -1,49 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.project
-title: Projection
-sidebar_label: Projection
-original_id: org.apache.streampipes.processors.filters.jvm.project
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.project/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Outputs a selectable subset of an input event type.
-
-***
-
-## Required input
-The project processor works with any input event stream.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-The output depends on the fields selected at pipeline development time.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md
deleted file mode 100644
index c6e5fa9..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.textfilter
-title: Text Filter
-sidebar_label: Text Filter
-original_id: org.apache.streampipes.processors.filters.jvm.textfilter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.textfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-The Text Filter processor filters text values based on a given string.
-
-***
-
-## Required input
-The processor works with any input event that has one field containing a text.
-
-***
-
-## Configuration
-
-### Text Field
-The field containing the text that should be filtered.
-
-
-### Operation
-The operation used by the filter processor (equals or matches)
-
-## Output
-The processor outputs the input event if it satisfies the filter expression.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold.md
deleted file mode 100644
index a9055c8..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.threshold
-title: Threshold Detector
-sidebar_label: Threshold Detector
-original_id: org.apache.streampipes.processors.filters.jvm.threshold
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.threshold/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-The Threshold Detector processor appends a boolean whether the condition is fulfilled or not
-
-***
-
-## Required input
-The processor works with any input event that has one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Field
-Specifies the field name where the filter operation should be applied on.
-
-
-### Operation
-Specifies the filter operation that should be applied on the field.
-
-### Threshold value
-Specifies the threshold value.
-
-## Output
-Appends a boolean with the value whether the condition is fulfilled or not.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md
deleted file mode 100644
index 7317682..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md
+++ /dev/null
@@ -1,74 +0,0 @@
----
-id: org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo
-title: Creates JTS Point
-sidebar_label: Creates JTS Point
-original_id: org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center">
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor creates a  JTS Point geometry from  latitude and longitude value.
-
-***
-
-## Required input
-
-*  Ontology Vocabulary Latitude
-*  Ontology Vocabulary Longitude
-*  Integer value representing EPSG Code
-
-
-***
-
-## Configuration
-
-Creates a JTS Geometry Point from Longitude (x) and Latitude (y) values in the coordinate reference system represented by the EPSG code.
-An empty point geometry is created if latitude or longitude value is missing in the event (e.g. null value) or values are out of range. Allowed values for Longitude are between -180.00 and 180.00; Latitude values between -90.00 and 90.00.
-
-### 1st parameter
-Latitude value
-
-### 2nd parameter
-Longitude value
-
-### 3rd parameter
-EPSG code value
-
-***
-
-## Output
-
-Adds a point geometry in the Well Known Text notation and in Longitude (x)  Latitude (y) axis order to the stream.
-
-### Example
-* Input stream: <br/>
-  `{latitude=48.5622, longitude=-76.3501, EPSG=4326}`
-
-* Output Stream <br/>
-  `{latitude=48.5622, longitude=-76.3501, EPSG=4326, geom_wkt=POINT (-76.3501 48.5622)}`
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md
deleted file mode 100644
index 5a61d27..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-id: org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG
-title: EPSG Code
-sidebar_label: EPSG Code
-original_id: org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center">
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-
-***
-
-## Description
-
-This processor adds ab integer value to the stream. This integer value represents
-an [EPSG Code](https://en.wikipedia.org/wiki/EPSG_Geodetic_Parameter_Dataset) as an Spatial Reference System Identifier [(SRID)](https://en.wikipedia.org/wiki/Spatial_reference_system#Identifier).
-
-
-***
-
-## Required input
-
-None
-
-***
-
-## Configuration
-
-Integer values, representing a spatial reference system [(SRS)](https://en.wikipedia.org/wiki/Spatial_reference_system#Identifier).  Other possible values can be looked up under https://spatialreference.org/ref/epsg/.
-
-### Parameter
-
-4- to 5-digit key integer number. Default value is 4326 representing the World Geodetic System [(WGS84)](https://en.wikipedia.org/wiki/World_Geodetic_System#WGS84).
-
-***
-## Output
-
-Adds a number to the event.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md
deleted file mode 100644
index 8f02564..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md
+++ /dev/null
@@ -1,84 +0,0 @@
----
-id: org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory
-title: Single Trajectory Creator
-sidebar_label: Single Trajectory Creator
-original_id: org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center">
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor creates a JTS LineString geometry from  JTS Points events, represent a trajectory. A trajectory is defined  as the path that a moving object follows through space as a function of time. Each sub-point of this LineString represents a single event. The latest sub-point represents the latest geo-event. For each Point event it is also possible to store an additional m-value representing for example actually speed, distance, duration or direction of this event. A trajectory consists of at least two sub-point and can't be infinitive, so a threshold of maximum allowed sub-points is required. When the sub-point threshold is exceeded, the oldest point is removed from the LineString.
-***
-
-## Required input
-
-*  WKT String of a JTS Point Geometry
-*  Integer value representing EPSG code
-*  Number value for M-value
-
-
-***
-
-## Configuration
-
-Creates a JTS Geometry LineString from a JTS Point Geometries events representing a trajectory.
-
-
-### 1st parameter
-Point WKT String
-
-### 2nd parameter
-EPSG code value
-
-### 3rd parameter
-M-value for each sub-point of the trajectory
-
-### 4rd parameter
-String for a description text for the trajectory
-
-### 5rd parameter
-Number of allowed sub-points
-
-***
-
-## Output
-
-Adds a LineString geometry in the Well Known Text to the event, representing a trajectory. Also the description text is added to the event stream. The first existing event creates an empty LineString.
-
-### Example
-Creating a LineString with a threshold of 2 allowed sub-points:
-
-* First Event:
-  * Point(8.12 41.23) --> LineString (empty)
-* Second Event:
-  * Point(8.56 41.25) --> LineString(8.12 41.23, 8.56 41.25)
-* Second Event:
-  * Point(8.84 40.98) --> LineString(8.56 41.25, 8.84 40.98)
-
-M-value is not represented in the LineString but will be stored for internal use!
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md
deleted file mode 100644
index b0e76f1..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.geo.jvm.processor.distancecalculator
-title: Distance Calculator
-sidebar_label: Distance Calculator
-original_id: org.apache.streampipes.processors.geo.jvm.processor.distancecalculator
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Calculates the distance between two latitude/longitude pairs in a single event.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md
deleted file mode 100644
index fd5cfe8..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: org.apache.streampipes.processors.geo.jvm.processor.speed
-title: Speed Calculator
-sidebar_label: Speed Calculator
-original_id: org.apache.streampipes.processors.geo.jvm.processor.speed
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-***
-
-## Description
-
-Calculates the speed (in km/h) based on latitude/longitude values in a data stream. Therefore it uses the GPS and timestamps values of consecutive events. 
-It calculates the distance between two points (events) and how much time has passed. Based on those values the speed is calculated.
-
-***
-
-## Required input
-
-Requires a data stream that provides latitude and longitude values as well as a timestamp.
-
-***
-
-## Configuration
-
-### Timestamp field
-
-### Latitude field
-
-### Longitude field
-
-### Count window
-Describes the number of stored events, used for the calculation. 
-E.g. a value of 5 means that thhe current event and the event (t-5) are used for the speed calculation.
-
-## Output
-Appends the calculated speed in km/h.
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md
deleted file mode 100644
index fdf1408..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator
-title: Static Distance Calculator
-sidebar_label: Static Distance Calculator
-original_id: org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-***
-
-## Description
-
-Calculates the distance (in km) between a fixed location (e.g., a place) and a latitude/longitude pair of an input
- event.
-
-***
-
-## Required input
-
-Requires a data stream that provides latitude and longitude values.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md
deleted file mode 100644
index 2717859..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.pattern-detection.flink.absence
-title: Absence
-sidebar_label: Absence
-original_id: org.apache.streampipes.processors.pattern-detection.flink.absence
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.absence/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects whether an event does not arrive within a specified time after the occurrence of another event.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md
deleted file mode 100644
index 4886783..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.pattern-detection.flink.and
-title: And
-sidebar_label: And
-original_id: org.apache.streampipes.processors.pattern-detection.flink.and
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.and/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects whether an event co-occurs with another event within a given time.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md
deleted file mode 100644
index 9bf3f3c..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.pattern-detection.flink.peak-detection
-title: Peak Detection
-sidebar_label: Peak Detection
-original_id: org.apache.streampipes.processors.pattern-detection.flink.peak-detection
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detect peaks in time series data
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md
deleted file mode 100644
index c98b46f..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.pattern-detection.flink.sequence
-title: Sequence
-sidebar_label: Sequence
-original_id: org.apache.streampipes.processors.pattern-detection.flink.sequence
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.sequence/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects a sequence of events in the following form: Event A followed by Event B within X seconds. In addition, both streams can be matched by a common property value (e.g., a.machineId = b.machineId)
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency.md
deleted file mode 100644
index 7d0ecf2..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.frequency
-title: Frequency Calculation
-sidebar_label: Frequency Calculation
-original_id: org.apache.streampipes.processors.siddhi.frequency
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.frequency/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Calculates the frequency of the event stream.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange.md
deleted file mode 100644
index dd2bd42..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.frequencychange
-title: Frequency Change
-sidebar_label: Frequency Change
-original_id: org.apache.streampipes.processors.siddhi.frequencychange
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.frequencychange/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects when the frequency of the event stream changes
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase.md
deleted file mode 100644
index 0b3ef35..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.increase
-title: Trend
-sidebar_label: Trend
-original_id: org.apache.streampipes.processors.siddhi.increase
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.increase/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects the increase of a numerical field over a customizable time window. Example: A temperature value increases by 10 percent within 5 minutes.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md
deleted file mode 100644
index 3c4ad39..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.numericalfilter
-title: Numerical Filter (Siddhi)
-sidebar_label: Numerical Filter (Siddhi)
-original_id: org.apache.streampipes.processors.siddhi.numericalfilter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.numericalfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence.md
deleted file mode 100644
index 994baf5..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence.md
+++ /dev/null
@@ -1,36 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.sequence
-title: Sequence Detection
-sidebar_label: Sequence Detection
-original_id: org.apache.streampipes.processors.siddhi.sequence
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.sequence/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Merges events from two event streams, when the top event arrives first and then the bottom event
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop.md
deleted file mode 100644
index 5028a9b..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.stop
-title: Stream Stop Detection
-sidebar_label: Stream Stop Detection
-original_id: org.apache.streampipes.processors.siddhi.stop
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.stop/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Triggers an event when the input data stream stops sending events
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md
deleted file mode 100644
index d989db1..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
-id: org.apache.streampipes.processors.statistics.flink.statistics-summary
-title: Statistics Summary
-sidebar_label: Statistics Summary
-original_id: org.apache.streampipes.processors.statistics.flink.statistics-summary
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.statistics.flink.statistics-summary/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Calculate simple descriptive summary statistics for each selected list property.
-
-The statistics contain:
-* Minimum
-* Maximum
-* Sum
-* Standard Deviation
-* Variance
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md
deleted file mode 100644
index 7c2367f..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.flink.languagedetection
-title: Language Detection
-sidebar_label: Language Detection
-original_id: org.apache.streampipes.processors.textmining.flink.languagedetection
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.flink.languagedetection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects the language of a written text.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md
deleted file mode 100644
index 53d3333..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.flink.wordcount
-title: Word Count
-sidebar_label: Word Count
-original_id: org.apache.streampipes.processors.textmining.flink.wordcount
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.flink.wordcount/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Counts words on continuous text-based streams
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md
deleted file mode 100644
index a1ef4e5..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md
+++ /dev/null
@@ -1,70 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.chunker
-title: Chunker (English)
-sidebar_label: Chunker (English)
-original_id: org.apache.streampipes.processors.textmining.jvm.chunker
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.chunker/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Segments given tokens into chunks (e.g. noun groups, verb groups, ...) and appends the found chunks to the stream.
-
-***
-
-## Required input
-
-Needs a stream with two string list properties:
-1. A list of tokens 
-2. A list of part-of-speech tags (the Part-of-Speech processing element can be used for that)
-
-***
-
-## Configuration
-
-Assign the tokens and the part of speech tags to the corresponding stream property.
-To use this component you have to download or train an openNLP model:
-https://opennlp.apache.org/models.html
-
-## Output
-
-**Example:**
-
-Input:
-```
-tokens: ["John", "is", "a", "Person"]
-tags: ["NNP", "VBZ", "DT", "NN"]
-```
-
-Output:
-```
-tokens: ["John", "is", "a", "Person"]
-tags: ["NNP", "VBZ", "DT", "NN"]
-chunks: ["John", "is", "a Person"]
-chunkType: ["NP", "VP", "NP"])
-```
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md
deleted file mode 100644
index 0d05118..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md
+++ /dev/null
@@ -1,170 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.languagedetection
-title: Language Detection
-sidebar_label: Language Detection
-original_id: org.apache.streampipes.processors.textmining.jvm.languagedetection
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.languagedetection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects the language of incoming text. For a proper detection each text should contain at least 2 sentences.
-
-Supported languages:
-* Afrikaans (afr)
-* Arabic (ara)
-* Asturian (ast)
-* Azerbaijani (aze)
-* Bashkir (bak)
-* Belarusian (bel)
-* Bengali (ben)
-* Bosnian (bos)
-* Breton (bre)
-* Bulgarian (bul)
-* Catalan (cat)
-* Cebuano (ceb)
-* Czech (ces)
-* Chechen (che)
-* Mandarin Chinese (cmn)
-* Welsh (cym)
-* Danish (dan)
-* German (deu)
-* Standard Estonian (ekk)
-* Greek, Modern (ell)
-* English (eng)
-* Esperanto (epo)
-* Estonian (est)
-* Basque (eus)
-* Faroese (fao)
-* Persian (fas)
-* Finnish (fin)
-* French (fra)
-* Western Frisian (fry)
-* Irish (gle)
-* Galician (glg)
-* Swiss German (gsw)
-* Gujarati (guj)
-* Hebrew (heb)
-* Hindi (hin)
-* Croatian (hrv)
-* Hungarian (hun)
-* Armenian (hye)
-* Indonesian (ind)
-* Icelandic (isl)
-* Italian (ita)
-* Javanese (jav)
-* Japanese (jpn)
-* Kannada (kan)
-* Georgian (kat)
-* Kazakh (kaz)
-* Kirghiz (kir)
-* Korean (kor)
-* Latin (lat)
-* Latvian (lav)
-* Limburgan (lim)
-* Lithuanian (lit)
-* Luxembourgish (ltz)
-* Standard Latvian (lvs)
-* Malayalam (mal)
-* Marathi (mar)
-* Minangkabau (min)
-* Macedonian (mkd)
-* Maltese (mlt)
-* Mongolian (mon)
-* Maori (mri)
-* Malay (msa)
-* Min Nan Chinese (nan)
-* Low German (nds)
-* Nepali (nep)
-* Dutch (nld)
-* Norwegian Nynorsk (nno)
-* Norwegian Bokmål (nob)
-* Occitan (oci)
-* Panjabi (pan)
-* Iranian Persian (pes)
-* Plateau Malagasy (plt)
-* Western Panjabi (pnb)
-* Polish (pol)
-* Portuguese (por)
-* Pushto (pus)
-* Romanian (ron)
-* Russian (rus)
-* Sanskrit (san)
-* Sinhala (sin)
-* Slovak (slk)
-* Slovenian (slv)
-* Somali (som)
-* Spanish (spa)
-* Albanian (sqi)
-* Serbian (srp)
-* Sundanese (sun)
-* Swahili (swa)
-* Swedish (swe)
-* Tamil (tam)
-* Tatar (tat)
-* Telugu (tel)
-* Tajik (tgk)
-* Tagalog (tgl)
-* Thai (tha)
-* Turkish (tur)
-* Ukrainian (ukr)
-* Urdu (urd)
-* Uzbek (uzb)
-* Vietnamese (vie)
-* Volapük (vol)
-* Waray (war)
-* Zulu (zul)
-
-***
-
-## Required input
-
-A stream with a string property which contains a text.
-The longer the text, the higher the accuracy of the language detector.
-
-
-***
-
-## Configuration
-
-Simply assign the correct output of the previous stream to the language detector input.
-To use this component you have to download or train an openNLP model:
-https://opennlp.apache.org/models.html
-
-## Output
-
-Adds two fields to the event:
-1. String Property: The acronym of the detected language which can be seen above.
-2. Double Property: The confidence of the detector that it found the correct language. Between 0 (not certain at all) and 1 (very certain).
-
-
-**Example:**
-
-Input: `(text: "Hi, how are you?")`
-
-Output: `(text: "Hi, how are you?", language: "eng", confidenceLanguage: 0.89)`
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md
deleted file mode 100644
index f538d7f..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md
+++ /dev/null
@@ -1,66 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.namefinder
-title: Name Finder
-sidebar_label: Name Finder
-original_id: org.apache.streampipes.processors.textmining.jvm.namefinder
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.namefinder/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Loads a trained model which finds names like locations or organizations.
-
-A list of trained models can be found here: http://opennlp.sourceforge.net/models-1.5/.\
-A guide on how to train a new model can be found here: https://opennlp.apache.org/docs/1.9.1/manual/opennlp.html#tools.namefind.training.
-
-***
-
-## Required input
-
-A stream with a list of tokens from a text.
-
-***
-
-## Configuration
-
-Configure the Name finder so that the tokens are assigned to the "List of Tokens" property
-
-
-#### Model parameter
-
-The trained model which should be used to find the names.
-
-## Output
-
-Appends a string list property to the stream which contains all found names.
-
-**Example (with an loaded english person-name-model):**
-
-Input: `(tokens: ["Hi", "John", "Doe", "is", "here"])`
-
-Output: `(tokens: ["Hi", "John", "Doe", "is", "here"], foundNames: ["John Doe"])`
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md
deleted file mode 100644
index f71ba21..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md
+++ /dev/null
@@ -1,63 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.partofspeech
-title: Part of Speech (English)
-sidebar_label: Part of Speech (English)
-original_id: org.apache.streampipes.processors.textmining.jvm.partofspeech
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.partofspeech/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Takes in a stream of tokens and marks each token with a part-of-speech tag
-The list of used suffixes can be found [here](https://www.ling.upenn.edu/courses/Fall_2003/ling001/penn_treebank_pos.html)
-
-***
-
-## Required input
-
-A stream with a list property which contains the tokens.
-
-***
-
-## Configuration
-
-Simply assign the correct output of the previous stream to the part of speech detector input.
-To use this component you have to download or train an openNLP model:
-https://opennlp.apache.org/models.html
-
-## Output
-
-Appends two list properties to the stream:
-1. String list: The tag for each token
-2. Double list: The confidence for each tag that it is indeed the given tag (between 0 and 1)
-
-**Example:**
-
-Input: `(tokens: ["Hi", "Joe"])`
-
-Output: `(tokens: ["Hi", "Joe"], tags: ["UH", "NNP"], confidence: [0.82, 0.87])`
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md
deleted file mode 100644
index a5ca7aa..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.sentencedetection
-title: Sentence Detection (English)
-sidebar_label: Sentence Detection (English)
-original_id: org.apache.streampipes.processors.textmining.jvm.sentencedetection
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.sentencedetection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects sentences in a text and splits the text accordingly. Only works with english sentences.
-
-***
-
-## Required input
-
-A stream with a string property which contains a text.
-
-***
-
-## Configuration
-
-Simply assign the correct output of the previous stream to the tokenizer input.
-To use this component you have to download or train an openNLP model:
-https://opennlp.apache.org/models.html
-
-## Output
-
-Creates for each sentence in a text a new event in which it replaces the text with the sentence.
-
-**Example:**
-
-Input: `(text: "Hi, how are you? I am fine!")`
-
-Output: `(text: "Hi, how are you?")`, `(text: "I am fine!")`
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md
deleted file mode 100644
index c7891e35..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.tokenizer
-title: Tokenizer (English)
-sidebar_label: Tokenizer (English)
-original_id: org.apache.streampipes.processors.textmining.jvm.tokenizer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.tokenizer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Segments a given text into Tokens (usually words, numbers, punctuations, ...). Works best with english text.
-
-***
-
-## Required input
-
-A stream with a string property which contains a text.
-
-***
-
-## Configuration
-
-Simply assign the correct output of the previous stream to the tokenizer input.
-To use this component you have to download or train an openNLP model:
-https://opennlp.apache.org/models.html
-
-## Output
-
-Adds a list to the stream which contains all tokens of the corresponding text.
-
-**Example:**
-
-Input: `(text: "Hi, how are you?")`
-
-Output: `(text: "Hi, how are you?", tokens: ["Hi", ",", "how", "are", "you", "?"])`
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md
deleted file mode 100644
index 6c663b0..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.field-converter
-title: Field Converter
-sidebar_label: Field Converter
-original_id: org.apache.streampipes.processors.transformation.flink.field-converter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-converter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Converts a string value to a number data type
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md
deleted file mode 100644
index 47f5174..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md
+++ /dev/null
@@ -1,70 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.field-mapper
-title: Field Mapper
-sidebar_label: Field Mapper
-original_id: org.apache.streampipes.processors.transformation.flink.field-mapper
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-mapper/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Replaces one or more fields with a new field and computes a hash value of these fields
-
-***
-
-## Configuration
-
-* Fields: Fields that will be mapped into a property
-* Name of the new field
-
-***
-
-## Example
-Merge two fields into a hash value
-### Input  event
-```
-{
-  "timestamp":1586380104915,
-  "mass_flow":4.3167,
-  "temperature":40.05,
-  "sensorId":"flowrate01"
-}
-```
-
-### Configuration
-* Fields: mass_flow, temperature
-* Name of new field: demo
-
-### Output event 
-```
-{
-  "timestamp":1586380104915,
-  "sensorId":"flowrate01"
-  "demo":"8ae11f5c83610104408d485b73120832",
-}
-```
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md
deleted file mode 100644
index 513c3d2..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.field-renamer
-title: Field Renamer
-sidebar_label: Field Renamer
-original_id: org.apache.streampipes.processors.transformation.flink.field-renamer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-renamer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Replaces the runtime name of an event property with a custom defined name. Useful for data ingestion purposes where a specific event schema is needed.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md
deleted file mode 100644
index 80bb10f..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.fieldhasher
-title: Field Hasher
-sidebar_label: Field Hasher
-original_id: org.apache.streampipes.processors.transformation.flink.fieldhasher
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.fieldhasher/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-The Field Hasher uses an algorithm to encode values in a field. The Field Hasher can use MD5, SHA1 or SHA2 to hash field values.
-Add a detailed description here
-
-***
-
-## Required input
-Any field of type string
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md
deleted file mode 100644
index 6e48329..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.measurement-unit-converter
-title: Measurement Unit Converter
-sidebar_label: Measurement Unit Converter
-original_id: org.apache.streampipes.processors.transformation.flink.measurement-unit-converter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Converts a unit of measurement to another one
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md
deleted file mode 100644
index 998c90c..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md
+++ /dev/null
@@ -1,50 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.processor.boilerplate
-title: Boilerplate Removal
-sidebar_label: Boilerplate Removal
-original_id: org.apache.streampipes.processors.transformation.flink.processor.boilerplate
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Removes boilerplate tags from HTML and extracts fulltext
-
-***
-
-## Required input
-Requires a Text field containing the HTML
-
-***
-
-## Configuration
-
-Select the extractor type and output mode
-
-## Output
-Appends a new text field containing the content of the html page without the boilerplate
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md
deleted file mode 100644
index a46f78b..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.booloperator.counter
-title: Boolean Counter
-sidebar_label: Boolean Counter
-original_id: org.apache.streampipes.processors.transformation.jvm.booloperator.counter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor monitors a boolean value and counts how often the value of the boolean changes. 
-A user can configure whether the changes from FALSE to TRUE, TRUE to FALSE, or BOTH changes should be counted.
-
-***
-
-## Required input
-
-A boolean value is required in the data stream and can be selected with the field mapping.
-
-### Boolean Field
-
-The boolean value to be monitored.
-
-***
-
-## Configuration
-
-A user can configure whether the changes from TRUE to FALSE, FALSE to TRUE, or all changes of the boolean value should be counted.
-
-### Flank parameter
-
-Either:
-* TRUE -> FALSE: Increase counter on a true followed by a false 
-* FALSE -> TRUE: Increase counter on a false followed by a true
-* BOTH: Increas counter on each change of the boolean value on two consecutive events
-
-## Output
-
-Adds an additional numerical field with the current count value to the event. Events are just emitted when the counter changes.
-Runtime Name: countField
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md
deleted file mode 100644
index 3d9110c..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.booloperator.inverter
-title: Boolean Inverter
-sidebar_label: Boolean Inverter
-original_id: org.apache.streampipes.processors.transformation.jvm.booloperator.inverter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor requires a boolean value in the data stream and inverts its value. (e.g. true -> flase)
-
-***
-
-## Required input
-
-### Boolean Field
-
-The boolean value to be inverted.
-
-***
-
-## Configuration
-No further configuration required
-
-## Output
-The output schema is the same as the input schema. Just the value of the property is changed.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md
deleted file mode 100644
index bc5f36c..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping
-title: Measure Time Between Two Sensors
-sidebar_label: Measure Time Between Two Sensors
-original_id: org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor can be used to measure the time between two boolean sensors.
-For example on a conveyor, where one sensor is placed on the left and one senor placed on the right.
-Parts are transported on the conveyor and the sensors are boolean sensors detecting those parts. 
-The time is measured between the two sensors as well as the amount of complete transportation's is counted.  
-The measurement is initialized once the left sensor is true and stopped once the right sensor is true.
-There can also be multiple parts on the conveyor as long as the individual parts do not change.
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/time_measure_example.png" width="300px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Required input
-Requires two boolean fields in the datastream.
-
-### Left Field
-The left field starts the timer when value is true.
-
-### Right Field
-The right field stops the timer and emits the event when its value is true.
-
-***
-
-## Configuration
-No furhter configuration is required.
-
-## Output
-Appends two fields to the input event.
-
-### Timer Field
-The timer field is a numeric value representing the time between the two sensors. Runtime name: measured_time
-
-### Counter
-The counter indicated how many events where emitted by this component. Runtime name: counter
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md
deleted file mode 100644
index a9c05e7..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.booloperator.timer
-title: Boolean Timer
-sidebar_label: Boolean Timer
-original_id: org.apache.streampipes.processors.transformation.jvm.booloperator.timer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor measures how long a boolean value does not change. Once the value is changes the event with the measured time is emitted.
-
-
-***
-
-## Required input
-
-A boolean value is required in the data stream.
-
-### Field
-
-The boolean field which is monitored for state changes.
-
-***
-
-## Configuration
-
-### Timer value
-Define whether it should be measured how long the value is true or how long the value is false.
-
-## Output
-Appends a field with the time how long the value did not change. Is emitted on the change of the boolean value. Runtime name: measured_time 
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md
deleted file mode 100644
index 925452b..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.changed-value
-title: Value Changed
-sidebar_label: Value Changed
-original_id: org.apache.streampipes.processors.transformation.jvm.changed-value
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.changed-value/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor sends out an event everytime a specific object changes. It also adds a timestamp in ms from the system time.
-
-***
-
-## Configuration
-Select property to monitor for changes
-
-Describe the configuration parameters here
-
-## Output
-Emit an event on change and append a timestamp when the change occured
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md
deleted file mode 100644
index cd7c561..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.count-array
-title: Count Array
-sidebar_label: Count Array
-original_id: org.apache.streampipes.processors.transformation.jvm.count-array
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.count-array/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor takes a list field, computes the size of the list and appends the result to the event.
-
-***
-
-## Required input
-
-This processor works with any event that has a field of type ``list``.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### List Field
-
-The field containing the list that should be used.
-
-## Output
-
-Outputs the incoming event while appending the list size (named ``countValue``) to the incoming event.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md
deleted file mode 100644
index 258acf9..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md
+++ /dev/null
@@ -1,77 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.csvmetadata
-title: CSV Metadata Enricher
-sidebar_label: CSV Metadata Enricher
-original_id: org.apache.streampipes.processors.transformation.jvm.csvmetadata
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-Enrich a datastream with information provided in a CSV file.
-The data of the CSV file is matched by an id column with a property value of a String in the data stream.
-
-***
-
-## Description
-Upload a CSV file with static meta information that will be appended to each event.
-The file can contain different information for different keys in the stream.
-
-
-### Structure of CSV file
-The first row containes the runtime names for the properties to insert.
-Once the file is uploaded the user can select which column to use for the matching property and which values should be appended.
-Delimiter: ';'
-
-
-***
-
-## Example
-Add the location of a production line to the event
-
-### Input  event
-```
-{
-  'line_id': 'line1', 
-  'timestamp': 1586378041
-}
-```
-
-### CSV File
-```
-production_line;location
-line1;germany
-line2;uk
-line3;usa
-```
-
-### Configuration
-* The field that is used for the lookup (Example: line_id)
-* The CSV file (Example: Upload the csv file)
-* Field to match (Example: production_line)
-* Fields to append (Example: location)
-
-### Output event 
-```
-{
-  'line_id': 'line1', 
-  'timestamp': 1586378041, 
-  'location': 'germany'
-}
-```
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md
deleted file mode 100644
index 3ed23c2..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.duration-value
-title: Calculate Duration
-sidebar_label: Calculate Duration
-original_id: org.apache.streampipes.processors.transformation.jvm.duration-value
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.duration-value/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor calculates the duration for a given stream with a start timestamp and an end timestamp.
-
-***
-
-## Required input
-Two timestamp fields
-
-***
-
-## Configuration
-
-* Start Timestamp: The first timestamp (t1)
-* End Timestamp: The second timestamp (t2)
-* Time Unit of the result
-
-## Output
-Appends a new field with the difference of t2 and t1
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md
deleted file mode 100644
index 5132b60..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor
-title: Timestamp Extractor
-sidebar_label: Timestamp Extractor
-original_id: org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor extracts a timestamp into the individual time fields (e.g. day field, hour field, ....)
-
-***
-
-## Required input
-
-This processor requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-### Timestamp Field
-
-The field of the event containing the timestamp to parse.
-
-### Extract Fields
-
-Select the individual parts of the timestamp that should be extracted, e.g., Year, Minute and Day.
-
-## Output
-
-The output of this processor is a new event that contains the fields selected by the ``Extract Fields`` parameter.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md
deleted file mode 100644
index 6a0d5e3..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.split-array
-title: Split Array
-sidebar_label: Split Array
-original_id: org.apache.streampipes.processors.transformation.jvm.split-array
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.split-array/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor takes an array of event properties and creates an event for each of them. Further property of the events can be added to each element
-Add a detailed description here
-
-***
-
-## Required input
-
-This processor works with any event that has a field of type ``list``.
-
-***
-
-## Configuration
-
-### Keep Fields
-
-Fields of the event that should be kept in each resulting event.
-
-### List field
-
-The name of the field that contains the list values that should be split.
-
-
-## Output
-
-This data processor produces an event with all fields selected by the ``Keep Fields`` parameter and all fields of the
- selected list field.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md
deleted file mode 100644
index f9d674d..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.stringoperator.counter
-title: String Counter
-sidebar_label: String Counter
-original_id: org.apache.streampipes.processors.transformation.jvm.stringoperator.counter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor monitors a string field and counts how often the value of the string changes. Hereby, a change is characterized by 
-the value of the field before and the value after the change, combined forming a pair. The processor keeps track of the counter for each pair. 
-
-***
-
-## Required input
-
-A string field is required in the data stream and can be selected with the field mapping.
-
-### String Field
-
-The string field to be monitored.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-The following three fields are appended to the event:
-* [counter] numerical field with the current count value for the given value pair
-* [change_from] the value of the string before the change
-* [change_to] the value of the string after the change 
-
-The event is emitted whenever the value of the string field changes.
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md
deleted file mode 100644
index c4eaf92..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.stringoperator.timer
-title: String Timer
-sidebar_label: String Timer
-original_id: org.apache.streampipes.processors.transformation.jvm.stringoperator.timer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor measures how long a value of a string field does not change. Once the value is changes the event with the measured time and the corresponding string value is emitted.
-
-
-***
-
-## Required input
-
-A string field is required in the data stream.
-
-### Field
-
-The string field which is monitored for any value changes.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-The following two fields are appended to the event:
-* [measured_time] the measured time for the string value to not change
-* [field_value] the corresponding string value 
-
-The event is emitted whenever the value of the string field changes.
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md
deleted file mode 100644
index 9bb2ff1..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.taskduration
-title: Task Duration
-sidebar_label: Task Duration
-original_id: org.apache.streampipes.processors.transformation.jvm.taskduration
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-
-***
-
-## Description
-
-This processors computes the duration of a task, i.e., a field containing a task description. It outputs an event
- every time this task value changes and computes the duration between the first occurrence of this task and the
-  current event. For instance, you can use this event to calculate the time a specific process step requires.
-***
-
-## Required input
-
-A timestamp value is required and a field containing a task value.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-
-Emits an event that contains the process step, built from the names of the first task identifier and the identifier
- of the subsequent task. In addition, the duration is part of the output event, provided in milliseconds.
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md
deleted file mode 100644
index 0028a92..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.transform-to-boolean
-title: Transform to boolean
-sidebar_label: Transform to boolean
-original_id: org.apache.streampipes.processors.transformation.jvm.transform-to-boolean
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-This processors transforms numbers and strings to boolean values.
-
-
-***
-
-## Required input
-A string with the values "true", "True", "false", "False" or a number with value 1.0, 1, 0, or 0.0
-
-***
-
-## Configuration
-
-Select fields that should be converted to boolean.
-
-## Output
-Selected properties of input events are transformed to booleans.
-When the value is not valid an error message is logged and the event is discarde.
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.protocol.set.file.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.protocol.set.file.md
deleted file mode 100644
index 37adf4d..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.protocol.set.file.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: org.apache.streampipes.protocol.set.file
-title: File Set
-sidebar_label: File Set
-original_id: org.apache.streampipes.protocol.set.file
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.protocol.set.file/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Reads the content from a local file.
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.protocol.set.http.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.protocol.set.http.md
deleted file mode 100644
index 8f316fe..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.protocol.set.http.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: org.apache.streampipes.protocol.set.http
-title: HTTP Set
-sidebar_label: HTTP Set
-original_id: org.apache.streampipes.protocol.set.http
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.protocol.set.http/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Regularly poll an HTTP endpoint
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md
deleted file mode 100644
index 401fe35..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.bufferrest
-title: Buffered REST Publisher
-sidebar_label: Buffered REST Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.bufferrest
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.bufferrest/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Collects a given amount of events into a JSON array. Once this event count is reached
-the JSON array is posted to the given REST interface.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### REST URL
-
-The complete URL of the REST endpoint.
-
-### Buffer Size
-
-The amount of events before sending.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md
deleted file mode 100644
index 61816d8..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.jms
-title: JMS Publisher
-sidebar_label: JMS Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.jms
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.jms/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes events to a message broker (e.g., ActiveMQ) using the Java Message Service (JMS) protocol.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### JMS Broker Settings
-
-The basic settings to connect to the broker. 
-The JMS broker URL indicates the URL of the broker (e.g., tcp://localhost), the port indicates the port of the broker
- (e.g., 61616)
-
-
-### JMS Topic
-
-The topic where events should be sent to.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md
deleted file mode 100644
index 448b7c3..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.kafka
-title: Kafka Publisher
-sidebar_label: Kafka Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.kafka
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.kafka/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes events to Apache Kafka.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Kafka Broker Settings
-
-The basic settings to connect to the broker. 
-The Kafka broker URL indicates the URL of the broker (e.g., localhost), the port indicates the port of the broker
- (e.g., 9092)
-
-
-### Kafka Topic
-
-The topic where events should be sent to.
-
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md
deleted file mode 100644
index f4214ed..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.mqtt
-title: MQTT Publisher
-sidebar_label: MQTT Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.mqtt
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.mqtt/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes events to MQTT.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### MQTT Broker Settings
-
-The basic settings to connect to the broker. 
-The MQTT broker URL indicates the URL of the broker (e.g., localhost), the port indicates the port of the broker
-(e.g., 9092)
-
-
-### MQTT Topic
-
-The topic where events should be sent to.
-
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md
deleted file mode 100644
index fb97bbf..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.pulsar
-title: Pulsar Publisher
-sidebar_label: Pulsar Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.pulsar
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.pulsar/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes events to Apache Pulsar.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Pulsar Broker Hostname
-
-The hostname to connect to the broker. 
- 
-### Pulsar Broker Port
-
-The port to connect to the broker (e.g., 6650)
-
-
-### Pulsar Topic
-
-The topic where events should be sent to.
-
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md
deleted file mode 100644
index d718bdf..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md
+++ /dev/null
@@ -1,75 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.rabbitmq
-title: RabbitMQ Publisher
-sidebar_label: RabbitMQ Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.rabbitmq
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Forwards events to a RabbitMQ broker
-Add a detailed description here
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Host
-
-The hostname of the RabbitMQ broker.
-
-### Port
-
-The port of the RabbitMQ broker.
-
-### User
-
-The username used to connect to the RabbitMQ broker.
-
-### Password
-
-The password used to connect to the RabbitMQ broker.
-
-### Exchange Name
-
-The name of the exchange.
-
-### RabbitMQ Topic
-
-The topic where events should be sent to.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md
deleted file mode 100644
index 981c7e5..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md
+++ /dev/null
@@ -1,53 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.rest
-title: REST Publisher
-sidebar_label: REST Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.rest
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.rest/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Posts a JSON representation of an event to a REST interface.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### REST URL
-
-The complete URL of the REST endpoint.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto.md
deleted file mode 100644
index 9f902b0..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.ditto
-title: Eclipse Ditto
-sidebar_label: Eclipse Ditto
-original_id: org.apache.streampipes.sinks.databases.ditto
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.ditto/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Forwards events to the Eclipse Ditto API.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-(tbd)
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md
deleted file mode 100644
index 5e29bbb..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.flink.elasticsearch
-title: Elasticsearch
-sidebar_label: Elasticsearch
-original_id: org.apache.streampipes.sinks.databases.flink.elasticsearch
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.flink.elasticsearch/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores data in an Elasticsearch database.
-
-***
-
-## Required input
-
-This sink requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Timestamp Field
-
-The field which contains the required timestamp.
-
-### Index Name
-
-The name of the Elasticsearch index where events are stored to.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md
deleted file mode 100644
index 4e528a9..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.jvm.couchdb
-title: CouchDB
-sidebar_label: CouchDB
-original_id: org.apache.streampipes.sinks.databases.jvm.couchdb
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.couchdb/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in an Apache CouchDB database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Hostname
-
-The hostname of the CouchDB instance.
-
-### Port
-
-The port of the CouchDB instance.
-
-### Database Name
-
-The name of the database where events will be stored
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md
deleted file mode 100644
index 98e27a5..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md
+++ /dev/null
@@ -1,86 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.jvm.influxdb
-title: InfluxDB
-sidebar_label: InfluxDB
-original_id: org.apache.streampipes.sinks.databases.jvm.influxdb
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.influxdb/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in an InfluxDB.
-
-***
-
-## Required input
-
-This sink requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname/URL of the InfluxDB instance. (Include http(s)://).
-
-### Port
-
-The port of the InfluxDB instance.
-
-### Database Name
-
-The name of the database where events will be stored.
-
-### Measurement Name
-
-The name of the Measurement where events will be stored (will be created if it does not exist).
-
-### Username
-
-The username for the InfluxDB Server.
-
-### Password
-
-The password for the InfluxDB Server.
-
-### Timestamp Field
-
-The field which contains the required timestamp.
-
-### Buffer Size
-
-Indicates how many events are written into a buffer, before they are written to the database.
-
-### Maximum Flush
-
-The maximum waiting time for the buffer to fill the Buffer size before it will be written to the database in ms.
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md
deleted file mode 100644
index f7c542d..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.jvm.iotdb
-title: IoTDB
-sidebar_label: IoTDB
-original_id: org.apache.streampipes.sinks.databases.jvm.iotdb
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.iotdb/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in a IoTDB database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname of the IoTDB instance.
-
-### Port
-
-The port of the IoTDB instance (default 6667).
-
-### Storage Group Name
-
-The name of the storage group where events will be stored (will be created if it does not exist).
-For each element of the stream a new time series will be created.
-
-### Username
-
-The username for the IoTDB Server.
-
-### Password
-
-The password for the IoTDB Server.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md
deleted file mode 100644
index 20320e0..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md
+++ /dev/null
@@ -1,73 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.jvm.opcua
-title: OPC-UA
-sidebar_label: OPC-UA
-original_id: org.apache.streampipes.sinks.databases.jvm.opcua
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.opcua/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in an Apache CouchDB database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Hostname
-
-The hostname of the OPC-UA server.
-
-### Port
-
-The port of the OPC-UA server.
-
-### Namespace Index
-
-The namespace index in which the node should be written
-
-### Node Id
-
-The node id of the resulting node
-
-### Number Mapping
-
-The property of the event that should be written to the OPC-UA server
-
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md
deleted file mode 100644
index 56596e7..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md
+++ /dev/null
@@ -1,74 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.jvm.postgresql
-title: PostgreSQL
-sidebar_label: PostgreSQL
-original_id: org.apache.streampipes.sinks.databases.jvm.postgresql
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.postgresql/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in a Postgres database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname of the PostgreSQL instance.
-
-### Port
-
-The port of the PostgreSQL instance (default 5432).
-
-### Database Name
-
-The name of the database where events will be stored
-
-### Table Name
-
-The name of the table where events will be stored (will be created if it does not exist)
-
-### Username
-
-The username for the PostgreSQL Server.
-
-### Password
-
-The password for the PostgreSQL Server.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md
deleted file mode 100644
index 0ec51c1..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md
+++ /dev/null
@@ -1,53 +0,0 @@
----
-id: org.apache.streampipes.sinks.internal.jvm.dashboard
-title: Dashboard Sink
-sidebar_label: Dashboard Sink
-original_id: org.apache.streampipes.sinks.internal.jvm.dashboard
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.internal.jvm.dashboard/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This sink visualizes data streams in the StreamPipes dashboard. 
-Visualizations can be configured in Live Dashboard of StreamPipes after the pipeline has been started.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-No further configuration necessary, individual visualizations can be configured in the Dashboard itself.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md
deleted file mode 100644
index aeea4aa..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md
+++ /dev/null
@@ -1,86 +0,0 @@
----
-id: org.apache.streampipes.sinks.internal.jvm.datalake
-title: Data Lake
-sidebar_label: Data Lake
-original_id: org.apache.streampipes.sinks.internal.jvm.datalake
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.internal.jvm.datalake/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in an InfluxDB.
-
-***
-
-## Required input
-
-This sink requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname/URL of the InfluxDB instance. (Include http(s)://).
-
-### Port
-
-The port of the InfluxDB instance.
-
-### Database Name
-
-The name of the database where events will be stored.
-
-### Measurement Name
-
-The name of the Measurement where events will be stored (will be created if it does not exist).
-
-### Username
-
-The username for the InfluxDB Server.
-
-### Password
-
-The password for the InfluxDB Server.
-
-### Timestamp Field
-
-The field which contains the required timestamp.
-
-### Buffer Size
-
-Indicates how many events are written into a buffer, before they are written to the database.
-
-### Maximum Flush
-
-The maximum waiting time for the buffer to fill the Buffer size before it will be written to the database in ms.
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification.md
deleted file mode 100644
index 2ef1349..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: org.apache.streampipes.sinks.internal.jvm.notification
-title: Notification
-sidebar_label: Notification
-original_id: org.apache.streampipes.sinks.internal.jvm.notification
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.internal.jvm.notification/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Displays a notification in the UI panel of StreamPipes.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-This sink does not have any requirements and works with any incoming event type.
-
-### Notification Title
-
-The title of the notification.
-
-### Content
-
-The notification message.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email.md
deleted file mode 100644
index 0d32b67..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email.md
+++ /dev/null
@@ -1,68 +0,0 @@
----
-id: org.apache.streampipes.sinks.notifications.jvm.email
-title: Email Notification
-sidebar_label: Email Notification
-original_id: org.apache.streampipes.sinks.notifications.jvm.email
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.notifications.jvm.email/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This sink sends an email to a specified receiver.
-
-Before you use this sink, the settings of your email server need to be configured.
-After you've installed the element, navigate to ``Settings``, open the panel ``Sinks Notifications JVM`` and add your
- mail server and credentials.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-The following configuration is required:
-
-### Receiver Address
-
-The email address of the receiver.
-
-### Subject
-
-The subject of the email.
-
-### Content
-
-The mail text.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md
deleted file mode 100644
index 6b3a5b5..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-id: org.apache.streampipes.sinks.notifications.jvm.onesignal
-title: OneSignal
-sidebar_label: OneSignal
-original_id: org.apache.streampipes.sinks.notifications.jvm.onesignal
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.notifications.jvm.onesignal/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This sink sends a push message to the OneSignal application
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### App Id
-
-The OneSignal application ID.
-
-### API Key
-
-The OneSignal API key.
-
-### Content
-
-The message that should be sent to OneSignal
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md
deleted file mode 100644
index 3af32a0..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md
+++ /dev/null
@@ -1,69 +0,0 @@
----
-id: org.apache.streampipes.sinks.notifications.jvm.slack
-title: Slack Notification
-sidebar_label: Slack Notification
-original_id: org.apache.streampipes.sinks.notifications.jvm.slack
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.notifications.jvm.slack/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Slack bot to send notifications directly into your slack
-
-Before you use this sink, the Slack token needs to be configured.
-After you've installed the element, navigate to ``Settings``, open the panel ``Sinks Notifications JVM`` and add your
-Slack API token.
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Receiver
-
-The receiver of the Slack message.
-
-### Channel Type
-
-The channel type, should be "User" or "Channel"
-
-### Content
-
-The message that should be sent.
-
-### 2nd parameter
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/user-guide-first-steps.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/user-guide-first-steps.md
deleted file mode 100644
index 7dba88f..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/user-guide-first-steps.md
+++ /dev/null
@@ -1,210 +0,0 @@
----
-id: user-guide-first-steps
-title: First steps
-sidebar_label: First steps
-original_id: user-guide-first-steps
----
-
-In this section, you'll learn how to create and run pipelines in StreamPipes.
-Before starting with this guide, all steps from the installation guide must be finished successfully and StreamPipes must be up and running.
-
-This guide consists of three steps:
-First, you'll learn how to create your first pipeline using the interactive tutorial.
-Afterwards, this section contains two examples on how to create pipelines based on the built-in data simulator.
- 
-## Interactive Tutorial
-The easiest way to get started with StreamPipes is the interactive tutorial. Once you open the pipeline editor for the first time, you'll see a splash screen as shown below.
-Click **Start tour** to start the interactive tutorial, which will guide you through your first steps with StreamPipes.
- 
-![Interactive Tutorial](/img/quickstart/interactive-tutorial.png)  
-
-If the splash screen does not show up, make sure you've installed the following pipeline elements:
-* Flow rate (data stream)
-* Numerical Filter (processing element)
-* Dashboard (data sink)
-
-After you've finished this very first tour, try the following tours to learn more about other features of StreamPipes:
-* Open the Live Dashboard and start the dashboard tour (by clicking the school icon in the top menu bar) to learn how to create real-time visualizations
-* Open StreamPipes Connect and start the tour to learn how to connect new data sources with StreamPipes.
- 
-## First Examples
-
-In this tutorial, you will create two simple pipelines that demonstrate the basic functionality of StreamPipes.
-The first example deals with monitoring a flow rate sensor.
-This pipeline ensures that everything works properly and data is sent through the whole system.
-In the second example we model a more complex situation detection pipeline that triggers a notification.
-Let's start with our first pipeline.
-If you have problems with any of the examples, please send us an email.
-We are happy to help you.
-
-## Data Simulation
-All the data sources that we have integrated in the StreamPipes demonstrator are simulated according to real world sensors.
-For example a flow rate sensor in a water pipe, which measures how much water flows in that pipe or a water level sensor in a water tank, that reports how high the water level is in the tank.
-In the next section you will use the flow rate sensor to build your first pipeline.
-
-## Flow Rate Visualization
-In the first example, we create a live line chart to monitor the value of the mass flow from a flow rate sensor.
-
-### Create Pipeline
-* As a first step go to the pipeline editor
-* Select the **FRS1** (Flow Rate Source 1)source
-* Then navigate to the **Data Sink** tab
-* Select the **DS** (Dashboard Sink) and connect the source with the sink
-* After connecting the elements save the pipeline by clicking on the save button on the top left corner
-* In the save menu add a name *Flow Rate Monitoring* and a description *This is my very first pipeline!*
-* Also select the **Start pipeline immediatly** checkbox
-* Then click the button **Save and go to pipeline view**
-* You are navigated to the pipeline view and a confirmation that the pipeline was started successfully should be shown
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/01_PipelineEditor_DataStreams.png" alt="Show Pipeline Editor Streams"/>
-    <img src="/img/quickstart/examples_master/02_example1_source.png" alt="Sources"/>
-    <img src="/img/quickstart/examples_master/03_example1_pipeline_finished.png" alt="Pipeline Finished"/>
-    <img src="/img/quickstart/examples_master/04_example1_save.png" alt="Saved Pipeline"/>
-    <img src="/img/quickstart/examples_master/05_example1_pipeline_started.png" alt="Pipeline 01 Started"/>
-</div>
-
-### Create Visualization
-* After we have created the pipeline we must create the line chart
-* Navigate to the **Live Dashboard** of StreamPipes
-* Click on the **Add visualization** button
-* Select the just created pipeline **Flow Rate Monitoring** and click the **next** button
-* For the visualization select the **Line Chart** and click **next** again
-* Now you have to enter the configuration for the line chart
-    * Select time mapping: **timestamp**
-    * Select number mapping: **mass_flow**
-    * Range Minimum: **0** 
-    * Range Maximum: **10**
-* When all parameters are set correctly click the next button again.
-* Congratulation you created the first pipeline and should now see the line chart
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/06_example01_live_visualisation.png" alt="Visualize Pipeline"/>
-    <img src="/img/quickstart/examples_master/07_example01_first_step.png" alt="Configure Visualization Step 1"/>
-    <img src="/img/quickstart/examples_master/08_example01_second_step.png" alt="Configure Visualization Step 2"/>
-    <img src="/img/quickstart/examples_master/09_example01_third_step.png" alt="Configure Visualization Step 3"/>
-    <img src="/img/quickstart/examples_master/10_example1_finished.png" alt="Pipeline 01 Done"/>
-</div>
-
-
-## Condition monitoring of a water tank
-In our second example we are going to create a more complex pipeline.
-This pipeline has two sources, the flow rate sensor from the previous example and a source measuring the water level in a tank.
-Our goal is to send a notification when the flow rate stops and the water level in the water tank sinks too fast.
-In this case a service technician should check the system as soon as possible.
-This example should just illustrate how the individual components work.
-Since the system currently uses simulated data each time the situation occurs a notification is triggered.
-
-Now lets start!
-
-
-### Build the pipeline
-* First we have to select the **FRS1** (Flow Rate Sensor 1) and **WL1** (Water Level) form the sources tab
-* In a first step we want to detect when the flow rate stops
-* Use the **NF** (Numerical Filter) from the processing elements tab and connect it to the **FRS1** source
-* Configure the **Numerical Filter**:
-    * Field name for filter operator: **mass_flow**
-    * Filter Operation: **<**
-    * Threshold value: **1**
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/11_example2_start.png" alt="Start Example 2"/>
-    <img src="/img/quickstart/examples_master/12_example2_numerical.png" alt="Select Numericl Filter"/>
-    <img src="/img/quickstart/examples_master/13_example2_configure_numerical.png" alt="Configure Numerical Filter"/>
-</div>
-
-* As a next step we add an aggregation to the water level. This reduces the inaccuracies we have because the water moves in the tank. 
-* Select the **A** (Aggregation) processing element
-* Connect the **WL1** with **A**
-* Configure **Aggregation**:
-    * Property Selection: **level**
-    * Operation: **Average**
-    * Time Window Size: **10**
-    * Output Frequency: **1**
-    * Groupe By: **None**
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/14_example2_aggregate.png" alt="Select Aggregation"/>
-    <img src="/img/quickstart/examples_master/15_example2_configure_aggregate.png" alt="Configure Aggregation"/>
-        <img src="/img/quickstart/examples_master/15_example2_configure_aggregate_2.png" alt="Configure Aggregation"/>
-
-</div>
-
-* With the next processing element we check if the water level decreases too fast
-* Select **I** (Trend) and connect it to **A**
-* Configure **Trend**:
-    * Timestamp field: **timestamp**
-    * Value to observe: **aggregatedValue** (This value is created by previous element)
-    * Group by: **sensorId**
-    * Increase / Decrease: **Decrease**
-    * Percentage of Increase / Decrease: **20**
-    * Time Window Length: **10**
-    * Select Output: **All**
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/16_example2_increase.png" alt="Select Increase"/>
-    <img src="/img/quickstart/examples_master/17_example2_configure1_increase.png" alt="Configute 01 Increase"/>
-</div>
-
-* Now we connect the two stream with the sequence element, which checks if both events occur in a certain time
-* Select **S** (Sequence) and connect both data streams to it
-* Configure **Sequence**:
-    * Time Window Size: **1**
-    * Time Unit: **sec**
-    
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/19_example2_sequence.png" alt="Select Sequence Detection"/>
-    <img src="/img/quickstart/examples_master/20_example2_configure_sequence.png" alt="ConfigureSequence Detection"/>
-</div>
-
-* Now we create a notification for the service technician that something is wrong with the system
-* Select **N** (Notification) from the data sink tab
-* Connect **S**  with **N**
-* Configure **Notification**: 
-    * Notification title: **Alarm**
-    * Content: **One notification was triggered by our first complex pipeline. Yeahhhh!**
-    
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/21_example2_notification.png" alt="Select Notification"/>
-    <img src="/img/quickstart/examples_master/22_example2_configure_notification.png" alt="Configure Notification"/>
-</div>
-
-* Add the dashboard sink to the increase element to monitor the preliminary results
-* Select **DS** and connect to **I**
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/23_example2_dashboard_sink.png" alt="Select Dashboard"/>
-</div>
-
-* Save the pipeline 
-* Save configuration:
-    * Pipeline Name: **Second Pipeline**
-    * Description: **Complex monitorung rule**
-    * Start pipeline immediately: **CHECK**
-* Click **Save and go to pipeline view**
-* All pipeline elements should be started successfully 
-* It can be seen that the elements run on different technologies, in flink and a java container
-    * http://pe-flink-examples:8090
-    * http://pe-jvm-examples:8090
-* Go to visualization and create **Raw Data** visualization for the new pipeline   
-    
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/25_example2_started.png" alt="Pipeline Started Sucessfull"/>
-    <img src="/img/quickstart/examples/26_example2_visualisation.png" alt="Add Visualization"/>
-</div>
-
-* Every time you can see output in the **Raw Data** visualization of the new pipeline and the **Line Chart** from the first example are zero, a Notification is triggered by the pipeline.
-* Go to the **Notifications** view and have a look at the notification
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples/27_example2_notification.png" alt="Show Notification"/>
-</div>
-
-
-Congratulation you finished the quick start!
-It is recommended to stop the last pipeline, because it will keep creating notifications ;)
-
-We hope we gave you an easy quick start into StreamPipes.
-If you have any questions or suggestions, just send us an email.
-From here on you can explore all features in the [User Guide](user-guide-introduction.md) or go to the [Developer Guide](dev-guide-introduction.md) to learn how to write your own StreamPipes processing elements.
-
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/user-guide-installation.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/user-guide-installation.md
deleted file mode 100644
index cdbe9e1..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/user-guide-installation.md
+++ /dev/null
@@ -1,140 +0,0 @@
----
-id: user-guide-installation
-title: Installation
-sidebar_label: Installation
-original_id: user-guide-installation
----
-## Prerequisites
-
-### Hardware
-
-* Docker (latest version, see instructions below)
-* Docker Compose (latest version., see instructions below)
-
-### Supported operating systems
-We rely on Docker and support three operating systems for the StreamPipes system
-
-* Linux
-* OSX
-* Windows 10
-    * Please note that older Windows versions are not compatible with Docker. Also Linux VMs under Windows might not work, due to network problems with docker.
-
-### Web Browser
-StreamPipes is a modern web application, therefore you need a recent version of Chrome (recommended), Firefox or Edge.
-
-### Docker
-You need to have Docker installed on your system before you continue with the installation guide.
-
-
-<div class="admonition info">
-<div class="admonition-title">Install Docker</div>
-<p>Go to https://docs.docker.com/installation/ and follow the instructions to install Docker for your OS. Make sure docker can be started as a non-root user (described in the installation manual, don’t forget to log out and in again) and check that Docker is installed correctly by executing docker-run hello-world</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Configure Docker</div>
-<p>By default, Docker uses only a limited number of CPU cores and memory.
-       If you run StreamPipes on Windows or on a Mac you need to adjust the default settings.
-       To do that, click on the Docker icon in your tab bar and open the preferences.
-       Go to the advanced preferences and set the **number of CPUs to 6** (recommended) and the **Memory to 4GB**.
-       After changing the settings, Docker needs to be restarted.</p></div>
-
-
-## Install StreamPipes
-
-<div class="tab-content" id="myTabContent">
-    <div class="tab-pane fade show active" id="linux" role="tabpanel" aria-labelledby="linux-tab">
-        <ul style="padding-left:0">
-            <li class="installation-step">
-                <div class="wrapper-container" style="align-items: center;justify-content: center;">
-                    <div class="wrapper-step">
-                        <span class="fa-stack fa-2x">
-                             <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                             <strong class="fa-stack-1x" style="color:white;">1</strong>
-                        </span>
-                    </div>
-                    <div class="wrapper-instruction">
-                        <a href="https://www.apache.org/dyn/mirrors/mirrors.cgi?action=download&filename=incubator/streampipes/installer/0.66.0/apache-streampipes-installer-0.66.0-incubating-source-release.zip">Download</a>
-                        the latest Apache StreamPipes release and extract the zip file to a directory of your choice.
-                    </div>
-                </div>
-            </li>
-            <li class="installation-step">
-                <div class="wrapper-container" style="align-items: center;justify-content: center;">
-                    <div class="wrapper-step">
-                        <span class="fa-stack fa-2x">
-                             <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                             <strong class="fa-stack-1x" style="color:white;">2</strong>
-                        </span>
-                    </div>
-                    <div class="wrapper-instruction">
-                       <div style="margin-bottom:5px;"><b>Linux/Mac:</b> In a command prompt, open the folder <code>installer/osx_linux</code> and run <code>./streampipes
-                            start</code>.<br/>
-                        </div>
-                        <div style="margin-top:5px;">
-                        <b>Windows 10:</b> In a command prompt, open the folder <code>installer/windows10</code> and run <code>streampipes.bat
-                                                    start</code>.<br/>
-                        </div>
-                    </div>
-                </div>
-            </li>
-            <li class="installation-step">
-                <div class="wrapper-container" style="align-items: center;justify-content: center;">
-                    <div class="wrapper-step">
-                        <span class="fa-stack fa-2x">
-                             <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                             <strong class="fa-stack-1x" style="color:white;">3</strong>
-                        </span>
-                    </div>
-                    <div class="wrapper-instruction">
-                       When asked, enter the version (full or lite).
-                    </div>
-                </div>
-            </li>
-            <li class="installation-step">
-                <div class="wrapper-container" style="align-items: center;justify-content: center;">
-                    <div class="wrapper-step">
-                        <span class="fa-stack fa-2x">
-                             <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                             <strong class="fa-stack-1x" style="color:white;">4</strong>
-                        </span>
-                    </div>
-                    <div class="wrapper-instruction">
-                        Open your browser, navigate to http://localhost:80 (or the domain name of your server) and finish the setup according to the instructions below.
-                    </div>
-                </div>
-            </li>
-        </ul>
-        </div>
-    </div>
-
-## Setup StreamPipes
-
-Once you've opened the browser at the URL given above, you should see StreamPipes application as shown below.
-To set up the system, enter an email address and a password and click on install.
-At this point, it is not necessary to change anything in the advanced settings menu.
-The installation might take some time, continue by clicking on "Go to login page", once all components are successfully configured.
-
-
-On the login page, enter your credentials, then you should be forwarded to the home page.
-
-Congratulations! You've successfully managed to install StreamPipes. Now we're ready to build our first pipeline!
-
-<div class="my-carousel">
-    <img src="/img/quickstart/setup/01_register_user.png" alt="Set Up User"/>
-    <img src="/img/quickstart/setup/02_user_set_up.png" alt="SetUp StreamPipes Components"/>
-    <img src="/img/quickstart/setup/03_login.png" alt="Go to login page"/>
-    <img src="/img/quickstart/setup/04_home.png" alt="Home page"/>
-</div>
-
-<div class="admonition error">
-<div class="admonition-title">Errors during the installation process</div>
-<p>In most cases, errors during the installation are due to an under-powered system.<br/>
-If there is a problem with any of the components, please restart the whole system and delete the "config" directory on the server.
-   This directory is in the same folder as the docker-compose.yml file.<br/>
-   Please also make sure that your system meets the hardware requirements as mentioned in the first section of the installation guide.</p>
-</div>
-
-## Next Steps
-
-Now you can continue with the tutorial on page [First steps](user-guide-first-steps.md).
diff --git a/website-v2/versioned_docs/version-0.64.0-pre-asf/user-guide-tour.md b/website-v2/versioned_docs/version-0.64.0-pre-asf/user-guide-tour.md
deleted file mode 100644
index a931c14..0000000
--- a/website-v2/versioned_docs/version-0.64.0-pre-asf/user-guide-tour.md
+++ /dev/null
@@ -1,306 +0,0 @@
----
-id: user-guide-tour
-title: Tour
-sidebar_label: Tour
-original_id: user-guide-tour
----
-
-StreamPipes is a framework that enables domain experts to model and execute stream processing pipelines in a big data infrastructure.
-The graphical user interface of StreamPipes is a web application that provides an easy to use solution for domain experts.
-In this page, an overview of the many features of StreamPipes is given. We will tour through all features and explain what they do and how users can interact with them.
-
-First of all, a user needs to log in to the system.
-The credentials for the user are specified during the installation process.
-
-![StreamPipes Login](/img/features_0_62_0/login.png) 
-
-## Home
-After logging in, the user is redirected on to the home page.
-The home page gives an overview over the different features available in the StreamPipes UI.
-
-On the left, the navigation menu can be seen.
-You can either use the icons on the left side or click on the menu icon on the
-top left to open the details view of the navigation menu.
-
-On the top right, a link refers to the documentation and the logout button is present.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/home/home.png" alt="Home"/>
-    <img src="/img/features_0_62_0/home/open_menu.png" alt="Open Menu"/>
-</div>
-
-
-
-## Pipeline Editor
-The first feature we are going to explain is the Pipeline Editor.
-This is one of the central features of StreamPipes, since graphical modeling of pipelines takes place in this view.
-
-On the top we can see four tabs: __Data Sets__, __Data Streams__, __Processing Elements__, and __Data Sinks__.
-Each tab contains multiple pipeline elements, which can be installed at runtime.
-The installation of pipeline elements is explained later in section [Install Pipeline Elements](user-guide-tour.md#install-pipeline-elements).
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/editor/2_PipelineEditor_DataStreams.png" alt="Data Streams"/>
-    <img src="/img/features_0_62_0/editor/3_PipelineEditor_DataProcessors.png" alt="Processing Elements"/>
-    <img src="/img/features_0_62_0/editor/4_PipelineEditor_DataSinks.png" alt="Data Sinks"/>
-    <img src="/img/features_0_62_0/editor/1_PipelineEditor_DataSets.png" alt="Data Sets"/>
-</div>
-
-There are multiple ways to search for a pipeline element. 
-The easiest way is to enter a search term in the search field on the top left corner.
-The system filters the elements according to the search term and only presents the relevant ones.
-Another way is to select one of the categories from the drop down menu.
-The system then filters the elements according to the selected category.
-The category of an element is defined by its functionality.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/editor/5_text_filter.png" alt="Text Filter"/>
-    <img src="/img/features_0_62_0/editor/6_category_drop_down.png" alt="Category Drop Down"/>
-    <img src="/img/features_0_62_0/editor/7_category_filter.png" alt="Category Filter"/>
-</div>
-
-Modelling of a pipeline starts with choosing one ore more data sources. Therefore a data stream or data set must be selected
-and moved into the editor via drag and drop.
-After adding a data stream, we can select a processing element to transform the events of the data stream.
-This is done again by dragging the processing element icon into our editor.
-The mouse can be used to connect the two elements.
-It is automatically checked in the background if the two elements are semantically compatible.
-If this check is successful, a configuration menu is shown. It contains the parameters that can be modified by the
-user. For all parameters, a description is provided and the system also prevents the user from entering parameters that
-are not correct, according to the semantic description of the element.
-It is also ensured that all required parameters are provided by the user, otherwise an error message is displayed.
-
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/editor/8_connect_elements.png" alt="Connect Elements"/>
-    <img src="/img/features_0_62_0/editor/9_configure_element.png" alt="Configure Elements"/>
-</div>
-
-When the user tries to connect two elements that are not compatible, the system shows a __connection error__ message.
-The example illustrated below shows such a case. The user tried to connect a text filter to a light sensor.
-This is not possible since the text filter processing element requires at least one event property of type string, which is not provided by the light sensor.
-
-![Connection Error](/img/features_0_62_0/editor/10_connection_error.png) 
-
-To further improve the usability, multiple ways are available to connect new elements besides the drag and drop option.
-Each processing element has multiple short-cut buttons to connect it with another element.
-The first one (eye icon) can be used to get a suggestion of all elements that are compatible with the current element.
-The second one (plus icon) gives a recommendation on the elements the user might want to connect, based on the usage of the component in
-other pipelines.
-There is also a button (question tag icon) to open the documentation of a selected element.
-Elements can be deleted by clicking the 'delete' button.
-Each element can also be re-configured at a later point in time using the configuration button.
-There is one important aspect about re-configuration of pipeline elements you need to be aware of: Only elements that are not yet connected to another element can be modified.
-The reason for this behaviour is that some of the following elements might rely on the configuration of previous elements.
-This way it is ensured that the user can not change the behaviour of the pipeline by accident.
- 
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/editor/11_shortcut_buttons.png" alt="Shortcut Buttons"/>
-    <img src="/img/features_0_62_0/editor/12_compatible_elements.png" alt="Compatible Elements"/>
-    <img src="/img/features_0_62_0/editor/13_recommend_elements.png" alt="Recommended elements"/>
-</div>
-
-
-After the pipeline is completely modelled, the editor looks similar to the first image below.
-Especially for larger pipelines, the auto layout button in the editor menu might be helpful.
-With this button, the pipeline will be beautifully aligned in the editor, helping users to get a better overview of the complete pipeline.
-On the top left corner of the editor, the 'save' button can be found.
-After the modelling of the pipeline is done, use this button to save and execute the pipeline.
-A save dialogue pops up when clicking the save button. 
-The pipeline title must be entered and an additional description can be provided.
-It is recommended to always provide a description, because it makes it easier for other users to understand the meaning of the pipeline.
-In the save menu, the user can either just store the pipeline configuration or store it and immediately start the pipeline.
-Once the pipeline is executed, the user is redirected to the _Manage Pipeline_ view.
-In this view, the user gets immediate feedback whether all components did start correctly and the pipeline is up and running.
-This view also shows that individual elements might run in different environments on different servers.
-If there is an error during the execution, a notification containing a (hopefully) detailed error description is provided in this view.
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/editor/14_save_adjust.png" alt="Save adjust delete"/>
-    <img src="/img/features_0_62_0/editor/15_save_dialogue.png" alt="Complete pipeline"/>
-    <img src="/img/features_0_62_0/editor/16_pipeline_sucessfully_started.png" alt="Pipeline sucessfully started"/>
-</div>
-
-## Connect new Data Sources
-With StreamPipes Connect it is possible to connect new data sources in StreamPipes with just a few clicks.
-Therefore, we provide a marketplace with a lot of different adapters that can be configured and executed to create new __Data Streams__ in the __Pipeline Editor__.
-With StreamPipes Connect it is possible to connect specific data sources - e.g. an adapter streaming the current location of the ISS (International Space Station).
-It is also possible to connect generic sources like message brokers or databases.
-If the event schema of the data source is unknown, the system tries to infer the schema by extracting some sample data and analysing it.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/connect/new/01_connect.png" alt="Market Place"/>
-    <img src="/img/features_0_62_0/connect/new/02_mqtt_adapter.png" alt="MQTT adapter"/>
-    <img src="/img/features_0_62_0/connect/new/03_configure_mqtt.png" alt="Configure MQTT adpater"/>
-    <img src="/img/features_0_62_0/connect/new/04_configure_format.png" alt="Guess event schema"/>
-    <img src="/img/features_0_62_0/connect/new/05_guess_schema.png" alt="Guess event schema"/>
-    <img src="/img/features_0_62_0/connect/new/06_edit_adapter.png" alt="Edit adapter"/>
-    <img src="/img/features_0_62_0/connect/new/07_start_adapter.png" alt="Start adapter"/>
-    <img src="/img/features_0_62_0/connect/new/08_data_stream_in_editor.png" alt="New data stram in pipeline editor"/>
-</div>
-
-Additionally to connecting new sources, data can be cleaned, transformed, and enriched with meta-information.
-Therefore, the event schema can be changed or enriched in step 3 (Define Event Schema).
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/connect/edit/01_edit_timestamp.png" alt="Edit a property to timestamp"/>
-    <img src="/img/features_0_62_0/connect/edit/02_change_unit.png" alt="Change Unit of property"/>
-    <img src="/img/features_0_62_0/connect/edit/03_change_unit.png" alt="Change Unit of property"/>
-</div>
-
-## Manage Pipelines
-The _Manage Pipelines_ view provides an overview of all existing pipelines.
-Existing pipelines can be managed using this view.
-For instance, users can start and stop pipelines or delete them when they are not longer needed.
-Pipeline actions can be performed by clicking one of the buttons next to each pipeline.
-For each pipeline, the title and description is displayed in the table.
-By clicking the edit symbol an overview of the created pipline is shown. In this window you are able to analyze statistics, identify errors or edit the pipeline.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/manage_pipelines/1_pipeline_overview.png" alt="Pipeline Overview"/>
-    <img src="/img/features_0_62_0/manage_pipelines/2_pipeline_information.png" alt="Pipeline infomation"/>
-    <img src="/img/features_0_62_0/manage_pipelines/3_delete_pipeline.png" alt="Delete Pipelines"/>
-    <img src="/img/features_0_62_0/manage_pipelines/4_pipeline_deleted.png" alt="Delete Pipelines"/>
-</div>
-
-In a setting with many defined pipelines, it can get really hard to keep track of all pipelines.
-This is why we introduce categories.
-A category is a set of pipelines that can be defined by users in order to better organize pipelines.
-By clicking on the "Manage Categories" button on the top left, a new category can be added to StreamPipes.
-In this example, we create a new category named "New Demo Category".
-After saving a category, pipelines can be added to the newly created category.
-The new category is then presented as a tab in the _Pipeline Management_ view.
-This tab contains all previously defined pipelines.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/manage_pipelines/5_pipeline_category.png" alt="Pipeline Category"/>
-    <img src="/img/features_0_62_0/manage_pipelines/6_add_category.png" alt="Add Pipeline Category"/>
-    <img src="/img/features_0_62_0/manage_pipelines/7_new_category.png" alt="New Category"/>
-    <img src="/img/features_0_62_0/manage_pipelines/8_show_new_category.png" alt="Show new Category"/>
-</div>
-
-## Live Dashboard
-The live dashboard can be used for multiple use cases.
-It is a good way to live monitor a running system in a dashboard, but it can also be used during the pipeline development to get a fast feedback from newly created pipelines.
-Below is a screenshot of an example dashboard showing the current value of pressure, which further shows a line chart and a trafficlight for a water level pipeline.
-All pipelines that contain the "Dashboard Sink" can be visualized in this view.
-To add a new visualisation, click on the "Add visualisation" button on the top left corner.
-Afterwards, a three-step configuration menu is shown.
-The first step is to select the pipeline that should be visualized.
-In the second step, the type of visualization can be defined.
-Currently 10 different types are available, including line charts, various map visualizations and data tables.
-After selecting the type (in our example "Gauge"), you can select the specific measurement values of the data stream that should be displayed.
-In the example below, the water level value should be monitored and the gauge value should range from 0 to 100.
-Once all steps are completed, the new visualization is placed on the dashboard and live data is presented as soon as it becomes available.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/dashboard/01_dashboard.png" alt="Screenshot of live dashboard"/>
-    <img src="/img/features_0_62_0/dashboard/02_new_visualisation.png" alt="Select Pipeline to visualize"/>
-    <img src="/img/features_0_62_0/dashboard/03_select_gauge.png" alt="Select Visualization Type"/>
-    <img src="/img/features_0_62_0/dashboard/04_configure_gauge.png" alt="Configure  Visualzation"/>
-    <img src="/img/features_0_62_0/dashboard/05_new_gauge_done.png" alt="Show new Visualzation"/>
-</div>
-
-## File Download
-With the file download,  it is possible to download stored files directly from Elasticsearch.
-This can be very useful for example when a data dumb is needed for a specific time range.
-All data that is written into Elasticsearch using the _Elasticsearch Sink_ can be accessed by the file downloader.
-A common use case is to download data for offline analysis and to train a machine learning algorithm.
-First, an index must be defined, afterwards, the time range must be set.
-A date picker helps users to enter the time range.
-When a user clicks the "Create File" button the file is created.
-All files stored on the server can be downloaded via the download button.
-If the files are not longer needed, they can be deleted by clicking the delete button.
-This will remove the file from the server.
-Since data is stored in Elasticsearch anyways. it is recommended not to store the files for a longer period of time on the server.
-When a file is needed again at a later point in time it is easy to create it again. 
-This way a lot of disk space on the server can be saved, especially when the files are rather large.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/file_download/01_file_download.png" alt="File Download"/>
-    <img src="/img/features_0_62_0/file_download/02_file_download.png" alt="File Download with selected time range"/>
-    <img src="/img/features_0_62_0/file_download/03_file_download.png" alt="File Download with new File"/>
-</div>
-
-## Notifications
-Notifications are a good solution to notify someone when a urgent situation occurs.
-A notification can be created by using the notification sink in the pipeline editor.
-When using such a sink a configuration dialogue is presented to the user.
-In this dialogue the user must provide enough information to resolve the solution when it occurs.
-The message can be nicely configured in the message editor.
-It is also possible to embed values of the event that triggered the notification.
-This can be done with the #property# notation.
-All available properties are presented in the notification configurator.
-When the notification is triggered the #property# template is replaced with the actual value of the property.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/notification/01_select_notification_sink.png" alt="Select Notification"/>
-    <img src="/img/features_0_62_0/notification/02_configure_notification.png" alt="Configure Notification"/>
-</div>
-
-A pop up icon on the notification tab in the menu shows the user how many unread notifications currently are in the system.
-This icon also alerts users when new notifications occur.
-In the notification overview all notifications are listed.
-On the top are the new notifications that are not read yet.
-A user can mark them as read by clicking on the little envelope icon.
-Those notifications are then no longer in the unread section, but they remain in the "All Messages" view.
-This way it is possible to keep track of all notifications and have a look at them at a later point in time.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/notification/03_new_notification.png" alt="New Notification"/>
-</div>
-
-
-## Install Pipeline Elements
-StreamPipes is highly configurable and extensible.
-Pipeline elements can be added and removed during runtime.
-This can be done in the "Install Pipeline Elements" view.
-All available pipeline elements are shown here and can be selected to install or uninstall.
-It is also possible to select multiple or all of them and then install them all together.
-When a new element is installed by the user it is automatically available in the "Pipeline Editor" and can be used for pipelines.
-Elements that are uninstalled are removed from the system. 
-They can not longer be used within pipelines.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/install_elements/01_install_elements.png" alt="Install Elements View"/>
-    <img src="/img/features_0_62_0/install_elements/02_install_countAggregation.png" alt="Insall new Element"/>
-    <img src="/img/features_0_62_0/install_elements/03_installed_countAggregation.png" alt="Installation Successful"/>
-    <img src="/img/features_0_62_0/install_elements/04_countAggregation_in_editor.png" alt="Show new installed element"/>
-</div>
-
-
-## My Elements
-The "My Elements" view gives a quick overview over all installed pipeline elements.
-Here they can be inspected and the description can be re-imported.
-In this view it is also possible to have a look at the JSON-LD representation of each element.
-This is not important for a user, but it is worth noting that the system uses this machine understandable format to support the user.
-For example all the information of the sources, like data schema or unit information is in the JSON-LD meta data.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/my_elements/01_my_elements.png" alt="My Elements Overview"/>
-    <img src="/img/features_0_62_0/my_elements/02_my_elements_jsonid.png" alt="View JSON-LD"/>
-</div>
-
-## Configuration
-The last feature is the _configuration view_.
-Here, it is possible to change the configuration parameters of installed components.
-All components containing processing elements automatically register in StreamPipes when they are started in the same network as the backend component.
-Once a container is registered it is represented in the configuration view.
-The green dot on the top left indicates that tha container is running properly.
-When there is a problem with a container the green dot changes to red and the user knows there is a problem.
-To configure the parameters the top right arrow of a configuration box must be clicked.
-Then the configuration menu pops up. 
-Within there it is possible to change the parameters of a service.
-To make the changes persistent the "Update" button must be clicked.
-A user should keep in mind that sometimes it is necessary to restart a container when the parameters are changed.
-Sometimes it is also necessary to re-import the pipeline element description, either by uninstalling and re-installing them after the container restart or be reloading the description in the "My elements" view.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/configuration/01_configuration_overview.png" alt="Configuration Overview"/>
-    <img src="/img/features_0_62_0/configuration/02_change_config.png" alt="Change Configuration"/>
-</div>
-
-
-Congratulations! You've just finished your first tour of StreamPipes.
-Although there's still more to learn, we introduced most of the currently available features.
-On the next page, the different processing elements that come with the installation are explained.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/01_try-installation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/01_try-installation.md
deleted file mode 100644
index 7aec46c..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/01_try-installation.md
+++ /dev/null
@@ -1,140 +0,0 @@
----
-id: version-0.67.0-try-installation
-title: Installation
-sidebar_label: Installation
-original_id: try-installation
----
-
-The easiest way to install StreamPipes is our Docker-based installation. For production-grade deployments, we also
-recommend looking at our Kubernetes support, which is also part of the installation kit.
-
-## Prerequisites
-
-The Docker-based installation requires **Docker** and **Docker Compose** to be installed on the target machine.
-Installation instructions can be found below.
-
-<div class="admonition info">
-<div class="admonition-title">Install Docker</div>
-<p>Go to https://docs.docker.com/installation/ and follow the instructions to install Docker for your OS. Make sure docker can be started as a non-root user (described in the installation manual, don’t forget to log out and in again) and check that Docker is installed correctly by executing docker-run hello-world</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Configure Docker</div>
-<p>By default, Docker uses only a limited number of CPU cores and memory.
-       If you run StreamPipes on Windows or on a Mac you need to adjust the default settings.
-       To do that, click on the Docker icon in your tab bar and open the preferences.
-       Go to the advanced preferences and set the **number of CPUs to 6** (recommended) and the **Memory to 4GB**.
-       After changing the settings, Docker needs to be restarted.</p></div>
-
-### Supported operating systems
-
-The Docker-based installation supports the operating systems **Linux**, **Mac OS X** and **Windows 10**. Older windows
-versions are not fully compatible with Docker. Linux VMs running under Windows might cause network problems with Docker,
-therefore some manual work might be needed to make StreamPipes run properly.
-
-### Web Browser
-
-The StreamPipes application itself will be accessible through a web browser. We recommend a recent version of Chrome (
-best experience), Firefox or Edge.
-
-## Install StreamPipes
-
-<ul style="padding-left:0">
-  <li class="installation-step" style="margin-top:20px;">
-      <div class="wrapper-container" style="">
-          <div class="wrapper-step">
-              <span class="fa-stack fa-2x">
-                   <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                   <strong class="fa-stack-1x" style="color:white;">1</strong>
-              </span>
-          </div>
-          <div class="wrapper-instruction">
-              Download the latest Apache StreamPipes release and extract the zip file to a directory of your choice.
-                  <table class="table" style="margin-top:30px;">
-                      <thead>
-                      <tr style="background:rgb(27, 20, 100);color:white;">
-                          <th scope="col" style="border-bottom:0px;border-top:0px;">File</th>
-                          <th scope="col" style="border-bottom:0px;border-top:0px;">Version</th>
-                          <th scope="col" style="border-bottom:0px;border-top:0px;">Release Date</th>
-                          <th scope="col" style="border-bottom:0px;border-top:0px;">Signatures</th>
-                      </tr>
-                      </thead>
-                      <tbody>
-                      <tr>
-                          <td><a href="https://www.apache.org/dyn/mirrors/mirrors.cgi?action=download&filename=incubator/streampipes/installer/0.67.0/apache-streampipes-installer-0.67.0-incubating-source-release.zip">apache-streampipes-installer-0.67.0-incubating-source-release.zip</a></td>
-                          <td>0.67.0</td>
-                          <td>2020-10-27</td>
-                          <td>
-                              <a href="https://downloads.apache.org/incubator/streampipes/installer/0.67.0/apache-streampipes-installer-0.67.0-incubating-source-release.zip.sha512">SHA</a>
-                              <a href="https://downloads.apache.org/incubator/streampipes/installer/0.67.0/apache-streampipes-installer-0.67.0-incubating-source-release.zip.asc">PGP</a>
-                          </td>
-                      </tr>
-                      </tbody>
-                  </table>
-              <div class="row">
-                  <div class="alert alert-info" role="alert">
-                    The above release file should be verified using the PGP signatures and the <a href="https://downloads.apache.org/incubator/streampipes/KEYS">project release KEYS</a>. See the official ASF <a target="asf" href="https://www.apache.org/dyn/closer.cgi#verify">verification instructions</a> for a description of using the PGP and KEYS files for verification. A SHA512 checksum is also provided as an additional verification method.
-                  </div>
-              </div>
-          </div>
-      </div>
-  </li>
-  <li class="installation-step">
-      <div class="wrapper-container">
-          <div class="wrapper-step">
-              <span class="fa-stack fa-2x">
-                   <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                   <strong class="fa-stack-1x" style="color:white;">2</strong>
-              </span>
-          </div>
-          <div class="wrapper-instruction">
-             <div style="margin-bottom:5px;">In a command prompt, open the folder <code>compose</code> and run <code>docker-compose up -d</code>.
-                <div class="row" style="margin-top:10px;">              
-                    <div class="alert alert-info" role="alert">The folder contains two docker-compose files: The standard file contains the so-called <i>lite</i> installation, which includes less pipeline elements, but also requires for less performant hardware. The <i>full</i> version includes also the Apache Flink wrapper and more pipeline elements, but requires for more memory. See the Github <a href="https://github.com/apache/incubator-streampipes-installer/tree/master/compose">README</a> for complete usage instructions.</div>
-            </div>
-            </div>
-        </div>
-    </div>
-  </li>
-    <li class="installation-step">
-        <div class="wrapper-container" style="align-items: center;justify-content: center;">
-            <div class="wrapper-step">
-                <span class="fa-stack fa-2x">
-                     <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                     <strong class="fa-stack-1x" style="color:white;">3</strong>
-                </span>
-            </div>
-            <div class="wrapper-instruction">
-                Open your browser, navigate to http://localhost:80 (or the domain name of your server) and finish the setup according to the instructions below.
-            </div>
-        </div>
-    </li>
-</ul>
-
-## Setup StreamPipes
-
-Once you've opened the browser at the URL given above, you should see StreamPipes application as shown below. To set up
-the system, enter an email address and a password and click on install. After the installation has finished, continue by clicking on "Go to login
-page", once all components are successfully configured.
-
-On the login page, enter your credentials, then you should be forwarded to the home page.
-
-Congratulations! You've successfully managed to install StreamPipes. Now we're ready to build our first pipeline!
-
-<div class="my-carousel docs-carousel">
-    <img src="/img/01_try-installation/01_register_user.png"alt="Set Up User"/>
-    <img src="/img/01_try-installation/02_user_set_up.png"alt="SetUp StreamPipes Components"/>
-    <img src="/img/01_try-installation/03_login.png"alt="Go to login page"/>
-    <img src="/img/01_try-installation/04_home.png"alt="Home page"/>
-</div>
-
-<div class="admonition error">
-<div class="admonition-title">Errors during the installation process</div>
-<p>In most cases, errors during the installation are due to an under-powered system.<br/>
-If there is a problem with any of the components, please restart the whole system (<code>docker-compose down</code> and eventually also delete the volumes).
-   Please also make sure that your system meets the hardware requirements as mentioned in the first section of the installation guide.</p>
-</div>
-
-## Next Steps
-
-That's it! To ease your first steps with StreamPipes, we've created an [interactive tutorial](01_try-tutorial.md).
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/01_try-overview.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/01_try-overview.md
deleted file mode 100644
index 4f7cee7..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/01_try-overview.md
+++ /dev/null
@@ -1,120 +0,0 @@
----
-id: version-0.67.0-user-guide-introduction
-title: Apache StreamPipes Documentation
-sidebar_label: Overview
-original_id: user-guide-introduction
----
-
-This is the documentation of Apache StreamPipes.
-
-<img class="docs-image docs-image-small" src="/img/01_try-overview/01_streampipes-overview.png"alt="StreamPipes Overview"/>
-
-
-<div class="container grid col-3">
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                🚀 Try
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>Your first steps with Apache StreamPipes.</b></div>
-               <a href="try-installation.html">Install StreamPipes</a>, <a href="try-tutorial.html">Interactive Tutorial</a>
-            </div>
-        </div>
-    </div>
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                💡 Concepts
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>Learn about some general concepts of StreamPipes.</b></div>
-                <a href="concepts-overview.html">Overview</a>
-            </div>
-        </div>
-    </div>
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                🎓 Use
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>Learn how to use the various modules of StreamPipes.</b></div>
-                <a href="use-connect.html">StreamPipes Connect</a>, <a href="use-pipeline-editor.html">Pipeline Editor</a>, 
-                <a href="use-managing-pipelines.html">Managing Pipelines</a>, 
-                <a href="use-live-dashboard.html">Live Dashboard</a>, <a href="use-data-explorer.html">Data Explorer</a>, 
-                <a href="use-notifications.html">Notifications</a>
-            </div>
-        </div>
-    </div>
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                📚 Pipeline Elements
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>Available pipeline elements in StreamPipes.</b></div>
-                <a href="pe/org.apache.streampipes.connect.protocol.stream.kafka.html">Adapters</a>, 
-                <a href="pe/org.apache.streampipes.processors.aggregation.flink.aggregation.html">Data Processors</a>, 
-                <a href="pe/org.apache.streampipes.sinks.databases.jvm.couchdb.html">Data Sinks</a> 
-            </div>
-        </div>
-    </div>
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                ⚡ Deploy 
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>How to set up StreamPipes in test and production environments.</b></div>
-                <a href="deploy-docker.html">Docker</a>, <a href="deploy-kubernetes.html">Kubernetes</a>, <a href="../deploy
-                -use-ssl">Use SSL</a>
-            </div>
-        </div>
-    </div>
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                💻 Extend
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>Write your own pipeline elements for StreamPipes.</b></div>
-                <a href="extend-setup.html">Development Setup</a>, <a href="extend-cli.html">CLI</a>, <a href="../extend
-                -archetypes">Maven Archetypes</a>,
-                <a href="extend-tutorial-data-sources.html">Tutorial Data Sources</a>, <a href="../extend-tutorial-data
-                -processors">Tutorial Data Processors</a>, <a href="extend-tutorial-data-sinks.html">Tutorial Data Sinks
-                </a>,
-                <a href="extend-sdk-event-model.html">Event Model</a>, <a href="extend-sdk-stream-requirements.html">Stream
-                 Requirements</a>, <a href="extend-sdk-static-properties.html">Static Properties</a>,
-                <a href="extend-output-strategies.html">Output Strategies</a>
-            </div>
-        </div>
-    </div>
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                🔧 Technicals
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>Learn about technical concepts behind the curtain.</b></div>
-                <a href="technicals-architecture.html">Architecture</a>, <a href="technicals-user-guidance.html">User
-                 Guidance
-                </a>, <a href="technicals-runtime-wrappers.html">Runtime Wrappers</a>,
-                <a href="technicals-messaging.html">Messaging</a>, <a href="technicals-configuration.html">Configuration</a>
-            </div>
-        </div>
-    </div>
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                👪 Community
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>Get support and learn how to contribute to StreamPipes.</b></div>
-                <a href="community-get-help.html">Get Help</a>, <a href="community-contribute.html">Contribute</a>
-            </div>
-        </div>
-    </div>
-</div>
-
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/01_try-tutorial.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/01_try-tutorial.md
deleted file mode 100644
index 9f89eb4..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/01_try-tutorial.md
+++ /dev/null
@@ -1,21 +0,0 @@
----
-id: version-0.67.0-try-tutorial
-title: Interactive Tutorial
-sidebar_label: Interactive Tutorial
-original_id: try-tutorial
----
-
-Once you've installed StreamPipes and see the home screen, you'll see a number of modules that are part of the StreamPipes toolbox.
-As a first step, you might be interested in taking the interactive tutorial that helps you create your first pipeline.
-Switch to the **Pipeline Editor** and you will see a dialog that asks you for the start of the interactive tutorial:
-
-<img class="docs-image" src="/img/01_try-tutorial/01_tutorial-welcome.png"alt="Tutorial Welcome Page"/>
-
-Click **Start Tour** to start the tour. In this tour, you'll build a simple pipeline that monitors (simulated) live data from a water tank system.
-Within the tour, perform the actions as recommended and click **Next** to trigger the next steps. Some tour steps won't require to select **Next**, but wait for you to take the recommended action.
-You can cancel the tour anytime by clicking the **Exit Tour** button.
-
-<img class="docs-image" src="/img/01_try-tutorial/02_tutorial-process.png"alt="Tutorial Welcome Page"/>
-
-Now after you've built your first pipeline, you might be interested in reading about some of our core [concepts](02_concepts-overview.md) 
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/02_concepts-adapter.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/02_concepts-adapter.md
deleted file mode 100644
index 0d77db5..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/02_concepts-adapter.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-id: version-0.67.0-concepts-adapter
-title: Data Adapters
-sidebar_label: Data Adapters
-original_id: concepts-adapter
----
-
-tbd
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/02_concepts-data-streams.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/02_concepts-data-streams.md
deleted file mode 100644
index 2de5c80..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/02_concepts-data-streams.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-id: version-0.67.0-concepts-data-streams
-title: Data Streams
-sidebar_label: Data Streams
-original_id: concepts-data-streams
----
-
-tbd
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/02_concepts-glossary.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/02_concepts-glossary.md
deleted file mode 100644
index d241643..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/02_concepts-glossary.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-id: version-0.67.0-concepts-glossary
-title: Glossary
-sidebar_label: Glossary
-original_id: concepts-glossary
----
-
-tbd
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/02_concepts-overview.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/02_concepts-overview.md
deleted file mode 100644
index 088df09..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/02_concepts-overview.md
+++ /dev/null
@@ -1,36 +0,0 @@
----
-id: version-0.67.0-concepts-overview
-title: StreamPipes Concepts
-sidebar_label: Overview
-original_id: concepts-overview
----
-
-To understand how StreamPipes works, the knowledge of a few core concepts, illustrated below, will be helpful.
-
-<img class="docs-image" src="/img/02_concepts-overview/01_overview.png"alt="Overview of concepts"/>
-
-## Adapter
-An adapter connects to any external data source and forwards received events to the internal StreamPipes system. Within StreamPipes, the output of adapters are available in form of the two primary building blocks **Data Set** and **Data Stream**.
-Adapters can be either created by using StreamPipes Connect, a module to easily connect to new data sources directly from the user interface, or by defining an adapter using the provided Software Development Kit (SDK).
-
-## Data Set / Data Stream
-**Data Streams** and **Data Sets** represent the primary source for working with events in StreamPipes.
-A stream is an ordered sequence of events, where an event typically consists of one or more observation values and additional metadata. The "structure" (or schema) of an event provided by a data stream or set is stored in the internal semantic schema registry of StreamPipes.
-While data streams are typically unbounded, data sets have a fixed end and are internally "replayed" by the system from beginning to end once they are used as part of a pipeline.
-As follows, although when referring to data streams, most concepts also apply for data sets.
-
-## Data Processor
-**Data Processors** in StreamPipes transform one or more input data streams into an output data stream.
-Such transformations can be rather simple, e.g. filtering based on a predefined rule or more complex, e.g. applying rule-based or learning-based algorithms on the data.  
-Data Processors can be applied on any data stream that matches the input requirements of a processor. In addition, most processors can be configured by providing user-defined parameters directly in the user interface.
-Processing elements define stream requirements that are a set of minimum properties an incoming event stream must provide. Data processors can keep state or perform stateless operations.
-At runtime, data streams are processed by using one of the underlying runtime wrappers (see the developer guide for more details).
-
-## Data Sink
-**Data Sinks** consume event streams similar to Data Processors, but do not provide an output data stream. As such, data sinks typically perform some action or trigger a visualization as a result of a stream transformation.
-Similar to data processors, sinks also require for the presence of specific input requirements of any bound data stream and can be customized.
-StreamPipes provides several internal data sinks, e.g., to create notifications, visualize live data or persist historical data of incoming streams. In addition, various data sinks are provided to forward data streams to external systems such as databases.
-
-## Pipeline
-A pipeline in Apache StreamPipes describes the transformation process from a data stream to a data sink. Typically, a pipeline consists of at least one data stream (or data set), zero or more data processors and at least one data sink.
-Pipelines are built by users in a graphical way using the **Pipeline Editor** and can be started and stopped at any time.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/02_concepts-pipeline.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/02_concepts-pipeline.md
deleted file mode 100644
index 56b972b..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/02_concepts-pipeline.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-id: version-0.67.0-concepts-pipelines
-title: Pipelines
-sidebar_label: Pipelines
-original_id: concepts-pipelines
----
-
-tbd
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/03_use-configurations.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/03_use-configurations.md
deleted file mode 100644
index ed63600..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/03_use-configurations.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-id: version-0.67.0-use-configurations
-title: Configurations
-sidebar_label: Configurations
-original_id: use-configurations
----
-
-tbd
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/03_use-connect.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/03_use-connect.md
deleted file mode 100644
index 8c4178e..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/03_use-connect.md
+++ /dev/null
@@ -1,69 +0,0 @@
----
-id: version-0.67.0-use-connect
-title: StreamPipes Connect
-sidebar_label: StreamPipes Connect
-original_id: use-connect
----
-
-StreamPipes Connect is the module to connect external data sources with Apache StreamPipes directly from the user interface. 
-StreamPipes Connect offers various adapters for common communication protocols and some specific sensors. Besides connecting data, StreamPipes Connect offers ways to pre-process data without the need to build pipelines and integrates a schema guesser that listens for incoming data and recommends the recognized event schema.
-
-The screenshot below illustrates the data marketplace, which is the start screen of StreamPipes Connect.
-
-<img class="docs-image" src="/img/03_use-connect/01_connect-overview.png"alt="StreamPipes Connect Overview"/>
-
-## Connecting new data sources
-
-### Data Marketplace
-The data marketplace shows a list of all adapters that are currently installed in Apache StreamPipes. Each adapter offers various configuration options which depend on the specifics of the adapter.
-Adapters are distinguished a) by the data source concept they provide (data set or data stream) and b) the adapter type, where we distinguish between _generic adapters_, which usually implement a generic communication protocol such as MQTT or Apache Kafka or a specific sensor interface (e.g., for Netio power sockets).
-Several filter options are available to find a suitable adapter. The configuration of a new adapter starts with selecting one of the available adapters, which starts an assistant that supports the adapter generation.
-
-### Protocol/Basic Settings
-In the first step, basic configurations need to be provided. For instance, for an Apache PLC4X adapter, the IP address of the PLC needs to be provided. After all values are provided, the "Next" button opens the next step.
-
-### Format Specification
-The next step, format generation, is only available for generic adapters which support different message formats to be sent over the corresponding protocol. Think of a message broker that is able to consume messages in both JSON format or binary format.
-Currently supported formats include XML, various JSON representations, images and CSV. After a format has been selected, further format configurations can be provided (depending on the selected format) to further customize the incoming message format.
-
-<img class="docs-image" src="/img/03_use-connect/02_customize-format.png"alt="StreamPipes Connect Format Selection"/>
-
-### Schema Editor
-In the next step, based on the previously provided protocol and format settings, the system will either provide the fixed/pre-defined schema of the adapter or, in case of specific adapters, will connect to the underlying system and try to listen for incoming data. After a few seconds, the schema editor will appear that provides a list of detected fields from the incoming events (the schema).
-
-<img class="docs-image" src="/img/03_use-connect/03_schema-editor.png"alt="StreamPipes Connect Schema Editor"/>
-
-In the toolbar, several configuration options are available which transform the original schema:
-
-* **Add Nested Property**. This option allows to modify the structure of the event by creating a nested structure. The schema can be simply changed by dragging and dropping fields into the nested structure.
-* **Add Static Value**. This option allows to add a field containing a static value (e.g., an identifier) to the event.
-* **Add Timestamp**. This options appends the current timestamp to each incoming event, useful in case the timestamp is not provided by the origin.
-* **Refresh**. Re-triggers the schema guessing.
-* **Delete field**. Select one or more fields by clicking the checkbox on the right and trigger the delete button.
-* **Property scope**. For each field, a property scope can be defined which is either _Measurement_, _Dimension_ or _Header_. These values are later be used in the pipeline editor to assist in configuring pipeline elements and do not have any functional consequence. 
-Use _Measurement_ to indicate the field measures a value (e.g., a temperature value from a sensor), use _Dimension_ for any identifier (e.g., the sensor ID) and use _Header_ for any other metadata such as timestamps.
-
-For each field (also called event property) of the schema, additional configuration options are available by clicking the _Edit_ button:
-
-* **Label**. Used to provide a human-readable label for the field, which will ease the identification of fields when building pipelines.
-* **Runtime Name.** This is the identifier of the field in the underlying message representation format (e.g., the JSON key). Renaming the runtime name will trigger a so-called _transformation rule_ which renames the incoming field name to the new field name before forwarding it to StreamPipes.
-* **Domain Property/Semantic Type**. To help StreamPipes better understand the value which is represented by the field, semantic type information can be given. Up from StreamPipes 0.68.0, the semantic type can be selected from a wide range of available options. Additionally, an URL can be manually provided that indicates the meaning of the value (e.g., http://schema.org/Temperature).
-* **Mark as Timestamp**. Indicates that the selected value represents a timestamp. When selected, a _timestamp converter_ can be configured which will convert incoming timestamps to the UNIX timestamp.
-* **Runtime Type**. Here, the data type can be changed  
-* **Unit**. Allows to specify the unit in which the value is measured. Once selected, you can also automatically convert the unit to a target unit, which will then be inserted into the data stream produced by the adapter (see screenshot below). 
-
-<img class="docs-image" src="/img/03_use-connect/04_schema-editor-conversion.png"alt="StreamPipes Connect Unit Conversion"/>
-
-### Adapter Generation
-Finally, the adapter is ready to be started. In the _Adapter Generation_ page, a name and description for the resulting data stream must be provided.
-Once started, StreamPipes creates your new adapter and displays a preview of the connected data, which refreshes about once per second.
-Afterwards, the newly created data stream is available in the pipeline editor for further usage.
-
-<img class="docs-image" src="/img/03_use-connect/05_adapter-generation.png"alt="StreamPipes Connect Adapter Generation"/>
-
-## Managing adapters
-
-Currently running adapters are available in the "Running adapters" section of StreamPipes Connect. Existing adapters can be stopped and deleted. Currently, there is no mechanism to edit an existing adapter or to stop the adapter without deleting it.
-
-### Adapter Templates
-For frequently used configurations, adapter templates can be created. An adapter template is a pre-configured adapter which can be further customized by users. Created adapter templates are available in the marketplace similar to standard adapters.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/03_use-dashboard.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/03_use-dashboard.md
deleted file mode 100644
index 2caea10..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/03_use-dashboard.md
+++ /dev/null
@@ -1,67 +0,0 @@
----
-id: version-0.67.0-use-dashboard
-title: Live Dashboard
-sidebar_label: Live Dashboard
-original_id: use-dashboard
----
-
-The live dashboard can be used to visualize live data of data streams using a set of visualizations
-The entry page of the live dashboard lists all created dashboards as in the screenshot below:
-
-<img class="docs-image" src="/img/03_use-dashboard/01_dashboard-overview.png"alt="StreamPipes Dashboard Overview"/>
-
-## Visualizing Data Streams
-
-To visualize data streams in the live dashboard, a pipeline must be created that makes use of the so-called **Dashboard Sink**.
-Any data stream or data processor can serve as an input of the dashboard sink. Switch to the pipeline editor, create a pipeline and configure the dashboard sink. The visualization name is used to identify the sink in case multiple dashboard sinks are used within a single pipeline.
-
-## Managing Dashboards
-Multiple dashboards can be created, e.g., to organize different assets in a single dashboard view.
-
-A new dashboard can be created by clicking the _New Dashboard_ button, which opens a dialog that requires basic dashboard settings such as the title and description of the new dashboard.
-Once created, the dashboard will be shown in the overview. Here, the following dashboard actions are available:
-
-* **Show** opens the dashboard.
-* **Window** opens the dashboard in a new window with reduced controls, e.g., without the StreamPipes navigation and toolbar. This is a useful view for standalone displays that should visualize key parameters.
-* **Settings** allows to modify the basic dashboard settings. 
-* **Edit** opens the dashboard in edit mode, where widgets can be added to the dashboard.
-+ **Delete** deletes the selected dashboard.
-
-## Creating Visualizations
-
-Visualizations can be added to each dashboard in form of widgets. To add new visualizations, switch to the dashboard in _Edit_ mode.
-In edit mode, a button appears that allows to add a new visualization.
-
-Adding a new visualization is supported by a wizard consisting of three steps:
-
-<img class="docs-image" src="/img/03_use-dashboard/02_add-widget.png"alt="StreamPipes Dashboard Pipeline Selection"/>
-
-* **Select pipeline** is the first step where a pipeline is selected on which the visualization is based. In this view, all pipelines are listed that have at least one **Dashboard Sink**. In case a pipeline contains multiple dashboard sinks, the visualization name is listed below the pipeline name which eases discovering of the proper visualization.
-* **Select widget** is the next step where the visualization widget must be selected. StreamPipes automatically filters this list based on input requirements of widgets. For instance, image visualizations are only visible if the input data stream provides an image object.
-* **Configure widget** provides widget-specific settings to configure the visualization. In most cases, colors and titles of widgets can be modified. Additionally, chart-specific settings such as axis value ranges can be configured.
-
-<img class="docs-image" src="/img/03_use-dashboard/03_configure-widget.png"alt="StreamPipes Dashboard Widget Configuration"/>
-
-By clicking _Create_, the new widget is placed on the canvas. Size and positioning of visualizations can be flexibly changed based on the provided grid. To change the widget configuration, the _Settings_ button of each widget can be clicked to re-open the configuration dialog.
-
-Once created, the dashboard provides a live view of all visualizations:
-
-<img class="docs-image" src="/img/03_use-dashboard/04_live-dashboard.png"alt="StreamPipes Live Dashboard"/>
-
-
-Before the dashboard is closed, make sure to click the _Save_ button to persist the updated dashboard. Changes can be discarded by clicking the _Discard_ button.
-
-
-## Available widgets
-
-The following visualizations are available in the latest release:
-
-* Area Chart
-* Gauge
-* HTML page (renders HTML markup)
-* Image  
-* Line Chart
-* Raw (displays the raw JSON input for debugging purposes)
-* Single Value (displays a single measurement)
-* Table
-* Traffic Light
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/03_use-data-explorer.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/03_use-data-explorer.md
deleted file mode 100644
index e4bb211..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/03_use-data-explorer.md
+++ /dev/null
@@ -1,19 +0,0 @@
----
-id: version-0.67.0-use-data-explorer
-title: Data Explorer
-sidebar_label: Data Explorer
-original_id: use-data-explorer
----
-
-The data explorer can be used to visualize and explore data streams that are persisted by using the **Data Lake** sink.
-
-<img class="docs-image" src="/img/03_use-data-explorer/01_data-explorer-overview.png"alt="StreamPipes Data Explorer Overview"/>
-
-It provides a canvas where various visualizations from multiple pipelines can be placed. A global date and time range can be selected for all displayed visualizations.
-
-The data explorer is currently available as an early beta version and features are still subject to change. A more detailed documentation will be available once the data explorer is available in a stable version.
-
-## Using the data explorer
-
-In the data explorer, any pipeline that uses the so-called **Data Lake** sink can be explored in the data explorer. Switch to the pipeline editor and add the data lake sink to a data processor or stream.
-The sink requires an index name as a configuration parameter, which is used as an identifier in the data explorer.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/03_use-install-pipeline-elements.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/03_use-install-pipeline-elements.md
deleted file mode 100644
index 8aecc0a..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/03_use-install-pipeline-elements.md
+++ /dev/null
@@ -1,10 +0,0 @@
----
-id: version-0.67.0-use-install-pipeline-elements
-title: Install Pipeline Elements
-sidebar_label: Install Pipeline Elements
-original_id: use-install-pipeline-elements
----
-
-## Install Pipeline Elements
-
-(coming soon)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/03_use-managing-pipelines.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/03_use-managing-pipelines.md
deleted file mode 100644
index e521c5d..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/03_use-managing-pipelines.md
+++ /dev/null
@@ -1,53 +0,0 @@
----
-id: version-0.67.0-use-managing-pipelines
-title: Managing Pipelines
-sidebar_label: Managing Pipelines
-original_id: use-managing-pipelines
----
-
-The pipeline view lists all created pipelines and provides several views and actions to manage the lifecycle of pipelines.
-
-In the entry screen, an overview of all created pipelines is shown:
-
-<img class="docs-image" src="/img/03_use-managing-pipelines/01_pipeline-overview.png" alt="StreamPipes Pipeline Overview"/>
-
-## Pipeline Actions
-Within the pipeline overview, for each pipeline several actions are available:
-* **Start/Stop pipeline** Starts or stops the selected pipeline. Once clicked, StreamPipes will trigger the selected action for all pipeline elements and open a success or error dialog as illustrated below.
-* **Show details** opens the pipeline detail view (see below).  
-* **Modify pipeline** opens the pipeline in the pipeline editor, where the pipeline can be modified. Note that this button is only visible if the pipeline is not running.
-* **Delete pipeline** opens a confirm dialog, which subsequently deletes the selected pipeline.
-
-The screenshot below shows the status of a pipeline after it has been successfully started. By clicking the _Show details_ button, more information on the status of each corresponding pipeline element microservice becomes available. In case of failures, the failure reason will be shown for each pipeline element that has failed to start.
-
-<img class="docs-image" src="/img/03_use-managing-pipelines/02_pipeline-start-dialog.png" alt="StreamPipes Pipeline Start Dialog"/>
-
-## Organizing Pipelines into Categories
-Pipelines can be organized into categories, which is a useful feature in case a larger amount of pipelines is created.
-All categories will be shown as separate tabs in the pipeline overview. The same pipeline can be assigned to multiple categories.
-
-To add a new category or to add a new pipeline to an existing category, click the _Manage Categories_ button and configured the category and assigned pipelines in the dialog.
-
-## Pipeline Details
-The pipeline details view can be opened by clicking the _Show details_ button in the pipeline overview panel.
-
-<img class="docs-image" src="/img/03_use-managing-pipelines/03_pipeline-details.png" alt="StreamPipes Pipeline Details"/>
-
-### Overview
-The overview section displays the graphical structure of the pipeline and provides some statistics about recent pipeline actions. Additionally, pipelines can be directly started, stopped, modified and deletes within this view.
-
-### Monitoring
-Monitoring features will become available in version 0.68.0.
-
-### Errors
-Monitoring of failures and logs will become available in version 0.69.0.
-
-### QuickEdit
-The quick edit feature (only available for pipelines that are not running) is a quick and convenient way to modify some pipeline element configurations without opening the pipeline in the pipeline editor.
-To use the quick edit feature, switch to the _QuickEdit_ tab, which will display the selected pipeline.
-
-By clicking a pipeline element from the preview canvas, available configuration options of the selected pipeline element can be modified. Note that only modifications that do not affect the pipeline structure (e.g., different output streams) can be changed.
-
-<img class="docs-image" src="/img/03_use-managing-pipelines/04_pipeline-quick-edit.png" alt="StreamPipes Pipeline Quick Edit"/>
-
-After a configuration value was changed, make sure to click the _Update Pipeline_ button to save the changes.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/03_use-notifications.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/03_use-notifications.md
deleted file mode 100644
index 1457a79..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/03_use-notifications.md
+++ /dev/null
@@ -1,26 +0,0 @@
----
-id: version-0.67.0-use-notifications
-title: Notifications
-sidebar_label: Notifications
-original_id: use-notifications
----
-
-The notification module can be used to create internal notifications.
-
-<img class="docs-image" src="/img/03_use-notifications/01_notifications-overview.png"alt="StreamPipes Notifications"/>
-
-## Using notifications
-
-Any pipeline that includes the data sink **Notification** can trigger notifications that appear in the notification view. To configure a new notification, switch to the pipeline editor and append the notification sink to a data processor or data stream.
-The sink requires a title and message as configuration parameters.
-
-### Placeholders
-
-The notification message can include placeholders for fields which are replaced with the actual value at runtime.
-
-## Managing notifications
-
-The notification view is split into two parts. The left sides lists all pipelines which include a notification sink. By selecting a pipeline, available notifications will be shown in the right panel.
-By scrolling up, older notifications become visible. Notifications that have appeared in the detail view will be automatically marked as read, so that only new, unread notifications will appear in the left toolbar.
-
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/03_use-pipeline-editor.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/03_use-pipeline-editor.md
deleted file mode 100644
index b9ef62f..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/03_use-pipeline-editor.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-id: version-0.67.0-use-pipeline-editor
-title: Pipeline Editor
-sidebar_label: Pipeline Editor
-original_id: use-pipeline-editor
----
-
-The pipeline editor module supports building pipelines that transform a data stream using a set of resuable data processors and data sinks.
-The empty pipeline editor looks similar to the illustration below after a new installation.
-
-<img class="docs-image" src="/img/03_use-pipeline-editor/01_pipeline-editor-overview.png"alt="StreamPipes Pipeline Editor Overview"/>
-
-## Pipeline Elements
-The four main concepts data sets, data streams, data processors and data sinks are available at the top of the pipeline editor. By switching the tabs, the individual pipeline elements for each category can be found.
-By clicking the questionmark symbol, which appears when hovering over an element, additional information can be viewed (e.g., for data streams a live preview of incoming data and the documentation of the pipeline element for data processors and sinks).
-
-<img class="docs-image" src="/img/03_use-pipeline-editor/02_pipeline-element-info.png"alt="StreamPipes Pipeline Element Info"/>
-
-## Creating Pipelines
-Pipelines are built by dragging data streams, processors and sinks into the pipeline assembly area. Typically, a pipeline is built step-by-step starting with a data soure (stream or set). 
-Afterwards, data processors and sinks are subsequently added to the pipeline. Connections between pipeline elements are made by selecting the gray connector of the source and moving it to the target pipeline element.
-Once a connection is made, StreamPipes performs a quick validation step and, in case two pipeline elements are compatible, automatically opens a configuration window.
-
-### Configuring Pipeline Elements
-The configuration depends on the selected pipeline element and looks similar to the screenshot below.
-In general, pipeline elements are configured by providing the required values. Once the pipeline element is fully configured, the _Save_ button activates and can be used to save the configuration for the pipeline element.
-
-<img class="docs-image" src="/img/03_use-pipeline-editor/03_configure-pipeline-element.png"alt="StreamPipes Pipeline Element Configuration"/>
-
-In addition, the following options are available in the pipeline element configuration menu:
-* **Show documentation** extends the view and displays the pipeline element's documentation next to the configuration view.
-* **Show only recommended settings** filters the list of available fields provided by the connected input data stream based on the _property scope_, e.g., so that only measurement values are displayed and dimension fields from the input stream are not available for selection. If deactivated, selections contain the full list of available fields that match the input requirement of the data processor.
-
-### Pipeline Element Options
-Further options for a pipeline element can be displayed by hovering over a pipeline element in the assembly area, so that additional buttons appear around the pipeline element:
-
-* **Configure element** re-opens the configuration view to update the pipeline element configuration (only available for data processors and sinks)
-* **Delete element** removes the pipeline element from the pipeline  
-* **Help** opens the pipeline element's documentation
-* **Compatible element** opens a dialog which shows all pipeline elements that are compatible to the current element's output data stream. The dialog offers an alternative to selecting pipeline elements directly from the pipeline element selection in the top.
-* **Pipeline Element Recommendation** opens a dialog which shows all recommended pipeline elements that are compatible the current element's output data stream. The recommendation is based on previously connected pipeline elements and is displayed below.
-
-<img class="docs-image" src="/img/03_use-pipeline-editor/04_pipeline-element-recommendation.png"alt="StreamPipes Pipeline Element Recommendation"/>
-
-### Pipeline Editor Options
-Several pipeline editor options are available in the menu bar of the pipeline assembly:
-
-<img class="docs-image" src="/img/03_use-pipeline-editor/05_pipeline-editor-options.png"alt="StreamPipes Pipeline Editor Options"/>
-
-* **Save pipeline** opens the save dialog (see below)
-* **Pan** allows to pan within the assembly area, useful for larger pipelines that do not fit in the screen
-* **Select** is visible if pan mode is active and switches back to the default select mode
-* **Zoom in/out** triggers the zoom in the pipeline assembly
-* **Auto Layout** layouts the pipeline in a much more beautiful way than you are able to do by yourself ;-)
-* **All pipeline modification saved** is displayed if the current pipeline has been cached. Cache updates are triggered after every change of the pipeline so that changes are not lost after reloading the window.
-* **Hints** are shown to display current errors (e.g., incomplete pipelines). Details can be opened by clicking the hint button.
-* **Clear assembly** clears the assembly and removes the current pipeline.
-
-### Saving a pipeline
-To save a pipeline, press the _save pipeline_ button. A dialog pops up where a name and description of the pipeline can be entered (only name is mandatory).
-Additionally, a pipeline can be directly started after it has been stored by checking the corresponding button.
-
-<img class="docs-image" src="/img/03_use-pipeline-editor/06_save-pipeline.png"alt="StreamPipes Save Pipeline Dialog"/>
-
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/05_deploy-docker.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/05_deploy-docker.md
deleted file mode 100644
index 8ff7f5c..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/05_deploy-docker.md
+++ /dev/null
@@ -1,74 +0,0 @@
----
-id: version-0.67.0-deploy-docker
-title: Docker Deployment
-sidebar_label: Docker Deployment
-original_id: deploy-docker
----
-
-StreamPipes Compose is a simple collection of user-friendly `docker-compose` files that easily lets gain first-hand experience with Apache StreamPipes.
-
-> **NOTE**: We recommend StreamPipes Compose to only use for initial try-out and testing. If you are a developer and want to develop new pipeline elements or core feature, use the [StreamPipes CLI](06_extend-cli.md).
-
-#### TL;DR: A one-liner to rule them all :-)
-
-```bash
-docker-compose up -d
-```
-Go to http://localhost to finish the installation in the browser. Once finished, switch to the pipeline editor and start the interactive tour or check the [online tour](https://streampipes.apache.org/docs/docs/user-guide-tour/) to learn how to create your first pipeline!
-
-## Prerequisites
-* Docker >= 17.06.0
-* Docker-Compose >= 1.17.0 (Compose file format: 3.4)
-* Google Chrome (recommended), Mozilla Firefox, Microsoft Edge
-
-Tested on: **macOS, Linux, Windows 10** (CMD, PowerShell, GitBash)
-
-**macOS** and **Windows 10** (Pro, Enterprise, Education) users can easily get Docker and Docker-Compose on their systems by installing **Docker for Mac/Windows** (recommended).
-
-> **NOTE**: On purpose, we disabled all port mappings except of http port **80** to access the StreamPipes UI to provide minimal surface for conflicting ports.
-
-## Usage
-We provide two options to get you going:
-
-- **default**: a light-weight option with few pipeline elements, needs less memory
-- **full**:  contains more pipeline elements, requires **>16 GB RAM** (recommended)
-
-**Starting** the **default** option is as easy as simply running:
-> **NOTE**: Starting might take a while since `docker-compose up` also initially pulls all Docker images from Dockerhub.
-
-```bash
-docker-compose up -d
-# go to after all services are started http://localhost
-```
-After all containers are successfully started just got to your browser and visit http://localhost to finish the installation. Once finished, switch to the pipeline editor and start the interactive tour or check the [online tour](https://streampipes.apache.org/docs/docs/user-guide-tour/) to learn how to create your first pipeline!
-
-**Stopping** the **default** option is similarly easy:
-```bash
-docker-compose down
-# if you want to remove mapped data volumes, run:
-# docker-compose down -v
-```
-
-Starting the **full** option is almost the same, just specify the `docker-compose.full.yml` file:
-```bash
-docker-compose -f docker-compose.full.yml up -d
-# go to after all services are started http://localhost
-```
-Stopping the **full** option:
-```bash
-docker-compose -f docker-compose.full.yml down
-#docker-compose -f docker-compose.full.yml down -v
-```
-
-## Update services
-To actively pull the latest available Docker images use:
-```bash
-docker-compose pull
-# docker-compose -f docker-compose.full.yml pull
-```
-
-## Upgrade
-To upgrade to another StreamPipes version, simply edit the `SP_VERSION` in the `.env` file.
-```
-SP_VERSION=<VERSION>
-```
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/05_deploy-kubernetes.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/05_deploy-kubernetes.md
deleted file mode 100644
index 36a55b2..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/05_deploy-kubernetes.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: version-0.67.0-deploy-kubernetes
-title: Kubernetes Deployment
-sidebar_label: Kubernetes Deployment
-original_id: deploy-kubernetes
----
-
-## Prerequisites
-Requires Helm (https://helm.sh/) and an active connection to a kubernetes cluster with a running tiller server.
-
-Tested with:
-* K3s v1.18.8+k3s1 (6b595318) with K8s v1.18.8
-* Helm v3.1.2
-
-## Usage
-We provide two helm chart options to get you going:
-
-- **default**: a light-weight option with few pipeline elements, needs less memory
-- **full**:  contains more pipeline elements, requires **>16 GB RAM** (recommended)
-
-**Starting** the **default** helm chart option is as easy as simply running the following command from the root of this folder:
-> **NOTE**: Starting might take a while since we also initially pull all Docker images from Dockerhub.
-
-```bash
-helm install streampipes ./
-```
-After a while, all containers should successfully started, indicated by the `Running` status.
-```bash
-kubectl get pods
-NAME                                           READY   STATUS    RESTARTS   AGE
-activemq-66d58f47cf-2r2nb                      1/1     Running   0          3m27s
-backend-76ddc486c8-nswpc                       1/1     Running   0          3m27s
-connect-master-7b477f9b79-8dfvr                1/1     Running   0          3m26s
-connect-worker-78d89c989c-9v8zs                1/1     Running   0          3m27s
-consul-55965f966b-gwb7l                        1/1     Running   0          3m27s
-couchdb-77db98cf7b-xnnvb                       1/1     Running   0          3m27s
-influxdb-b95b6479-r8wh8                        1/1     Running   0          3m27s
-kafka-657b5fb77-dp2d6                          1/1     Running   0          3m27s
-pipeline-elements-all-jvm-79c445dbd9-m8xcs     1/1     Running   0          3m27s
-sources-watertank-simulator-6c6b8844f6-6b4d7   1/1     Running   0          3m27s
-ui-b94bd9766-rm6zb                             2/2     Running   0          3m27s
-zookeeper-5d9947686f-6nzgs                     1/1     Running   0          3m26s
-```
-
-After all containers are successfully started just got to your browser and visit any of the k8s cluster nodes on
-`http://<NODE_IP>` to finish the installation.
-
-> **NOTE**: If you're running Docker for Mac or Docker for Windows with a local k8s cluster, the above step to use your host IP might not work. Luckily, you can port-forward a service port to your localhost using the following command to be able to access the UI either via `http://localhost` or `http://<HOST_IP>` (you require sudo to run this command in order to bind to a privileged port).
-```bash
-kubectl port-forward svc/ui --address=0.0.0.0 80:80
-```
-
-Starting the **full** helm chart option is almost the same:
-```bash
-helm install streampipes ./ --set deployment=full
-```
-
-**Deleting** the current helm chart deployment:
-```bash
-helm del streampipes
-```
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/05_deploy-use-ssl.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/05_deploy-use-ssl.md
deleted file mode 100644
index 0d225ca..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/05_deploy-use-ssl.md
+++ /dev/null
@@ -1,36 +0,0 @@
----
-id: version-0.67.0-deploy-use-ssl
-title: Use SSL
-sidebar_label: Use SSL
-original_id: deploy-use-ssl
----
-
-This page explains how SSL Certificates can be used to provide transport layer security between your Browser and the Streampipes Backend.
-
-## Prerequisites
-You need a valid Certificate consisting of a Private and a Public Key. Both Keys must be in PEM Format. Please note that your Private Key should never be shared, otherwise the communication can not be considered secure.
-
-## Edit docker-compose.yml
-In order to use SSL you have to open port 443 on the nginx Service. Incoming insecure Traffic on Port 80 will be automatically rerouted to Port 443.
-
-The Environment-Variable NGINX_SSL must be set to "true".
-
-Finally you have to inject the Certificates into the Docker-Container. In the example below, the Certificates are placed in the directory /etc/ssl/private/ on the host machine. Please change the path according to the place where the Certificates are located on your machine. The path after the colon should not be changed!
-```yaml
-[...]
-  nginx:
-    image: apachestreampipes/ui
-    ports:
-      - "80:80"
-      - "443:443"
-    environment:
-      - NGINX_SSL=true
-    volumes:
-      - /etc/ssl/private/private.pem:/etc/nginx/ssl/ssl.pem
-      - /etc/ssl/private/public.pem:/etc/nginx/ssl/cert.pem
-    depends_on:
-      - backend
-    networks:
-      spnet:
-[...]
-```
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/06_extend-archetypes.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/06_extend-archetypes.md
deleted file mode 100644
index f2de985..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/06_extend-archetypes.md
+++ /dev/null
@@ -1,144 +0,0 @@
----
-id: version-0.67.0-extend-archetypes
-title: Maven Archetypes
-sidebar_label: Maven Archetypes
-original_id: extend-archetypes
----
-
-In this tutorial we explain how you can use the Maven archetypes to develop your own StreamPipes processors and sinks.
-We use IntelliJ in this tutorial, but it works with any IDE of your choice.
-
-## Prerequisites
-You need to have Maven installed, further you need an up and running StreamPipes installation on your development computer.
-To ease the configuration of environment variables, we use the IntelliJ [env Plugin](https://plugins.jetbrains.com/plugin/7861-envfile).
-Install this in IntelliJ. The development also works without the plugin, then you have to set the environment variables manually instead of using the env configuration file.
-
-## Create Project
-To create a new project, we provide multiple Maven Archteypes.
-Currently, we have archetypes for the JVM and Flink wrappers, each for processors and sinks.
-The commands required to create a new pipeline element project can be found below. Make sure that you select a version compatible with your StreamPipes installation.
-Copy the command into your terminal to create a new project.
-The project will be created in the current folder.
-First, the ``groupId`` of the resulting Maven artifact must be set.
-We use ``groupId``: ``org.example`` and ``artifactId``: ``ExampleProcessor``.
-You can keep the default values for the other settings, confirm them by hitting enter.
-Now, a new folder with the name ``ExampleProcessor`` is generated.
-
-The current {sp.version} is 0.67.0
-
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.apache.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-processors-jvm  \
-  -DarchetypeVersion={sp.version}
-```
-<details class="info">
-    <summary>Select: [Processors / Sinks] [JVM / Flink]</summary>
-
-## Processors JVM
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.apache.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-processors-jvm  \
-  -DarchetypeVersion={sp.version}
-```
-
-## Processors Flink
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.apache.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-processors-flink  \
-  -DarchetypeVersion={sp.version}
-```
-
-## Sinks JVM
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.apache.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-sinks-jvm  \
-  -DarchetypeVersion={sp.version}
-```
-
-## Sinks Flink
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.apache.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-sinks-flink  \
-  -DarchetypeVersion={sp.version}
-```
-</details>
-
-
-## Edit Processor
-Open the project in your IDE.
-If everything worked, the structure should look similar to the following image.
-The *config* package contains all the configuration parameters of your processors / sinks.
-In the *main* package, it is defined which processors / sinks you want to activate and the *pe.processor.example* package contains three classes with the application logic.
-For details, have a look at the other parts of the Developer Guide, where these classes are explained in more depth.
-
-<img src="/img/archetype/project_structure.png" width="30%"alt="Project Structure"/>
-
-Open the class *Example* and edit the ``onEvent`` method to print the incoming event, log it to the console and send it to the next component without changing it.
-
-```java
-@Override
-public void onEvent(Event event, SpOutputCollector collector) {
-    // Print the incoming event on the console
-    System.out.println(event);
-
-    // Hand the incoming event to the output collector without changing it.
-    collector.collect(event);
-}
-```
-
-## Start Processor
-Before the processor can be started, you need to edit the *env* file in the *development* folder.
-Replace all local hosts in this file with the IP address or DNS name of your computer.
-This is relevant to make the mapping between the services running in Docker and your component running in the local IDE.
-After all updates are updated, this file is used by the envfile plugin to provide configuration parameters to the pipeline element.
-Alternatively, environment variables can also be set on your host or IDE.
-Now start the project by clicking on **(Run -> Edit Configuration)**.
-Add a new configuration in the Configuration menu by clicking on the + sign and select **Application**.
-Name the configuration *ExampleProcessor* and select the *Init* class as the 'Main class'.
-Then set *ExampleProcessor* in 'Use classpath of module'.
-
-
-As the last step, switch to the tab *EnvFile* and load the env file.
-Click on 'Enable EnvFile' to activate it and add the just edited env file by clicking on the + sign.
-Save all the changes by clicking *Apply*.
-Now you can start the processor.
-
-<div class="my-carousel">
-    <img src="/img/archetype/run_configuration.png"alt="Configuration View"/>
-    <img src="/img/archetype/run_env_configuration.png"alt="Environment Configuration View"/>
-</div>
-
-To check if the service is up and running, open the browser on *'localhost:6666'*. The machine-readable description of the processor should be visible as shown below.
-
-<img src="/img/archetype/endpoint.png" width="90%"alt="Project Structure"/>
-
-
-<div class="admonition error">
-<div class="admonition-title">Common Problems</div>
-<p>
-If the service description is not shown on 'localhost:6666', you might have to change the port address.
-This needs to be done in the configuration of your service, further explained in the configurations part of the developer guide.
-
-If the service does not show up in the StreamPipes installation menu, click on 'MANAGE ENDPOINTS' and add 'http://<span></span>YOUR_IP_OR_DNS_NAME:6666'.
-Use the IP or DNS name you provided in the env file.
-After adding the endpoint, a new processor with the name *Example* should show up.
-</p>
-</div>
-
-Now you can go to StreamPipes.
-Your new processor *'Example'* should now show up in the installation menu.
-Install it, then switch to the pipeline view and create a simple pipeline that makes use of your newly created processor.
-In case you opened the StreamPipes installation for the first time, it should have been automatically installed during the setup process.
-
-<img src="/img/archetype/example_pipeline.png" width="80%"alt="Project Structure"/>
-
-Start this pipeline.
-Now you should see logging messages in your console and, once you've created a visualization, you can also see the resulting events of your component in StreamPipes.
-
-Congratulations, you have just created your first processor!
-From here on you can start experimenting and implement your own algorithms.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/06_extend-cli.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/06_extend-cli.md
deleted file mode 100644
index 1b29a84..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/06_extend-cli.md
+++ /dev/null
@@ -1,187 +0,0 @@
----
-id: version-0.67.0-extend-cli
-title: StreamPipes CLI
-sidebar_label: StreamPipes CLI
-original_id: extend-cli
----
-
-The StreamPipes command-line interface (CLI) is focused on developers in order to provide an easy entrypoint to set up a suitable dev environment, either planning on developing
-
-* new extensions such as **connect adapters, processors, sinks** or,
-* new core features for **backend** and **ui**.
-
-## TL;DR
-
-```bash
-streampipes env --list
-[INFO] Available StreamPipes environment templates:
-pipeline-element
-...
-streampipes env --set pipeline-element
-streampipes up -d
-```
-> **NOTE**: use `./streampipes` if you haven't add it to the PATH and sourced it (see section "Run `streampipes` from anywhere?").
-
-## Prerequisites
-The CLI is basically a wrapper around multiple `docker` and `docker-compose` commands plus some additional sugar.
-
-* Docker >= 17.06.0
-* Docker-Compose >= 1.26.0 (Compose file format: 3.4)
-* Google Chrome (recommended), Mozilla Firefox, Microsoft Edge
-* For Windows Developer: GitBash only
-
-
-Tested on: **macOS**, **Linux**, **Windows***)
-
-> **NOTE**: *) If you're using Windows the CLI only works in combination with GitBash - CMD, PowerShell won't work.
-
-
-## CLI commands overview
-
-```
-StreamPipes CLI - Manage your StreamPipes environment with ease
-
-Usage: streampipes COMMAND [OPTIONS]
-
-Options:
-  --help, -h      show help
-  --version, -v   show version
-
-Commands:
-  clean       Remove StreamPipes data volumes, dangling images and network
-  down        Stop and remove StreamPipes containers
-  env         Inspect and select StreamPipes environments
-  info        Get information
-  logs        Get container logs for specific container
-  ps          List all StreamPipes container for running environment
-  pull        Download latest images from Dockerhub
-  restart     Restart StreamPipes environment
-  up          Create and start StreamPipes container environment
-
-Run 'streampipes COMMAND --help' for more info on a command.
-```
-
-## Usage: Along dev life-cycle
-
-**List** available environment templates.
-```bash
-streampipes env --list
-```
-
-**Inspect** services in an available environment to know what kind of services it is composed of.
-```bash
-streampipes env --inspect pipeline-element
-```
-
-**Set** environment, e.g. `pipeline-element`, if you want to write a new pipeline element.
-```bash
-streampipes env --set pipeline-element
-```
-
-**Start** environment ( default: `dev` mode). Here the service definition in the selected environment is used to start the multi-container landscape.
-> **NOTE**: `dev` mode is enabled by default since we rely on open ports to core service such as `consul`, `couchdb`, `kafka` etc. to reach from the IDE when developing. If you don't want to map ports (except the UI port), then use the `--no-ports` flag.
-
-```bash
-streampipes up -d
-# start in production mode with unmapped ports
-# streampipes up -d --no-ports
-```
-Now you're good to go to write your new pipeline element :tada: :tada: :tada:
-
-> **HINT for extensions**: Use our [Maven archetypes](https://streampipes.apache.org/docs/docs/dev-guide-archetype/) to setup a project skeleton and use your IDE of choice for development. However, we do recommend using IntelliJ.
-
-> **HINT for core**: To work on `backend` or `ui` features you need to set the template to `backend` and clone the core repository [incubator-streampipes](https://github.com/apache/incubator-streampipes) - check the prerequisites there for more information.
-
-**Stop** environment and remove docker container
-```bash
-streampipes down
-# want to also clean docker data volumes when stopping the environment?
-# streampipes down -v
-```
-
-## Additionally, useful commands
-
-**Start individual services only?** We got you! You chose a template that suits your needs and now you only want to start individual services from it, e.g. only Kafka and Consul.
-
-> **NOTE**: the service names need to be present and match your current `.spenv` environment.
-
-```bash
-streampipes up -d kafka consul
-```
-
-**Get current environment** (if previously set using `streampipes env --set <environment>`).
-```bash
-streampipes env
-```
-
-**Get logs** of specific service and use optional `--follow` flag to stay attached to the logs.
-```bash
-streampipes logs --follow backend
-```
-
-**Update** all services of current environment
-```bash
-streampipes pull
-```
-
-**Restart** all services of current environment or specific services
-```bash
-streampipes restart
-# restart backend & consul
-# streampipes restart backend consul
-```
-
-**Clean** your system and remove created StreamPipes Docker volumes, StreamPipes docker network and dangling StreamPipes images of old image layers.
-```bash
-streampipes clean
-# remove volumes, network and dangling images
-# streampipes clean --volumes
-```
-
-## Modify/Create an environment template
-As of now, this step has to be done **manually**. All environments are located in `environments/`.
-
-```bash
-├── adapter               # developing a new connect adapter
-├── backend               # developing core backend features
-├── basic                 # wanna run core, UI, connect etc from the IDE?
-├── full                  # full version containing more pipeline elements
-├── lite                  # few pipeline elements, less memory  
-├── pipeline-element      # developing new pipeline-elements
-└── ui                    # developing UI features
-```
-**Modifying an existing environment template**. To modify an existing template, you can simply add a `<YOUR_NEW_SERVICE>` to the template.
-> **NOTE**: You need to make sure, that the service your are adding exists in `deploy/standalone/service/<YOUR_NEW_SERVICE>`. If your're adding a completely new service take a look at existing ones, create a new service directory and include a `docker-compose.yml` and `docker-compose.dev.yml` file.
-
-```
-[environment:backend]
-activemq
-kafka
-...
-<YOUR_NEW_SERVICE>
-```
-
-**Creating a new** environment template. To create a new environment template, place a new file `environments/<YOUR_NEW_ENVIRONMENT>` in the template directory. Open the file and use the following schema.
-> **IMPORTANT**: Please make sure to have `[environment:<YOUR_NEW_ENVIRONMENT>]` header in the first line of your new template matching the name of the file. Make sure to use small caps letters (lowercase) only.
-
-```
-[environment:<YOUR_NEW_ENVIRONMENT>]
-<SERVICE_1>
-<SERVICE_2>
-...
-```
-
-## Run `streampipes` from anywhere? No problem
-Simply add the path to this cli directory to your `$PATH` (on macOS, Linux) variable, e.g. in your `.bashrc` or `.zshrc`, or `%PATH%` (on Windows).
-
-For **macOS**, or **Linux**:
-
-```bash
-export PATH="/path/to/incubator-streampipes-installer/cli:$PATH"
-```
-
-For **Windows 10**, e.g. check this [documentation](https://helpdeskgeek.com/windows-10/add-windows-path-environment-variable/).
-
-
-## Upgrade to new version
-To upgrade to a new version, simply edit the version tag `SP_VERSION` in the `.env` file.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/06_extend-sdk-event-model.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/06_extend-sdk-event-model.md
deleted file mode 100644
index 1152010..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/06_extend-sdk-event-model.md
+++ /dev/null
@@ -1,142 +0,0 @@
----
-id: extend-sdk-event-model
-title: "SDK Guide: Event Model"
-sidebar_label: "SDK: Event Model"
-original_id: extend-sdk-event-model
----
-
-## Introduction
-
-This guide explains the usage of the event model to manipulate runtime events for data processors and data sink.
-
-## Prerequisites
-
-This guide assumes that you are already familiar with the basic setup of [data processors](dev-guide-processor-sdk.md) and [data sinks](dev-guide-sink-sdk.md).
-
-### Property Selectors
-
-In most cases, fields that are subject to be transformed by pipeline elements are provided by the assigned ``MappingProperty`` (see the guide on [static properties](dev-guide-static-properties.md)).
-
-Mapping properties return a ``PropertySelector`` that identifies a field based on (i) the **streamIndex** and (ii) the runtime name of the field.
-Let's assume we have an event with the following structure:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "sensor1",
-    "running" : true,
-    "location" : {"latitude" : 34.4, "longitude" : -47},
-    "lastValues" : [45, 22, 21]
-}
-```
-
-In addition, we assume that a data processor exists (with one input node) that converts the temperature value (measured in degrees celsius) to a degree fahrenheit value.
-In this case, a mapping property (selected by the pipeline developer in the StreamPipes UI) would link to the ``temperature`` field of the event.
-
-The mapping property value will be the ``PropertySelector`` of the temperature value, which looks as follows:
-
-```
-s0::temperature
-```
-
-``s0`` identifies the stream (in this case, only one input streams exist, but as data processors might require more than one input stream, a stream identifier is required), while the appendix identifies the runtime name.
-
-Note: If you add a new field to an input event, you don't need to provide the selector, you can just assign the runtime name as defined by the [output strategy](dev-guide-output-strategies.md).
-
-### Reading Fields
-
-You can get a field from an event by providing the corresponding selector:
-
-```java
-
-@Override
-  public void onEvent(Event event, SpOutputCollector out) {
-
-  PrimitiveField temperatureField = event.getFieldBySelector(PROPERTY_SELECTOR).getAsPrimitive();
-  }
-
-```
-
-Similarly, if your mapping property links to a nested property, use
-
-```java
-
-@Override
-  public void onEvent(Event event, SpOutputCollector out) {
-
-  NestedField nestedField = event.getFieldBySelector(PROPERTY_SELECTOR).getAsNested();
-  }
-
-```
-
-and for a list-based field:
-
-```java
-
-@Override
-  public void onEvent(Event event, SpOutputCollector out) {
-
-  ListField listField = event.getFieldBySelector(PROPERTY_SELECTOR).getAsList();
-  }
-
-```
-
-### Parsing Fields
-
-#### Primitive Fields
-
-A ``PrimitiveField`` contains convenience methods to directly cast a field to the target datatype:
-
-```java
-
-// parse the value as a float datatype
-Float temperatureValue = event.getFieldBySelector(temperatureSelector).getAsPrimitive().getAsFloat();
-
-// or do the same with a double datatype
-Double temperatureValue = event.getFieldBySelector(temperatureSelector).getAsPrimitive().getAsDouble();
-
-// extracting a string
-String deviceId = event.getFieldBySelector(deviceIdSelector).getAsPrimitive().getAsString();
-
-// this also works for extracting fields from nested fields:
-Double latitude = event.getFieldBySelector(latitudeSelector).getAsPrimitive().getAsDouble();
-
-// extracting boolean values
-Boolean running = event.getFieldBySelector(runningSelector).getAsPrimitive().getAsBoolean();
-```
-
-In rare cases, you might want to receive a field directly based on the runtime name as follows:
-
-```java
-Double temperature = event.getFieldByRuntimeName("temperature").getAsPrimitive().getAsDouble();
-```
-
-#### List Fields
-
-Lists can also be retrieved by providing the corresponding selector and can automatically be parsed to a list of primitive datatypes:
-
-```java
-
-List<Integer> lastValues = event.getFieldBySelector(lastValueSelector).getAsList().parseAsSimpleType(Integer.class);
-
-```
-
-(coming soon: parsing complex lists)
-
-
-### Adding/Updating Fields
-
-Primitive fields can easily be added to an event by providing the runtime name and the object:
-
-```java
-
-    // add a primitive field with runtime name "city" and value "Karlsruhe"
-    event.addField("city", "Karlsruhe");
-
-    // remove the field "temperature" from the event
-    event.removeFieldBySelector(temperatureSelector);
-
-    // add a new field
-    event.addField("fahrenheit", 48);
-```
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/06_extend-sdk-output-strategies.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/06_extend-sdk-output-strategies.md
deleted file mode 100644
index 32c167f..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/06_extend-sdk-output-strategies.md
+++ /dev/null
@@ -1,349 +0,0 @@
----
-id: version-0.67.0-extend-sdk-output-strategies
-title: "SDK Guide: Output Strategies"
-sidebar_label: "SDK: Output Strategies"
-original_id: extend-sdk-output-strategies
----
-
-## Introduction
-In StreamPipes, output strategies determine the output of a data processor.
-As the exact input schema of a processor is usually not yet known at development time (as processors can be connected with any stream that matches their requirements), output strategies are a concept to define how an input data stream is transformed to an output data stream.
-
-The following reference describes how output strategies can be defined using the SDK.
-
-<div class="admonition tip">
-<div class="admonition-title">Code on Github</div>
-<p>For all examples, the code can be found on <a href="https://www.github.com/apache/incubator-streampipes-examples
-/tree/dev/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/apache/streampipes/pe/examples/jvm
-/outputstrategy/">Github</a>.</p>
-</div>
-
-## Reference
-
-The methods described below to create static properties are available in the ``ProcessingElementBuilder`` class and are usually used in the ``declareModel`` method of the controller class.
-
-As follows, we will use the following example event to explain how output strategies define the output of a data processor:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "1"
-
-}
-```
-
-### Keep Output
-
-A ``KeepOutputStrategy`` declares that the output event schema will be equal to the input event schema.
-In other terms, the processor does not change the schema, but might change the values of event properties.
-
-A keep output strategy can be defined as follows:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".keep", "Keep output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.anyProperty())
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // declaring a keep output strategy
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-
-```
-
-According to the example above, the expected output event schema of the example input event would be:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "1"
-
-}
-```
-
-Data processors that perform filter operations (e.g., filtering temperature values that are above a given threshold) are a common example for using keep output strategies.
-
-
-### Fixed Output
-
-A ``FixedOutputStrategy`` declares that the data processor itself provides the event schema. The output schema does not depend on the input event.
-
-Fixed output strategies need to provide the event schema they produce at development time:
-
-```java
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".fixed", "Fixed output example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.anyProperty())
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // the fixed output strategy provides the schema
-            .outputStrategy(OutputStrategies.fixed(EpProperties.timestampProperty("timestamp"),
-                    EpProperties.doubleEp(Labels.from("avg", "Average value", ""), "avg", SO.Number)))
-
-            .build();
-  }
-
-```
-
-In this example, we declare that the output schema always consists of two fields (``timestamp`` and ``avg``).
-
-Therefore, an output event should look like:
-
-```json
-{
-    "timestamp" : 1234556,
-    "avg" : 36.0
-}
-```
-
-
-### Append Output
-
-An ``AppendOutputStrategy`` appends additional fields to a schema of an incoming event stream. For instance, data processors that perform enrichment operations usually make use of append output strategies.
-
-Similar to the fixed output strategy, the additional fields must be provided at development time in the controller method as follows:
-
-```java
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".append", "Append output example", "")
-
-            // boilerplate code not relevant here, see above
-
-            // declaring an append output
-            .outputStrategy(OutputStrategies.append(EpProperties.integerEp(Labels.from("avg",
-                    "The average value", ""), "avg", SO.Number)))
-
-            .build();
-  }
-```
-
-In this case, the output event would have an additional field ``avg``:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "1",
-    "avg" : 123.0
-
-}
-```
-
-### Custom Output
-
-In some cases, pipeline developers using the StreamPipes UI should be able to manually select fields from an input event schema. For such use cases, a ``CustomOutputStrategy`` can be used:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".custom", "Custom output example", "")
-
-            // boilerplate code not relevant here, see above
-
-            // declaring a custom output
-            .outputStrategy(OutputStrategies.custom())
-
-            .build();
-  }
-
-```
-
-If a data processor defines a custom output strategy, the customization dialog in the pipeline editor will show a dialog to let users select the fields to keep:
-
-<img src="/img/dev-guide-output-strategies/os-custom.png" width="80%"alt="Number Parameter"/>
-
-Taking our example, and assuming that the user selects both the ``timestamp`` and the ``temperature`` the expected output event should look like this:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0
-}
-```
-
-How do we know which fields were selected once the data processor is invoked? Use the proper method from the extractor in the ``onInvocation`` method:
-
-```java
-@Override
-  public ConfiguredEventProcessor<DummyParameters> onInvocation(DataProcessorInvocation graph, ProcessingElementParameterExtractor extractor) {
-
-    List<String> outputSelectors = extractor.outputKeySelectors();
-
-    return new ConfiguredEventProcessor<>(new DummyParameters(graph), DummyEngine::new);
-  }
-```
-
-### Transform Output
-
-A ``TransformOutputStrategy`` declares that one or more fields of an incoming event stream are transformed. Transformations can be applied to the datatype of the property, the runtime name of the property, or any other scheam-related declaration such as measurement units.
-
-#### Static Transform Operations
-
-Static transform operations do not depend on any user input (at pipeline development time) in order to know how to transform a field of an incoming event schema.
-
-Let's say our data processor transforms strings (that are actually a number) to a number datatype. In this case, we can use a static transform output strategy:
-
-```java
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".transform", "Transform output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.stringReq(), Labels.from
-                            ("str", "The date property as a string", ""), PropertyScope.NONE)
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // static transform operation
-            .outputStrategy(OutputStrategies.transform(TransformOperations
-                    .staticDatatypeTransformation("str", Datatypes.Long)))
-
-            .build();
-  }
-
-```
-
-Note the mapping property that we use to determine which field of the input event should be transformed.
-
-The expected output event would look like this:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : 1
-}
-```
-
-#### Dynamic Transform Operations
-
-Sometimes, user input depends on the exact transform output. Let's take a field renaming processor as an example, which lets the user rename a field from an input event schema to another field name.
-For such use cases, we can use a ``DynamicTransformOperation``:
-
-```java
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".transform", "Transform output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.stringReq(), Labels.from
-                            ("str", "The date property as a string", ""), PropertyScope.NONE)
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // the text input to enter the new runtime name
-            .requiredTextparameter(Labels.from("new-runtime-name", "New Runtime Name", ""))
-
-            // static transform operation
-            .outputStrategy(OutputStrategies.transform(TransformOperations
-                    .dynamicRuntimeNameTransformation("str", "new-runtime-name")))
-
-            .build();
-  }
-
-```
-
-For dynamic transform operations, an additional identifier that links to another static property can be assigned and later be fetched in the ``onInvocation`` method.
-
-Assuming we want to rename the field ``temperature`` to ``temp``, the resulting output event should look like this:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temp" : 37.0,
-    "deviceId" : 1
-}
-```
-
-### Custom Transform Output
-
-Finally, in some cases the output schema cannot be described at pipeline development time. For these (usually rare) cases, a ``CustomTransformOutput`` strategy can be used.
-
-In this case, a callback function will be invoked in the controller class just after a user has filled in any static properties and clicks on ``Save`` in the pipeline editor.
-
-To define a custom transform output, we need to implement an interface in the controller class:
-
-```java
-public class CustomTransformOutputController extends
-        StandaloneEventProcessingDeclarer<DummyParameters> implements
-        ResolvesContainerProvidedOutputStrategy<DataProcessorInvocation, ProcessingElementParameterExtractor> {
-
-
-@Override
-  public EventSchema resolveOutputStrategy(DataProcessorInvocation processingElement, ProcessingElementParameterExtractor parameterExtractor) throws SpRuntimeException {
-
-  }
-}
-```
-
-In addition, the output strategy must be declared in the ``declareModel`` method:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".customtransform", "Custom transform output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.stringReq(), Labels.from
-                            ("str", "The date property as a string", ""), PropertyScope.NONE)
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // declare a custom transform output
-            .outputStrategy(OutputStrategies.customTransformation())
-
-            .build();
-  }
-
-```
-
-Once a new pipeline using this data processor is created and the configuration is saved, the ``resolveOutputStrategy`` method will be called, so that an event schema can be provided based on the given configuration. An extractor instance (see the guide on static properties) is available to extract the selected static properties and the connected event stream.
-
-```java
-@Override
-  public EventSchema resolveOutputStrategy(DataProcessorInvocation processingElement, ProcessingElementParameterExtractor parameterExtractor) throws SpRuntimeException {
-    return new EventSchema(Arrays
-            .asList(EpProperties
-                    .stringEp(Labels.from("runtime", "I was added at runtime", ""), "runtime", SO.Text)));
-  }
-```
-
-In this example, the output event schema should look like this:
-
-```json
-{
-    "runtime" : "Hello world!"
-}
-```
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/06_extend-sdk-static-properties.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/06_extend-sdk-static-properties.md
deleted file mode 100644
index 22a14c3..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/06_extend-sdk-static-properties.md
+++ /dev/null
@@ -1,267 +0,0 @@
----
-id: version-0.67.0-extend-sdk-static-properties
-title: "SDK Guide: Static Properties"
-sidebar_label: "SDK: Static Properties"
-original_id: extend-sdk-static-properties
----
-
-## Introduction
-Static properties represent user-faced parameters that are provided by pipeline developers.
-Processing elements can specify required static properties, which will render different UI views in the pipeline editor.
-
-The following reference describes how static properties can be defined using the SDK.
-
-<div class="admonition tip">
-<div class="admonition-title">Code on Github</div>
-<p>For all examples, the code can be found on <a href="https://github.com/apache/incubator-streampipes-examples/tree
-/dev/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/apache/streampipes/pe/examples/jvm
-/staticproperty">Github</a>.</p>
-</div>
-
-## Reference
-
-The methods described below to create static properties are available in the ``ProcessingElementBuilder`` and ``DataSinkBuilder`` classes and are usually used in the ``declareModel`` method of the controller class.
-
-### Mapping property
-
-In StreamPipes, processing elements usually operate on fields of an event stream. For instance, a filter processor operates on a specific field from an input stream (e.g., a field measuring the temperature).
-Typically, pipeline developers should select the exact field where the operations is applied upon by themselves.
-As this field is not yet known at pipeline element development time (as it is defined by the pipeline developer in the pipeline editor), mapping properties serve to map a stream requirement to a specific field from the actual input event stream.
-
-### Unary mapping property
-
-A unary mapping property maps a stream requirement to an actual field of an event stream. Therefore, the ``StreamRequirementsBuilder`` provides the opportunity to directly add a mapping property based along with a property requirement:
-
-```java
-.requiredStream(StreamRequirementsBuilder.
-    create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.numberReq(),
-            Labels.from("mp-key", "My Mapping", ""),
-            PropertyScope.NONE)
-    .build())
-```
-
-This leads to a selection dialog in the pipeline element customization which provides the user with a selection of all event properties (fields) from the input stream that match the specified property requirement:
-
-<img src="/img/dev-guide-static-properties/sp-mapping-unary.png" width="80%"alt="Text"/>
-
-At invocation time, the value can be extracted in the ``onInvocation`` method as follows:
-
-```java
-// Extract the mapping property value
-String mappingPropertySelector = extractor.mappingPropertyValue("mp-key");
-```
-
-Note that this method returns a ``PropertySelector``, which can be used by the event model to extract the actual value of this field.
-
-### N-ary mapping property
-
-N-ary mapping properties work similar to unary mapping properties, but allow the mapping of one requirement to multiple event properties matching the requirement:
-
-```java
-.requiredStream(StreamRequirementsBuilder.
-    create()
-    .requiredPropertyWithNaryMapping(EpRequirements.numberReq(),
-            Labels.from("mp-key", "My Mapping", ""),
-            PropertyScope.NONE)
-    .build())
-```
-
-This renders the following selection, where users can select more than one matching event property:
-
-<img src="/img/dev-guide-static-properties/sp-mapping-nary.png" width="80%"alt="Text"/>
-
-The following snippet returns a list containing the property selectors of all event properties that have been selected:
-
-```java
-// Extract the mapping property value
-List<String> mappingPropertySelectors = extractor.mappingPropertyValues("mp-key");
-```
-
-### Free-Text Parameters
-
-A free-text parameter requires the pipeline developer to enter a single value - which can be a string or another primitive data type.
-The input of free-text parameters can be restricted to specific value ranges or can be linked to the value set of a connected input data stream.
-
-#### Text Parameters
-
-A text parameter lets the user enter a string value. The following code line in the controller class
-
-```java
-.requiredTextParameter(Labels.from(SP_KEY, "Example Name", "Example Description"))
-```
-
-leads to the following input dialog in the pipeline editor:
-
-<img src="/img/dev-guide-static-properties/sp-text-parameter.png" width="80%"alt="Text"/>
-
-Users can enter any value that will be converted to a string datatype. To receive the entered value in the ``onInvocation`` method, use the following method from the ``ParameterExtractor``
-
-```java
-String textParameter = extractor.singleValueParameter(SP_KEY, String.class);
-```
-
-#### Number parameters
-
-A number parameter lets the user enter a number value, either a floating-point number or an integer:
-
-```java
-// create an integer parameter
-.requiredIntegerParameter(Labels.from(SP_KEY, "Integer Parameter", "Example Description"))
-
-// create a float parameter
-.requiredFloatParameter(Labels.from("float-key", "Float Parameter", "Example Description"))
-
-```
-
-leads to the following input dialog in the pipeline editor only accepting integer values:
-
-<img src="/img/dev-guide-static-properties/sp-number-parameter.png" width="80%"alt="Number Parameter"/>
-
-The pipeline editor performs type validation and ensures that only numbers can be added by the user. To receive the entered value in the ``onInvocation`` method, use the following method from the ``ParameterExtractor``
-
-```java
-// Extract the integer parameter value
-Integer integerParameter = extractor.singleValueParameter(SP_KEY, Integer.class);
-
-// Extract the float parameter value
-Float floatParameter = extractor.singleValueParameter("float-key", Float.class);
-
-```
-
-#### Numbers with value specification
-
-You can also specify the value range of a number-based free text parameter:
-
-```java
-// create an integer parameter with value range
-.requiredIntegerParameter(Labels.from(SP_KEY, "Integer Parameter", "Example Description"), 0, 100, 1)
-
-```
-
-which renders the following input field:
-
-<img src="/img/dev-guide-static-properties/sp-number-parameter-with-range.png" width="80%"alt="Number Parameter"/>
-
-Receive the entered value in the same way as a standard number parameter.
-
-#### Free-text parameters linked to an event property
-
-
-### Single-Value Selections
-
-Single-value selections let the user select from a pre-defined list of options.
-A single-value selection requires to select exactly one option.
-
-```java
-.requiredSingleValueSelection(Labels.from("id", "Example Name", "Example Description"),
-    Options.from("Option A", "Option B", "Option C"))
-
-```
-
-Single-value selections will be rendered as a set of radio buttons in the pipeline editor:
-
-<img src="/img/dev-guide-static-properties/sp-single-selection.png" width="80%"alt="Number Parameter"/>
-
-To extract the selected value, use the following method from the parameter extractor:
-
-```java
-// Extract the selected value
-String selectedSingleValue = extractor.selectedSingleValue("id", String.class);
-```
-
-<div class="admonition tip">
-<div class="admonition-title">Declaring options</div>
-<p>Sometimes, you may want to use an internal name that differs from the display name of an option.
-For that, you can use the method Options.from(Tuple2{'<'}String, String{'>'}) and the extractor method selectedSingleValueInternalName.</p>
-</div>
-
-
-
-### Multi-Value Selections
-
-Multi-value selections let the user select from a pre-defined list of options, where multiple or no option might be selected.
-
-```java
-.requiredMultiValueSelection(Labels.from("id", "Example Name", "Example Description"),
-    Options.from("Option A", "Option B", "Option C"))
-
-```
-
-Multi-value selections will be rendered as a set of checkboxes in the pipeline editor:
-
-<img src="/img/dev-guide-static-properties/sp-multi-selection.png" width="80%"alt="Number Parameter"/>
-
-To extract the selected value, use the following method from the parameter extractor:
-
-```java
-// Extract the selected value
-List<String> selectedMultiValue = extractor.selectedMultiValues("id", String.class);
-```
-
-### Domain Concepts
-
-(coming soon...)
-
-### Collections
-
-You can also define collections based on other static properties.
-
-```java
-// create a collection parameter
-.requiredParameterAsCollection(Labels.from("collection", "Example Name", "Example " +
-        "Description"), StaticProperties.stringFreeTextProperty(Labels
-        .from("text-property","Text","")))
-```
-
-While the items of the collection can be provided in the same way as the underlying static property, the UI provides buttons to add and remove items to the collections.
-
-<img src="/img/dev-guide-static-properties/sp-collection.png" width="80%"alt="Number Parameter"/>
-
-To extract the selected values from the collection, use the following method from the parameter extractor:
-
-```java
-// Extract the text parameter value
-List<String> textParameters = extractor.singleValueParameterFromCollection("collection", String.class);
-```
-
-### Runtime-resolvable selections
-
-In some cases, the options of selection parameters are not static, but depend on other values or might change at runtime. In this case, you can use runtime-resolvable selections.
-
-First, let your controller class implement ``ResolvesContainerProvidedOptions``:
-
-```java
-public class RuntimeResolvableSingleValue extends
-     StandaloneEventProcessingDeclarer<DummyParameters> implements ResolvesContainerProvidedOptions { ... }
-```
-
-Next, define the parameter in the ``declareModel`` method:
-
-```java
-// create a single value selection parameter that is resolved at runtime
-    .requiredSingleValueSelectionFromContainer(Labels.from("id", "Example Name", "Example " +
-            "Description"))
-```
-
-Finally, implement the method ``resolveOptions``, which will be called at runtime once the processor is used:
-
-```java
-  @Override
-  public List<RuntimeOptions> resolveOptions(String requestId, EventProperty linkedEventProperty) {
-    return Arrays.asList(new RuntimeOptions("I was defined at runtime", ""));
-  }
-```
-
-The UI will render a single-value parameter based on the options provided at runtime:
-
-<img src="/img/dev-guide-static-properties/sp-single-selection-remote.png" width="80%"alt="Number Parameter"/>
-
-The parameter extraction does not differ from the extraction of static single-value parameters.
-
-<div class="admonition info">
-<div class="admonition-title">Multi-value selections</div>
-<p>Although this example shows the usage of runtime-resolvable selections using single value selections, the same also works for multi-value selections!</p>
-</div>
-
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/06_extend-setup.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/06_extend-setup.md
deleted file mode 100644
index 70ecf7d..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/06_extend-setup.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-id: extend-setup
-title: Development Setup
-sidebar_label: Development Setup
-original_id: extend-setup
----
-
-Pipeline elements in StreamPipes are provided as standalone microservices. New pipeline elements can be easily developed using the provided Maven archetypes and can be installed in StreamPipes at runtime.
-
-In this section, we describe our recommended minimum setup for locally setting up a development instance of StreamPipes needed to develop, run and test new pipeline elements.
-
-## IDE & required dev tools
-StreamPipes does not have specific requirements on the IDE - so feel free to choose the IDE of your choice.
-The only requirements in terms of development tools are that you have Java 17 and Maven installed.
-
-## StreamPipes CLI: Docker-based local StreamPipes instance
-In order to quickly test developed pipeline elements without needing to install all services required by StreamPipes, we provide a CLI tool that allows you to selectively start StreamPipes components.
-The CLI tool allows to switch to several templates (based on docker-compose) depending on the role. 
-
-The documentation on the usage of the CLI tool is available [here](06_extend-cli.md).
-
-## Override the SP_HOST variable
-
-By default, the backend/core of StreamPipes registers itself within StreamPipes' service discovery mechanism using an auto-discovered hostname.
-Usually, this will be an IP address from the Docker network, which is not resolvable from outside. Therefore, for local development you need to override the hostname with an IP address which is accessible from your local host where you develop extensions.
-When using the CLI, open the CLI folder ``installer/cli``, navigate to ``deploy/standalone/backend``, open the ``docker-compose.dev.yml`` file and add the SP_HOST env variable, e.g.
-
-```
-version: "3.4"
-services:
-  backend:
-    ports:
-      - "8030:8030"
-    environment:
-      - SP_HOST=host.docker.internal
-```
-
-Note that host.docker.internal will work as an alias under Docker for Desktop on Windows and Mac, but not on Linux or M1. In this case, provide a resolvable hostname or IP address manually.
-
-## Starter projects
-
-Now, once you've started the development instance, you are ready to develop your very first pipeline element.
-Instead of starting from scratch, we recommend using our provided maven archetypes:
-
-### Maven archetypes
-
-Create the Maven archetype as described in the [Maven Archetypes](06_extend-archetypes.md) guide.
-
-### Examples
-
-We provide several examples that explain the usage of some concepts in this [Github repo](https://github.com/apache/streampipes-examples). 
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/07_technicals-architecture.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/07_technicals-architecture.md
deleted file mode 100644
index e5294c7..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/07_technicals-architecture.md
+++ /dev/null
@@ -1,63 +0,0 @@
----
-id: version-0.67.0-technicals-architecture
-title: Architecture
-sidebar_label: Architecture
-original_id: technicals-architecture
----
-
-
-The following picture illustrates the high-level architecture of StreamPipes:
-
-<img src="/img/architecture/high-level-architecture.png"alt="High Level Architecture of StreamPipes"/>
-
-Users mainly interact (besides other UI components) with the _Pipeline Editor_ to create stream processing pipelines based on data streams, data processors and data sinks.
-These reusable pipeline elements are provided by self-contained _pipeline element containers_, each of them having a semantic description that specifies their characteristics (e.g., input, output and required user input for data processors).
-Each pipeline element container has a REST endpoint that provides these characteristics as a JSON-LD document.
-
-Pipeline element containers are built using one of several provided _wrappers_.
-Wrappers abstract from the underlying runtime stream processing framework.
-Currently, the StreamPipes framework provides wrappers for Apache Flink, Esper and algorithms running directly on the JVM.
-
-The _pipeline manager_ manages the definition and execution of pipelines.
-When creating pipelines, the manager continuously matches the pipeline against its semantic description and provides user guidance in form of recommendations.
-Once a pipeline is started, the pipeline manager invokes the corresponding pipeline element containers.
-The container prepares the actual execution logic and submits the program to the underlying execution engine, e.g., the program is deployed in the Apache Flink cluster.
-
-Pipeline elements exchange data using one or more message brokers and protocols (e.g., Kafka or MQTT).
-StreamPipes does not rely on a specific broker or message format, but negotiates suitable brokers based on the capabilities of connected pipeline elements.
-
-Thus, StreamPipes provides a higher-level abstraction of existing stream processing technology by leveraging domain experts to create streaming analytics pipelines in a self-service manner.
-
-## Semantic description
-Pipeline elements in StreamPipes are meant to be reusable:
-
-* Data processors and data sink are generic (or domain-specific) elements that express their requirements and are able to operate on any stream that satisfies these requirements.
-* Data processors and data sinks can be manually configured by offering possible configuration parameters which users can individually define when creating pipelines.
-* Data streams can be connected to any data processor or data sink that matches the capabilities of the stream.
-
-When users create pipelines by connecting a data stream with a data processor (or further processors), the pipeline manager _matches_ the input stream of a data processor against its requirements.
-This matching is performed based on the _semantic description of each element.
-The semantic description (technically an RDF graph serialized as JSON-LD) can be best understood by seeing it as an envelope around a pipeline element.
-It only provides metadata information, while we don't rely on any RDF at runtime for exchanging events between pipeline elements.
-While RDF-based metadata ensures good understanding of stream capabilities, lightweight event formats at runtime (such as JSON or Thrift) ensure fast processing of events.
-
-Let's look at an example stream that produces a continuous stream of vehicle positions as illustrated below:
-
-<img src="/img/architecture/semantic-description-stream.png"alt="Semantic description of data streams"/>
-
-While the runtime layer produces plain JSON by submitting actual values of the position and the vehicle's plate number, the description layer describes various characteristics of the stream:
-For instance, it defines the event schema (including, besides the data type and the runtime name of each property also a more fine-grained meaning of the property), quality aspects (e.g., the measurement unit of a property or the frequency) and the grounding (e.g., the format used at runtime and the communication protocol used for transmitting events).
-
-The same accounts for data processors and data sinks:
-
-<img src="/img/architecture/semantic-description-processor.png"alt="Semantic description of data processor"/>
-
-Data processors (and, with some differences, data sinks) are annotated by providing metadata information on their required input and output.
-For instance, we can define minimum schema requirements (such as geospatial coordinates that need to be provided by any stream that is connected to a processor), but also required (minimum or maximum) quality levels and supported transport protocols and formats.
-In addition, required configuration parameters users can define during the pipeline definition process are provided by the semantic description.
-
-Once new pipeline elements are imported into StreamPipes, we store all information provided by the description layer in a central repository and use this information to guide useres through the pipeline definition process.
-
-Don't worry - you will never be required to model RDF by yourself.
-Our SDK provides convenience methods that help creating the description automatically.
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/07_technicals-configuration.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/07_technicals-configuration.md
deleted file mode 100644
index 305ba2d..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/07_technicals-configuration.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: version-0.67.0-technicals-configuration
-title: Configuration
-sidebar_label: Configuration
-original_id: technicals-configuration
----
-
-On this page we explain how the StreamPipes configuration works.
-StreamPipes allows the individual services (pipeline element containers and third-party services) to store configuration parameters in a distributed key-value store.
-This has the advantage that individual services do not need to store any configurations on the local file system, enabling us to run containers anywhere.
-As a key-value store we use [Consul](https://www.consul.io/), which is an essential service for all our services.
-
-<img src="/img/configuration/consul.png" width="50%"alt="Semantic description of data processor"/>
-
-
-## Edit Configurations
-All services in StreamPipes can have configuration parameters.
-You can either change them in the consul user interface (which is by default running on port 8500) or directly in the StreamPipes Configurations Page.
-Once a new  pipeline element container is started, it is registered in Consul and the parameters can be edited in the configuration page, as shown below.
-To store changes in Consul, the update button must be clicked.
-
-<div class="my-carousel">
-    <img src="/img/configuration/configuration_1.png"alt="Configuration View"/>
-</div>
-
-## Configuration for Developers
-We provide a Configurations API for the use of configuration parameters in your services.
-Each processing element project has a “config” package [[Example]](https://github.com/apache/incubator-streampipes-extensions/tree/dev/streampipes-sinks-internal-jvm/src/main/java/org/streampipes/sinks/internal/jvm/config).
-This package usually contains two classes.
-One containing unique keys for the configuration values and one containing the getter and setter methods to access these values.
-For the naming of configuration keys, we recommend to use “SP” as a prefix.
-As we explain later, it is possible to set default configurations as environment variables, this prefix makes them unique on your server.
-A configuration entry needs a unique config key. For this key, a value can be specified containing the configuration, like for example the port number of the service.
-For each configuration, a description explaining the parameter can be provided, further the data type must be specified and whether it is a password or not.
-Below, the schema of a configuration item is shown on the left and an example of a port configuration on the right.
-
-<img src="/img/configuration/config_key.png" width="80%"alt="Semantic description of data processor"/>
-
-As a developer, you can add as many new configurations to services as you wish, but there are some that are required for all processing element containers.
-Those are **the host**, **the port**, and **the name** of the service.
-
-## Default Values
-You can provide default values for the configurations, which are used when a configuration is read for the first time.
-The first option is to register a configuration parameter in the Config class.
-This is a fallback value, which is used if nothing else is defined.
-Since this value is static, we offer a second option.
-It is possible to provide a default value by setting an environment variable.
-In this case, the convention is that the key of a configuration parameter must be used as the environment variable.
-Now, this value is used instead of the value defined in the Config class.
-During development, the configuration values often need to be changed for debugging purposes, therefore we provide an .env file in all processing element projects and archetypes.
-This file can be used by your IDE to set the environment variables. (e.g., [Intellij Plugin](https://plugins.jetbrains.com/plugin/7861-envfile))
-When you need to change the variable at runtime, you can do this in the StreamPipes configurations as explained before.
-Those changes take effect immediately without the need of a container restart.
-
-<div class="admonition warning">
-<div class="admonition-title">Installed pipeline elements</div>
-<p>Be cautious, when the configuration is used in the semantic description of a processing element which is already installed in StreamPipes, you have to reload this element in StreamPipes (my elements -> reload).
-   In addition, changes might affect already running pipelines.</p>
-</div>
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/07_technicals-messaging.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/07_technicals-messaging.md
deleted file mode 100644
index 2fa58f9..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/07_technicals-messaging.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-id: version-0.67.0-technicals-messaging
-title: Messaging
-sidebar_label: Messaging
-original_id: technicals-messaging
----
-
-tbd
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/07_technicals-runtime-wrappers.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/07_technicals-runtime-wrappers.md
deleted file mode 100644
index a64bb8d..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/07_technicals-runtime-wrappers.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-id: version-0.67.0-technicals-runtime-wrappers
-title: Runtime Wrappers
-sidebar_label: Runtime Wrappers
-original_id: technicals-runtime-wrappers
----
-
-tbd
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/07_technicals-user-guidance.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/07_technicals-user-guidance.md
deleted file mode 100644
index 89a515f..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/07_technicals-user-guidance.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-id: version-0.67.0-technicals-user-guidance
-title: User Guidance
-sidebar_label: User Guidance
-original_id: technicals-user-guidance
----
-
-tbd
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/08_debugging.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/08_debugging.md
deleted file mode 100644
index 38d46a2..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/08_debugging.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-id: version-0.67.0-debugging-debugging
-title: Debugging
-sidebar_label: Debugging
-original_id: debugging-debugging
----
-
-tbd
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/08_monitoring.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/08_monitoring.md
deleted file mode 100644
index 0f6433c..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/08_monitoring.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-id: version-0.67.0-debugging-monitoring
-title: Monitoring
-sidebar_label: Monitoring
-original_id: debugging-monitoring
----
-
-tbd
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/09_contribute.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/09_contribute.md
deleted file mode 100644
index fa9feaf..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/09_contribute.md
+++ /dev/null
@@ -1,18 +0,0 @@
----
-id: version-0.67.0-community-contribute
-title: Contribute
-sidebar_label: Contribute
-original_id: community-contribute
----
-
-## Contribute
-
-We welcome contributions to StreamPipes. If you are interested in contributing to StreamPipes, let us know! You'll
-get to know an open-minded and motivated team working together to build the next IIoT analytics toolbox.
-
-Here are some first steps in case you want to contribute:
-* Subscribe to our dev mailing list [dev-subscribe@streampipes.apache.org](dev-subscribe@streampipes.apache.org)
-* Send an email, tell us about your interests and which parts of Streampipes you'd like to contribute (e.g., core or UI)!
-* Ask for a mentor who helps you understanding the code base and guides you through the first setup steps
-* Find an issue in our [Jira](https://issues.apache.org/jira/projects/STREAMPIPES) which is tagged with a _newbie_ tag
-* Have a look at our **developer wiki** at [https://cwiki.apache.org/confluence/display/STREAMPIPES](https://cwiki.apache.org/confluence/display/STREAMPIPES) to learn more about StreamPipes development.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/09_get-help.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/09_get-help.md
deleted file mode 100644
index 255f170..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/09_get-help.md
+++ /dev/null
@@ -1,26 +0,0 @@
----
-id: community-get-help
-title: Get Help
-sidebar_label: Get Help
-original_id: community-get-help
----
-
-The Apache StreamPipes community is happy to help with any questions or problems you might have.
-
-## Questions
-Subscribe to our user mailing list to ask a question.
-
-[Mailing Lists](https://streampipes.apache.org/mailinglists.html)
-
-To subscribe to the user list, send an email to [users-subscribe@streampipes.apache.org](users-subscribe@streampipes.apache.org)
-
-You can also ask questions on our Github discussions page:
-[Github Discussions](https://github.com/apache/streampipes/discussions)
-
-## Bugs and Feature Requests
-
-If you've found a bug or have a feature that you'd love to see in StreamPipes, feel free to create an issue on [GitHub](https://github.com/apache/streampipes/issues)
-or [discuss your ideas](https://github.com/apache/streampipes/discussions/categories/ideas).
-
-
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/dev-guide-archetype.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/dev-guide-archetype.md
deleted file mode 100644
index 44c4760..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/dev-guide-archetype.md
+++ /dev/null
@@ -1,143 +0,0 @@
----
-id: dev-guide-archetype
-title: Start Developing
-sidebar_label: Start Developing
-original_id: dev-guide-archetype
----
-
-In this tutorial we explain how you can use the Maven archetypes to develop your own StreamPipes processors and sinks.
-We use IntelliJ in this tutorial, but it works with any IDE of your choice.
-
-## Prerequisites
-You need to have Maven installed, further you need an up and running StreamPipes installation on your development computer.
-To ease the configuration of environment variables, we use the IntelliJ [env Plugin](https://plugins.jetbrains.com/plugin/7861-envfile).
-Install this in IntelliJ. The development also works without the plugin, then you have to set the environment variables manually instead of using the env configuration file.
-
-## Create Project
-To create a new project, we provide multiple Maven Archteypes.
-Currently, we have archetypes for the JVM and Flink wrappers, each for processors and sinks.
-The commands required to create a new pipeline element project can be found below. Make sure that you select a version compatible with your StreamPipes installation.
-Copy the command into your terminal to create a new project.
-The project will be created in the current folder.
-First, the ``groupId`` of the resulting Maven artifact must be set.
-We use ``groupId``: ``org.example`` and ``artifactId``: ``ExampleProcessor``.
-You can keep the default values for the other settings, confirm them by hitting enter.
-Now, a new folder with the name ``ExampleProcessor`` is generated.
-
-
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-processors-jvm  \
-  -DarchetypeVersion=0.65.0
-```
-<details class="info">
-    <summary>Select: [Processors / Sinks] [JVM / Flink]</summary>
-
-## Processors JVM
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-processors-jvm  \
-  -DarchetypeVersion=0.65.0
-```
-
-## Processors Flink
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-processors-flink  \
-  -DarchetypeVersion=0.65.0
-```
-
-## Sinks JVM
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-sinks-jvm  \
-  -DarchetypeVersion=0.65.0
-```
-
-## Sinks Flink
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-sinks-flink  \
-  -DarchetypeVersion=0.65.0
-```
-</details>
-
-
-## Edit Processor
-Open the project in your IDE.
-If everything worked, the structure should look similar to the following image.
-The *config* package contains all the configuration parameters of your processors / sinks.
-In the *main* package, it is defined which processors / sinks you want to activate and the *pe.processor.example* package contains three classes with the application logic.
-For details, have a look at the other parts of the Developer Guide, where these classes are explained in more depth.
-
-<img src="/img/archetype/project_structure.png" width="30%" alt="Project Structure"/>
-
-Open the class *Example* and edit the ``onEvent`` method to print the incoming event, log it to the console and send it to the next component without changing it.
-
-```java
-@Override
-public void onEvent(Event event, SpOutputCollector collector) {
-    // Print the incoming event on the console
-    System.out.println(event);
-
-    // Hand the incoming event to the output collector without changing it.
-    collector.collect(event);
-}
-```
-
-## Start Processor
-Before the processor can be started, you need to edit the *env* file in the *development* folder.
-Replace all local hosts in this file with the IP address or DNS name of your computer.
-This is relevant to make the mapping between the services running in Docker and your component running in the local IDE.
-After all updates are updated, this file is used by the envfile plugin to provide configuration parameters to the pipeline element.
-Alternatively, environment variables can also be set on your host or IDE.
-Now start the project by clicking on **(Run -> Edit Configuration)**.
-Add a new configuration in the Configuration menu by clicking on the + sign and select **Application**.
-Name the configuration *ExampleProcessor* and select the *Init* class as the 'Main class'.
-Then set *ExampleProcessor* in 'Use classpath of module'.
-
-
-As the last step, switch to the tab *EnvFile* and load the env file.
-Click on 'Enable EnvFile' to activate it and add the just edited env file by clicking on the + sign.
-Save all the changes by clicking *Apply*.
-Now you can start the processor.
-
-<div class="my-carousel">
-    <img src="/img/archetype/run_configuration.png" alt="Configuration View"/>
-    <img src="/img/archetype/run_env_configuration.png" alt="Environment Configuration View"/>
-</div>
-
-To check if the service is up and running, open the browser on *'localhost:6666'*. The machine-readable description of the processor should be visible as shown below.
-
-<img src="/img/archetype/endpoint.png" width="90%" alt="Project Structure"/>
-
-
-<div class="admonition error">
-<div class="admonition-title">Common Problems</div>
-<p>
-If the service description is not shown on 'localhost:6666', you might have to change the port address.
-This needs to be done in the configuration of your service, further explained in the configurations part of the developer guide.
-
-If the service does not show up in the StreamPipes installation menu, click on 'MANAGE ENDPOINTS' and add 'http://<span></span>YOUR_IP_OR_DNS_NAME:6666'.
-Use the IP or DNS name you provided in the env file.
-After adding the endpoint, a new processor with the name *Example* should show up.
-</p>
-</div>
-
-Now you can go to StreamPipes.
-Your new processor *'Example'* should now show up in the installation menu.
-Install it, then switch to the pipeline view and create a simple pipeline that makes use of your newly created processor.
-In case you opened the StreamPipes installation for the first time, it should have been automatically installed during the setup process.
-
-<img src="/img/archetype/example_pipeline.png" width="80%" alt="Project Structure"/>
-
-Start this pipeline.
-Now you should see logging messages in your console and, once you've created a visualization, you can also see the resulting events of your component in StreamPipes.
-
-Congratulations, you have just created your first processor!
-From here on you can start experimenting and implement your own algorithms.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/dev-guide-configuration.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/dev-guide-configuration.md
deleted file mode 100644
index 76dec12..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/dev-guide-configuration.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: dev-guide-configuration
-title: Configuration
-sidebar_label: Configuration
-original_id: dev-guide-configuration
----
-
-On this page we explain how the StreamPipes configuration works.
-StreamPipes allows the individual services (pipeline element containers and third-party services) to store configuration parameters in a distributed key-value store.
-This has the advantage that individual services do not need to store any configurations on the local file system, enabling us to run containers anywhere.
-As a key-value store we use [Consul](https://www.consul.io/), which is an essential service for all our services.
-
-<img src="/img/configuration/consul.png" width="50%" alt="Semantic description of data processor"/>
-
-
-## Edit Configurations
-All services in StreamPipes can have configuration parameters.
-You can either change them in the consul user interface (which is by default running on port 8500) or directly in the StreamPipes Configurations Page.
-Once a new  pipeline element container is started, it is registered in Consul and the parameters can be edited in the configuration page, as shown below.
-To store changes in Consul, the update button must be clicked.
-
-<div class="my-carousel">
-    <img src="/img/configuration/configuration_1.png" alt="Configuration View"/>
-</div>
-
-## Configuration for Developers
-We provide a Configurations API for the use of configuration parameters in your services.
-Each processing element project has a “config” package [[Example]](https://github.com/apache/incubator-streampipes-extensions/tree/dev/streampipes-sinks-internal-jvm/src/main/java/org/streampipes/sinks/internal/jvm/config).
-This package usually contains two classes.
-One containing unique keys for the configuration values and one containing the getter and setter methods to access these values.
-For the naming of configuration keys, we recommend to use “SP” as a prefix.
-As we explain later, it is possible to set default configurations as environment variables, this prefix makes them unique on your server.
-A configuration entry needs a unique config key. For this key, a value can be specified containing the configuration, like for example the port number of the service.
-For each configuration, a description explaining the parameter can be provided, further the data type must be specified and whether it is a password or not.
-Below, the schema of a configuration item is shown on the left and an example of a port configuration on the right.
-
-<img src="/img/configuration/config_key.png" width="80%" alt="Semantic description of data processor"/>
-
-As a developer, you can add as many new configurations to services as you wish, but there are some that are required for all processing element containers.
-Those are **the host**, **the port**, and **the name** of the service.
-
-## Default Values
-You can provide default values for the configurations, which are used when a configuration is read for the first time.
-The first option is to register a configuration parameter in the Config class.
-This is a fallback value, which is used if nothing else is defined.
-Since this value is static, we offer a second option.
-It is possible to provide a default value by setting an environment variable.
-In this case, the convention is that the key of a configuration parameter must be used as the environment variable.
-Now, this value is used instead of the value defined in the Config class.
-During development, the configuration values often need to be changed for debugging purposes, therefore we provide an .env file in all processing element projects and archetypes.
-This file can be used by your IDE to set the environment variables. (e.g., [Intellij Plugin](https://plugins.jetbrains.com/plugin/7861-envfile))
-When you need to change the variable at runtime, you can do this in the StreamPipes configurations as explained before.
-Those changes take effect immediately without the need of a container restart.
-
-<div class="admonition warning">
-<div class="admonition-title">Installed pipeline elements</div>
-<p>Be cautious, when the configuration is used in the semantic description of a processing element which is already installed in StreamPipes, you have to reload this element in StreamPipes (my elements -> reload).
-   In addition, changes might affect already running pipelines.</p>
-</div>
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/dev-guide-environment.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/dev-guide-environment.md
deleted file mode 100644
index b573cbb..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/dev-guide-environment.md
+++ /dev/null
@@ -1,113 +0,0 @@
----
-id: dev-guide-development-environment
-title: Development Environment
-sidebar_label: Development Environment
-original_id: dev-guide-development-environment
----
-
-In this section, we describe our recommended minimum setup for locally setting up a development instance of StreamPipes needed to develop, run and test new pipeline elements.
-
-## IDE & required dev tools
-StreamPipes does not have specific requirements on the IDE - so feel free to choose the IDE of your choice.
-The only requirements in terms of development tools are that you have Java 8 and Maven installed.
-
-## Docker-based local StreamPipes instance
-In order to quickly test developed pipeline elements without needing to install all services required by StreamPipes, we provide a CLI tool that allows you to selectively start StreamPipes components.
-The CLI tool allows to switch to several templates (based on docker-compose) depending on the role. For instance, if you are developing a pipeline element, use the template ``pe-developer``. This will start backend and ui components in a Docker container, while you can easily test your pipeline element in your IDE.
-
-For now, we refer to the Github Readme for instructions on how to use the CLI tool: [https://github.com/apache/incubator-streampipes-installer](https://github.com/apache/incubator-streampipes-installer)
-
-## Starter projects
-
-Now, once you've started the development instance, you are ready to develop your very first pipeline element.
-Instead of starting from scratch, we recommend using our provided maven archetypes:
-
-### Maven archetypes
-
-Create the Maven archetype as described in the [Getting Started](/docs/dev-guide-archetype) guide.
-
-### Starting from scratch
-
-In order to develop a new pipeline element from scratch, you need to create a new Maven project and import the following dependencies:
-
-<details class="info">
-<summary>pom.xml</summary>
-```
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-container-standalone</artifactId>
-    <version>0.64.0</version>
-</dependency>
-
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-sdk</artifactId>
-    <version>0.64.0</version>
-</dependency>
-
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-vocabulary</artifactId>
-    <version>0.64.0</version>
-</dependency>
-
-<!-- This dependency needs to be imported if you plan to develop a new data processor or data sink using the Apache Flink wrapper -->
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-wrapper-flink</artifactId>
-    <version>0.64.0</version>
-</dependency>
-
-<!-- This dependency needs to be imported if you plan to develop a new data processor or data sink which is running directly on the JVM -->
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-wrapper-standalone</artifactId>
-    <version>0.64.0</version>
-</dependency>
-
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-dataformat-json</artifactId>
-    <version>0.64.0</version>
-</dependency>
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-dataformat-smile</artifactId>
-     <version>0.64.0</version>
-</dependency>
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-dataformat-cbor</artifactId>
-     <version>0.64.0</version>
-</dependency>
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-dataformat-fst</artifactId>
-     <version>0.64.0</version>
-</dependency>
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-messaging-jms</artifactId>
-     <version>0.64.0</version>
-</dependency>
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-messaging-kafka</artifactId>
-     <version>0.64.0</version>
-</dependency>
-```
-</details>
-
-The following three dependencies are mandatory:
-
-* `streampipes-container-standalone`, defines that we are going to create a new pipeline element where the description will be accessible through an embedded web server.
-* `streampipes-sdk` imports the SDK which provides many convencience functions to create new pipeline elements.
-* `streampipes-vocabulary` imports various RDF vocabularies which are used by the SDK to auto-generate the semantic description of pipeline elements.
-
-The following three dependencies might be optional depending on the pipeline element type you plan to create:
-
-*  `streampipes-wrapper-flink` should be used in case you plan to connect a new data processor or data sink that uses Apache Flink for processing events at runtime.
-*  `streampipes-wrapper-standalone` should be used in case you plan to connect a new data processor or data sink that does not use an external processing engine. Events are directly processed in a single-host fashion.
-
-
-Finally, this dependency will provide abstract classes to define data sources and streams.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/dev-guide-output-strategies.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/dev-guide-output-strategies.md
deleted file mode 100644
index 81c6395..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/dev-guide-output-strategies.md
+++ /dev/null
@@ -1,347 +0,0 @@
----
-id: dev-guide-output-strategies
-title: "SDK Guide: Output Strategies"
-sidebar_label: Output Strategies
-original_id: dev-guide-output-strategies
----
-
-## Introduction
-In StreamPipes, output strategies determine the output of a data processor.
-As the exact input schema of a processor is usually not yet known at development time (as processors can be connected with any stream that matches their requirements), output strategies are a concept to define how an input data stream is transformed to an output data stream.
-
-The following reference describes how output strategies can be defined using the SDK.
-
-<div class="admonition tip">
-<div class="admonition-title">Code on Github</div>
-<p>For all examples, the code can be found on <a href="https://www.github.com/apache/incubator-streampipes-examples/tree/dev/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/streampipes/pe/examples/jvm/outputstrategy/">Github</a>.</p>
-</div>
-
-## Reference
-
-The methods described below to create static properties are available in the ``ProcessingElementBuilder`` class and are usually used in the ``declareModel`` method of the controller class.
-
-As follows, we will use the following example event to explain how output strategies define the output of a data processor:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "1"
-
-}
-```
-
-### Keep Output
-
-A ``KeepOutputStrategy`` declares that the output event schema will be equal to the input event schema.
-In other terms, the processor does not change the schema, but might change the values of event properties.
-
-A keep output strategy can be defined as follows:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".keep", "Keep output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.anyProperty())
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // declaring a keep output strategy
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-
-```
-
-According to the example above, the expected output event schema of the example input event would be:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "1"
-
-}
-```
-
-Data processors that perform filter operations (e.g., filtering temperature values that are above a given threshold) are a common example for using keep output strategies.
-
-
-### Fixed Output
-
-A ``FixedOutputStrategy`` declares that the data processor itself provides the event schema. The output schema does not depend on the input event.
-
-Fixed output strategies need to provide the event schema they produce at development time:
-
-```java
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".fixed", "Fixed output example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.anyProperty())
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // the fixed output strategy provides the schema
-            .outputStrategy(OutputStrategies.fixed(EpProperties.timestampProperty("timestamp"),
-                    EpProperties.doubleEp(Labels.from("avg", "Average value", ""), "avg", SO.Number)))
-
-            .build();
-  }
-
-```
-
-In this example, we declare that the output schema always consists of two fields (``timestamp`` and ``avg``).
-
-Therefore, an output event should look like:
-
-```json
-{
-    "timestamp" : 1234556,
-    "avg" : 36.0
-}
-```
-
-
-### Append Output
-
-An ``AppendOutputStrategy`` appends additional fields to a schema of an incoming event stream. For instance, data processors that perform enrichment operations usually make use of append output strategies.
-
-Similar to the fixed output strategy, the additional fields must be provided at development time in the controller method as follows:
-
-```java
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".append", "Append output example", "")
-
-            // boilerplate code not relevant here, see above
-
-            // declaring an append output
-            .outputStrategy(OutputStrategies.append(EpProperties.integerEp(Labels.from("avg",
-                    "The average value", ""), "avg", SO.Number)))
-
-            .build();
-  }
-```
-
-In this case, the output event would have an additional field ``avg``:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "1",
-    "avg" : 123.0
-
-}
-```
-
-### Custom Output
-
-In some cases, pipeline developers using the StreamPipes UI should be able to manually select fields from an input event schema. For such use cases, a ``CustomOutputStrategy`` can be used:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".custom", "Custom output example", "")
-
-            // boilerplate code not relevant here, see above
-
-            // declaring a custom output
-            .outputStrategy(OutputStrategies.custom())
-
-            .build();
-  }
-
-```
-
-If a data processor defines a custom output strategy, the customization dialog in the pipeline editor will show a dialog to let users select the fields to keep:
-
-<img src="/img/dev-guide-output-strategies/os-custom.png" width="80%" alt="Number Parameter"/>
-
-Taking our example, and assuming that the user selects both the ``timestamp`` and the ``temperature`` the expected output event should look like this:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0
-}
-```
-
-How do we know which fields were selected once the data processor is invoked? Use the proper method from the extractor in the ``onInvocation`` method:
-
-```java
-@Override
-  public ConfiguredEventProcessor<DummyParameters> onInvocation(DataProcessorInvocation graph, ProcessingElementParameterExtractor extractor) {
-
-    List<String> outputSelectors = extractor.outputKeySelectors();
-
-    return new ConfiguredEventProcessor<>(new DummyParameters(graph), DummyEngine::new);
-  }
-```
-
-### Transform Output
-
-A ``TransformOutputStrategy`` declares that one or more fields of an incoming event stream are transformed. Transformations can be applied to the datatype of the property, the runtime name of the property, or any other scheam-related declaration such as measurement units.
-
-#### Static Transform Operations
-
-Static transform operations do not depend on any user input (at pipeline development time) in order to know how to transform a field of an incoming event schema.
-
-Let's say our data processor transforms strings (that are actually a number) to a number datatype. In this case, we can use a static transform output strategy:
-
-```java
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".transform", "Transform output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.stringReq(), Labels.from
-                            ("str", "The date property as a string", ""), PropertyScope.NONE)
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // static transform operation
-            .outputStrategy(OutputStrategies.transform(TransformOperations
-                    .staticDatatypeTransformation("str", Datatypes.Long)))
-
-            .build();
-  }
-
-```
-
-Note the mapping property that we use to determine which field of the input event should be transformed.
-
-The expected output event would look like this:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : 1
-}
-```
-
-#### Dynamic Transform Operations
-
-Sometimes, user input depends on the exact transform output. Let's take a field renaming processor as an example, which lets the user rename a field from an input event schema to another field name.
-For such use cases, we can use a ``DynamicTransformOperation``:
-
-```java
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".transform", "Transform output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.stringReq(), Labels.from
-                            ("str", "The date property as a string", ""), PropertyScope.NONE)
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // the text input to enter the new runtime name
-            .requiredTextparameter(Labels.from("new-runtime-name", "New Runtime Name", ""))
-
-            // static transform operation
-            .outputStrategy(OutputStrategies.transform(TransformOperations
-                    .dynamicRuntimeNameTransformation("str", "new-runtime-name")))
-
-            .build();
-  }
-
-```
-
-For dynamic transform operations, an additional identifier that links to another static property can be assigned and later be fetched in the ``onInvocation`` method.
-
-Assuming we want to rename the field ``temperature`` to ``temp``, the resulting output event should look like this:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temp" : 37.0,
-    "deviceId" : 1
-}
-```
-
-### Custom Transform Output
-
-Finally, in some cases the output schema cannot be described at pipeline development time. For these (usually rare) cases, a ``CustomTransformOutput`` strategy can be used.
-
-In this case, a callback function will be invoked in the controller class just after a user has filled in any static properties and clicks on ``Save`` in the pipeline editor.
-
-To define a custom transform output, we need to implement an interface in the controller class:
-
-```java
-public class CustomTransformOutputController extends
-        StandaloneEventProcessingDeclarer<DummyParameters> implements
-        ResolvesContainerProvidedOutputStrategy<DataProcessorInvocation, ProcessingElementParameterExtractor> {
-
-
-@Override
-  public EventSchema resolveOutputStrategy(DataProcessorInvocation processingElement, ProcessingElementParameterExtractor parameterExtractor) throws SpRuntimeException {
-
-  }
-}
-```
-
-In addition, the output strategy must be declared in the ``declareModel`` method:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".customtransform", "Custom transform output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.stringReq(), Labels.from
-                            ("str", "The date property as a string", ""), PropertyScope.NONE)
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // declare a custom transform output
-            .outputStrategy(OutputStrategies.customTransformation())
-
-            .build();
-  }
-
-```
-
-Once a new pipeline using this data processor is created and the configuration is saved, the ``resolveOutputStrategy`` method will be called, so that an event schema can be provided based on the given configuration. An extractor instance (see the guide on static properties) is available to extract the selected static properties and the connected event stream.
-
-```java
-@Override
-  public EventSchema resolveOutputStrategy(DataProcessorInvocation processingElement, ProcessingElementParameterExtractor parameterExtractor) throws SpRuntimeException {
-    return new EventSchema(Arrays
-            .asList(EpProperties
-                    .stringEp(Labels.from("runtime", "I was added at runtime", ""), "runtime", SO.Text)));
-  }
-```
-
-In this example, the output event schema should look like this:
-
-```json
-{
-    "runtime" : "Hello world!"
-}
-```
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/dev-guide-static-properties.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/dev-guide-static-properties.md
deleted file mode 100644
index 2f990bb..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/dev-guide-static-properties.md
+++ /dev/null
@@ -1,265 +0,0 @@
----
-id: dev-guide-static-properties
-title: "SDK Guide: Static Properties"
-sidebar_label: Static Properties
-original_id: dev-guide-static-properties
----
-
-## Introduction
-Static properties represent user-faced parameters that are provided by pipeline developers.
-Processing elements can specify required static properties, which will render different UI views in the pipeline editor.
-
-The following reference describes how static properties can be defined using the SDK.
-
-<div class="admonition tip">
-<div class="admonition-title">Code on Github</div>
-<p>For all examples, the code can be found on <a href="https://github.com/apache/incubator-streampipes-examples/tree/dev/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/streampipes/pe/examples/jvm/staticproperty">Github</a>.</p>
-</div>
-
-## Reference
-
-The methods described below to create static properties are available in the ``ProcessingElementBuilder`` and ``DataSinkBuilder`` classes and are usually used in the ``declareModel`` method of the controller class.
-
-### Mapping property
-
-In StreamPipes, processing elements usually operate on fields of an event stream. For instance, a filter processor operates on a specific field from an input stream (e.g., a field measuring the temperature).
-Typically, pipeline developers should select the exact field where the operations is applied upon by themselves.
-As this field is not yet known at pipeline element development time (as it is defined by the pipeline developer in the pipeline editor), mapping properties serve to map a stream requirement to a specific field from the actual input event stream.
-
-### Unary mapping property
-
-A unary mapping property maps a stream requirement to an actual field of an event stream. Therefore, the ``StreamRequirementsBuilder`` provides the opportunity to directly add a mapping property based along with a property requirement:
-
-```java
-.requiredStream(StreamRequirementsBuilder.
-    create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.numberReq(),
-            Labels.from("mp-key", "My Mapping", ""),
-            PropertyScope.NONE)
-    .build())
-```
-
-This leads to a selection dialog in the pipeline element customization which provides the user with a selection of all event properties (fields) from the input stream that match the specified property requirement:
-
-<img src="/img/dev-guide-static-properties/sp-mapping-unary.png" width="80%" alt="Text"/>
-
-At invocation time, the value can be extracted in the ``onInvocation`` method as follows:
-
-```java
-// Extract the mapping property value
-String mappingPropertySelector = extractor.mappingPropertyValue("mp-key");
-```
-
-Note that this method returns a ``PropertySelector``, which can be used by the event model to extract the actual value of this field.
-
-### N-ary mapping property
-
-N-ary mapping properties work similar to unary mapping properties, but allow the mapping of one requirement to multiple event properties matching the requirement:
-
-```java
-.requiredStream(StreamRequirementsBuilder.
-    create()
-    .requiredPropertyWithNaryMapping(EpRequirements.numberReq(),
-            Labels.from("mp-key", "My Mapping", ""),
-            PropertyScope.NONE)
-    .build())
-```
-
-This renders the following selection, where users can select more than one matching event property:
-
-<img src="/img/dev-guide-static-properties/sp-mapping-nary.png" width="80%" alt="Text"/>
-
-The following snippet returns a list containing the property selectors of all event properties that have been selected:
-
-```java
-// Extract the mapping property value
-List<String> mappingPropertySelectors = extractor.mappingPropertyValues("mp-key");
-```
-
-### Free-Text Parameters
-
-A free-text parameter requires the pipeline developer to enter a single value - which can be a string or another primitive data type.
-The input of free-text parameters can be restricted to specific value ranges or can be linked to the value set of a connected input data stream.
-
-#### Text Parameters
-
-A text parameter lets the user enter a string value. The following code line in the controller class
-
-```java
-.requiredTextParameter(Labels.from(SP_KEY, "Example Name", "Example Description"))
-```
-
-leads to the following input dialog in the pipeline editor:
-
-<img src="/img/dev-guide-static-properties/sp-text-parameter.png" width="80%" alt="Text"/>
-
-Users can enter any value that will be converted to a string datatype. To receive the entered value in the ``onInvocation`` method, use the following method from the ``ParameterExtractor``
-
-```java
-String textParameter = extractor.singleValueParameter(SP_KEY, String.class);
-```
-
-#### Number parameters
-
-A number parameter lets the user enter a number value, either a floating-point number or an integer:
-
-```java
-// create an integer parameter
-.requiredIntegerParameter(Labels.from(SP_KEY, "Integer Parameter", "Example Description"))
-
-// create a float parameter
-.requiredFloatParameter(Labels.from("float-key", "Float Parameter", "Example Description"))
-
-```
-
-leads to the following input dialog in the pipeline editor only accepting integer values:
-
-<img src="/img/dev-guide-static-properties/sp-number-parameter.png" width="80%" alt="Number Parameter"/>
-
-The pipeline editor performs type validation and ensures that only numbers can be added by the user. To receive the entered value in the ``onInvocation`` method, use the following method from the ``ParameterExtractor``
-
-```java
-// Extract the integer parameter value
-Integer integerParameter = extractor.singleValueParameter(SP_KEY, Integer.class);
-
-// Extract the float parameter value
-Float floatParameter = extractor.singleValueParameter("float-key", Float.class);
-
-```
-
-#### Numbers with value specification
-
-You can also specify the value range of a number-based free text parameter:
-
-```java
-// create an integer parameter with value range
-.requiredIntegerParameter(Labels.from(SP_KEY, "Integer Parameter", "Example Description"), 0, 100, 1)
-
-```
-
-which renders the following input field:
-
-<img src="/img/dev-guide-static-properties/sp-number-parameter-with-range.png" width="80%" alt="Number Parameter"/>
-
-Receive the entered value in the same way as a standard number parameter.
-
-#### Free-text parameters linked to an event property
-
-
-### Single-Value Selections
-
-Single-value selections let the user select from a pre-defined list of options.
-A single-value selection requires to select exactly one option.
-
-```java
-.requiredSingleValueSelection(Labels.from("id", "Example Name", "Example Description"),
-    Options.from("Option A", "Option B", "Option C"))
-
-```
-
-Single-value selections will be rendered as a set of radio buttons in the pipeline editor:
-
-<img src="/img/dev-guide-static-properties/sp-single-selection.png" width="80%" alt="Number Parameter"/>
-
-To extract the selected value, use the following method from the parameter extractor:
-
-```java
-// Extract the selected value
-String selectedSingleValue = extractor.selectedSingleValue("id", String.class);
-```
-
-<div class="admonition tip">
-<div class="admonition-title">Declaring options</div>
-<p>Sometimes, you may want to use an internal name that differs from the display name of an option.
-For that, you can use the method Options.from(Tuple2{'<'}String, String{'>'}) and the extractor method selectedSingleValueInternalName.</p>
-</div>
-
-
-
-### Multi-Value Selections
-
-Multi-value selections let the user select from a pre-defined list of options, where multiple or no option might be selected.
-
-```java
-.requiredMultiValueSelection(Labels.from("id", "Example Name", "Example Description"),
-    Options.from("Option A", "Option B", "Option C"))
-
-```
-
-Multi-value selections will be rendered as a set of checkboxes in the pipeline editor:
-
-<img src="/img/dev-guide-static-properties/sp-multi-selection.png" width="80%" alt="Number Parameter"/>
-
-To extract the selected value, use the following method from the parameter extractor:
-
-```java
-// Extract the selected value
-List<String> selectedMultiValue = extractor.selectedMultiValues("id", String.class);
-```
-
-### Domain Concepts
-
-(coming soon...)
-
-### Collections
-
-You can also define collections based on other static properties.
-
-```java
-// create a collection parameter
-.requiredParameterAsCollection(Labels.from("collection", "Example Name", "Example " +
-        "Description"), StaticProperties.stringFreeTextProperty(Labels
-        .from("text-property","Text","")))
-```
-
-While the items of the collection can be provided in the same way as the underlying static property, the UI provides buttons to add and remove items to the collections.
-
-<img src="/img/dev-guide-static-properties/sp-collection.png" width="80%" alt="Number Parameter"/>
-
-To extract the selected values from the collection, use the following method from the parameter extractor:
-
-```java
-// Extract the text parameter value
-List<String> textParameters = extractor.singleValueParameterFromCollection("collection", String.class);
-```
-
-### Runtime-resolvable selections
-
-In some cases, the options of selection parameters are not static, but depend on other values or might change at runtime. In this case, you can use runtime-resolvable selections.
-
-First, let your controller class implement ``ResolvesContainerProvidedOptions``:
-
-```java
-public class RuntimeResolvableSingleValue extends
-     StandaloneEventProcessingDeclarer<DummyParameters> implements ResolvesContainerProvidedOptions { ... }
-```
-
-Next, define the parameter in the ``declareModel`` method:
-
-```java
-// create a single value selection parameter that is resolved at runtime
-    .requiredSingleValueSelectionFromContainer(Labels.from("id", "Example Name", "Example " +
-            "Description"))
-```
-
-Finally, implement the method ``resolveOptions``, which will be called at runtime once the processor is used:
-
-```java
-  @Override
-  public List<RuntimeOptions> resolveOptions(String requestId, EventProperty linkedEventProperty) {
-    return Arrays.asList(new RuntimeOptions("I was defined at runtime", ""));
-  }
-```
-
-The UI will render a single-value parameter based on the options provided at runtime:
-
-<img src="/img/dev-guide-static-properties/sp-single-selection-remote.png" width="80%" alt="Number Parameter"/>
-
-The parameter extraction does not differ from the extraction of static single-value parameters.
-
-<div class="admonition info">
-<div class="admonition-title">Multi-value selections</div>
-<p>Although this example shows the usage of runtime-resolvable selections using single value selections, the same also works for multi-value selections!</p>
-</div>
-
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/dev-guide-stream-requirements.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/dev-guide-stream-requirements.md
deleted file mode 100644
index 70c5551..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/dev-guide-stream-requirements.md
+++ /dev/null
@@ -1,179 +0,0 @@
----
-id: dev-guide-stream-requirements
-title: "SDK Guide: Stream Requirements"
-sidebar_label: Stream Requirements
-original_id: dev-guide-stream-requirements
----
-
-## Introduction
-
-Data processors and data sinks can define ``StreamRequirements``. Stream requirements allow pipeline elements to express requirements on an incoming event stream that are needed for the element to work properly.
-Once users create pipelines in the StreamPipes Pipeline Editor, these requirements are verified against the connected event stream.
-By using this feature, StreamPipes ensures that only pipeline elements can be connected that are syntactically and semantically valid.
-
-This guide covers the creation of stream requirements. Before reading this section, we recommend that you make yourself familiar with the SDK guide on [data processors](dev-guide-processor-sdk.md) and [data sinks](dev-guide-sink-sdk.md).
-
-<div class="admonition tip">
-<div class="admonition-title">Code on Github</div>
-<p>For all examples, the code can be found on <a href="https://www.github.com/apache/incubator-streampipes-examples/tree/dev/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/streampipes/pe/examples/jvm/requirements/">Github</a>.</p>
-</div>
-
-## The StreamRequirementsBuilder
-
-Stream requirements can be defined in the ``Controller`` class of the pipeline element. Start with a method body like this:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create(ID, PIPELINE_ELEMENT_NAME, DESCRIPTION)
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-
-                    .build())
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-The ``StreamRequirementsBuilder`` class provides methods to add stream requirements to a pipeline element.
-
-## Requirements on primitive fields
-
-As a very first example, let's assume we would like to create a data processor that filters numerical values that are above a given threshold.
-Consequently, any data stream that is connected to the filter processor needs to provide a numerical value.
-
-The stream requirement would be assigned as follows:
-
-```java
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create(ID, PIPELINE_ELEMENT_NAME, DESCRIPTION)
-            .requiredStream(StreamRequirementsBuilder
-                    .create()
-                    .requiredProperty(EpRequirements.numberReq())
-                    .build())
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-Note the line starting with ``requiredProperty``, which requires any stream to provide a datatype of type ``number``.
-
-In many cases, you'll want to let the user select a specific field from a data stream from all available fields that match the specified requirement. For that, you simply use the method ``requiredPropertyWithUnaryMapping`` as follows:
-
-```java
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create(ID, PIPELINE_ELEMENT_NAME, DESCRIPTION)
-            .requiredStream(StreamRequirementsBuilder
-                    .create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.numberReq(),
-                    Labels.from("number-mapping", "The value that should be filtered", ""), PropertyScope.NONE)
-                    .build())
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-See also the developer guide on [static properties](dev-guide-static-properties.md) to better understand the usage of ``MappingProperties``.
-
-Requirements on primitive fields can be specified for all common datatypes:
-
-```java
- @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.requirements" +
-            ".simple", "Simple requirements specification examples", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.numberReq()) // any number
-                    .requiredProperty(EpRequirements.doubleReq()) // any field of type double
-                    .requiredProperty(EpRequirements.booleanReq()) // any field of type boolean
-                    .requiredProperty(EpRequirements.integerReq()) // any field of type integer
-                    .requiredProperty(EpRequirements.stringReq()) // any field of type string
-
-                    .requiredProperty(EpRequirements.anyProperty()) // any field allowed (no restriction)
-                    .requiredProperty(EpRequirements.timestampReq())  // any timestamp field
-                    .build())
-
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-```
-
-### Specifying semantics
-
-For some algorithms, only specifying the datatype is not sufficient. Let's consider a geofencing algorithm that detects the precense some geospatial coordinate (e.g., from a vehicle) within a given location.
-
-You could specify something like this:
-
-```java
-    StreamRequirementsBuilder
-    .create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.doubleEp(), Labels.from("mapping-latitude", "Latitude", ""), PropertyScope.NONE)
-    .requiredPropertyWithUnaryMapping(EpRequirements.doubleEp(), Labels.from("mapping-longitude", "Longitude", ""), PropertyScope.NONE)
-    .build()
-```
-
-However, this would allow users to create strange pipelines as users could connect any stream containing a double value to our geofencing algorithm.
-To avoid such situations, you can also specify requirements based on the semantics of a field:
-
-```java
-    StreamRequirementsBuilder
-    .create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(SO.Latitude), Labels.from("mapping-latitude", "Latitude", ""), PropertyScope.NONE)
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(SO.Longitude), Labels.from("mapping-longitude", "Longitude", ""), PropertyScope.NONE)
-    .build()
-```
-
-Note that in this case, we make use of Schema.org's ``Latitude`` concept ([https://schema.org/latitude](https://schema.org/latitude)). StreamPipes already includes popular vocabularies for specifying semantics. You are also free to use your own vocabularies.
-
-
-## Requirements on lists
-
-Similarly to primitive requirements, you can define processors that require data streams with list fields, see the following examples:
-
-```java
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.requirements" +
-            ".list", "List requirements specification examples", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.Integer))
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.Double))
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.Boolean))
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.String))
-                    .build())
-
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-## Requirements on nested properties
-
-(coming soon, see the Javadoc for now)
-
-
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/dev-guide-tutorial-processors.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/dev-guide-tutorial-processors.md
deleted file mode 100644
index fa009ca..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/dev-guide-tutorial-processors.md
+++ /dev/null
@@ -1,500 +0,0 @@
----
-id: dev-guide-tutorial-processors
-title: "Tutorial: Data Processors"
-sidebar_label: "Tutorial: Data Processors"
-original_id: dev-guide-tutorial-processors
----
-
-In this tutorial, we will add a new data processor using the Apache Flink wrapper.
-
-From an architectural point of view, we will create a self-contained service that includes the description of the data processor and a Flink-compatible implementation.
-Once a pipeline is started that uses this data processor, the implementation is submitted to an Apache Flink cluster.
-
-## Objective
-
-We are going to create a new data processor that realized a simple geofencing algorithm - we detect vehicles that enter a specified radius around a user-defined location.
-This pipeline element will be a generic element that works with any event stream that provides geospatial coordinates in form of a latitude/longitude pair.
-
-The algorithm outputs every location event once the position has entered the geofence.
-
-
-<div class="admonition note">
-<div class="admonition-title">Note</div>
-<p>The implementation in this tutorial is pretty simple - our processor will fire an event every time the GPS location is inside the geofence.
-       In a real-world application, you would probably want to define a pattern that recognizes the _first_ event a vehicle enters the geofence.<br/>
-       This can be easily done using a CEP library, e.g., Apache Flink CEP.</p>
-</div>
-
-
-## Project setup
-
-To create new projects from scratch, several Maven archetypes exist to start developing.
-Enter the following command to create a new project based on the StreamPipes ``Processors-Flink`` archetype:
-
-```
-mvn archetype:generate -DarchetypeGroupId=org.streampipes \
--DarchetypeArtifactId=streampipes-archetype-pe-processors-flink -DarchetypeVersion=0.64.0 \
--DgroupId=org.streampipes.tutorial -DartifactId=geofence-tutorial -DclassNamePrefix=Geofencing -DpackageName=geofencing
-```
-
-Once you've imported the generated project, the project structure should look as follows:
-
-<img src="/img/tutorial-processors/project-structure-processor.PNG" alt="Project Structure Data Processor"/>
-
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Besides the basic project skeleton, the sample project also includes an example Dockerfile you can use to package your application into a Docker container.</p>
-</div>
-
-Now you're ready to create your first data processor for StreamPipes!
-
-## Adding data processor requirements
-
-First, we will add a new stream requirement.
-Open the class `GeofencingController` which should look as follows:
-
-```java
-package org.streampipes.tutorial.pe.processor.geofencing;
-
-import org.streampipes.tutorial.config.Config;
-
-import org.streampipes.model.DataProcessorType;
-import org.streampipes.model.graph.DataProcessorDescription;
-import org.streampipes.model.graph.DataProcessorInvocation;
-import org.streampipes.sdk.builder.ProcessingElementBuilder;
-import org.streampipes.sdk.builder.StreamRequirementsBuilder;
-import org.streampipes.sdk.extractor.ProcessingElementParameterExtractor;
-import org.streampipes.sdk.helpers.EpRequirements;
-import org.streampipes.sdk.helpers.Labels;
-import org.streampipes.sdk.helpers.OutputStrategies;
-import org.streampipes.sdk.helpers.SupportedFormats;
-import org.streampipes.sdk.helpers.SupportedProtocols;
-import org.streampipes.wrapper.flink.FlinkDataProcessorDeclarer;
-import org.streampipes.wrapper.flink.FlinkDataProcessorRuntime;
-
-public class GeofencingController extends
-				FlinkDataProcessorDeclarer<GeofencingParameters> {
-
-	private static final String EXAMPLE_KEY = "example-key";
-
-	@Override
-	public DataProcessorDescription declareModel() {
-		return ProcessingElementBuilder.create("org.streampipes.tutorial-geofencing")
-						.category(DataProcessorType.ENRICH)
-                        .withAssets(Assets.DOCUMENTATION, Assets.ICON)
-						.withLocales(Locales.EN)
-						.requiredStream(StreamRequirementsBuilder
-							.create()
-							.requiredProperty(EpRequirements.anyProperty())
-							.build())
-						.outputStrategy(OutputStrategies.keep())
-						.requiredTextParameter(Labels.from(EXAMPLE_KEY, "Example Text Parameter", "Example " +
-				"Text Parameter Description"))
-						.build();
-	}
-
-	@Override
-	public FlinkDataProcessorRuntime<GeofencingParameters> getRuntime(DataProcessorInvocation
-				graph, ProcessingElementParameterExtractor extractor) {
-
-		String exampleString = extractor.singleValueParameter(EXAMPLE_KEY, String.class);
-
-		GeofencingParameters params = new GeofencingParameters(graph, exampleString);
-
-		return new GeofencingProgram(params, Config.INSTANCE.getDebug());
-	}
-
-}
-
-```
-
-In this class, we need to implement two methods: The `declareModel` method is used to define abstract stream requirements such as event properties that must be present in any input stream that is later connected to the element using the StreamPipes UI.
-The second method, `getRuntime` is used to create and deploy the parameterized Flink program once a pipeline using this element is started.
-
-Similar to data sources, the SDK provides a builder class to generate the description for data processors.
-Delete the content within the ``declareModel`` method and add the following lines to the `declareModel` method:
-
-```java
-return ProcessingElementBuilder.create("org.streampipes.tutorial.geofencing", "Geofencing", "A simple geofencing data processor " +
-            "using the Apache Flink wrapper")
-```
-
-This creates a new data processor with the ID, title and description assigned to the element builder.
-Next, we add some _stream requirements_ to the description. As we'd like to develop a generic pipeline element that works with any event that provides a lat/lng pair, we define two stream requirements as stated below:
-
-```java
-.requiredStream(StreamRequirementsBuilder
-    .create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lat),
-            Labels.from("latitude-field", "Latitude", "The event " +
-            "property containing the latitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lng),
-            Labels.from("longitude-field", "Longitude", "The event " +
-                    "property containing the longitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-    .build())
-```
-
-The first line, `.requiredStream()` defines that we want a data processor with exactly one input stream. Adding more stream requirements would create elements with multiple input connectors in StreamPipes.
-Stream requirements can be assigned by using the `StreamRequirementsBuilder` class.
-In our example, we define two requirements, so-called _domain property requirements_. In contrast to _data type requirements_ where we'd expect an event property with a field of a specific data type (e.g., float), domain property requirements expect a specific domain property, e.g., from a vocabulary such as the WGS84 Geo vocab.
-
-Once a pipeline is deployed, we are interested in the actual field (and its field name) that contains the latitude and longitude values.
-In some cases, there might me more than one field that satisfies a property requirement and we would like users to select the property the geofencing component should operate on.
-Therefore, our example uses the method `requiredPropertyWithUnaryMapping`, which will map a requirement to a real event property of an input stream and  let the user choose the appropriate field in the StreamPipes UI when pipelines are defined.
-
-Finally, the `PropertyScope` indicates that the required property is a measurement value (in contrast to a dimension value). This allows us later to provide improved user guidance in the pipeline editor.
-
-Besides requirements, users should be able to define the center coordinate of the Geofence and the size of the fence defined as a radius around the center in meters.
-The radius can be defined by adding a simple required text field to the description:
-
-```java
-.requiredIntegerParameter("radius", "Geofence Size", "The size of the circular geofence in meters.", 0, 1000, 1)
-```
-
-Similar to mapping properties, text parameters have an internalId (radius), a label and a description.
-In addition, we can assign a _value specification_ to the parameter indicating the value range we support.
-Our example supports a radius value between 0 and 1000 with a granularity of 1.
-In the StreamPipes UI, a required text parameter is rendered as a text input field, in case we provide an optional value specification, a slider input is automatically generated.
-
-Such user-defined parameters are called _static properties_. There are many different types of static properties (see the [Processor SDK](dev-guide-sdk-guide-processors#docsNav) for an overview).
-
-One example are _DomainProperties_ we use for defining the center of the geofence.
-Our data processor requires a lat/lng pair that marks the center of the geofence.
-However, letting users directly input latitude and longitude coordinates wouldn't be very user-friendly.
-Therefore, we can link required text parameters to _ontology concepts_. By understanding the required input, the StreamPipes UI is able to determine which user interface works best for a specific concept.
-
-Add the following line to the `declareModel` method:
-
-```java
-.requiredOntologyConcept(Labels.from("location", "Geofence Center", "Provide the coordinate of the " +
-    "geofence center"), OntologyProperties.mandatory(Geo.lat), OntologyProperties.mandatory(Geo.lng))
-
-```
-
-We've now defined that we would like to receive an instance that provides a latitude and a longitude coordinate.
-Users can input these values either manually, or they can look up _domain knowledge_, i.e., knowledge stored isolated from the stream definition.
-
-Finally, we need to define technical requirements of the data processor, called _groundings_.
-StreamPipes supports various runtime data formats (e.g., JSON or Thrift) and various protocols (e.g., Kafka or JMS).
-Each component defines supports formats and protocol separately.
-For our example, we'd like to support JSON-based messages and Kafka as input and output broker protocol, so append the following:
-
-```java
-.supportedProtocols(SupportedProtocols.kafka())
-.supportedFormats(SupportedFormats.jsonFormat())
-.build();
-```
-
-Now we need to define the output of our Geofencing pipeline element.
-As explained in the first section, the element should fire every time some geo-located entity arrives within the defined geofence.
-Therefore, the processor outputs the same schema as it receives as an input.
-Although we don't know the exact input right now as it depends on the stream users connect in StreamPipes when creating pipelines, we can define an _output strategy_ as follows:
-
-```java
-.outputStrategy(OutputStrategies.keep())
-```
-
-This defines a _KeepOutputStrategy_, i.e., the input event schema is not modified by the processor.
-There are many more output strategies you can define depending on the functionality you desire, e.g., _AppendOutput_ for defining a processor that enriches events or _CustomOutput_ in case you would like users to select the output by themselves.
-
-That's it! We've now defined input requirements, required user input, technical requirements concerned with data format and protocol and an output strategy.
-In the next section, you will learn how to extract these parameters once the pipeline element is invoked after a pipeline was created.
-
-## Pipeline element invocation
-
-Once users start a pipeline that uses our geofencing component, the _getRuntime_ method in our class is called. The class `DataSinkInovcation` includes a graph that contains information on the configuration parameters a users has selected in the pipeline editor and information on the acutal streams that are connected to the pipeline element.
-
-Before we explain in more detail how to extract these values from the processor invocation, we need to adapt a little helper class.
-Open the file ```GeofencingParameters``` and modify it as follows:
-
-```java
-public class GeofencingParameters extends EventProcessorBindingParams {
-
-  private String latitudeFieldName;
-  private String longitudeFieldName;
-
-  private Float centerLatitude;
-  private Float centerLongitude;
-
-  private Integer radius;
-
-  public GeofencingParameters(DataProcessorInvocation graph, String latitudeFieldName, String longitudeFieldName,
-                              Float centerLatitude, Float centerLongitude, Integer radius) {
-    super(graph);
-    this.latitudeFieldName = latitudeFieldName;
-    this.longitudeFieldName = longitudeFieldName;
-    this.centerLatitude = centerLatitude;
-    this.centerLongitude = centerLongitude;
-    this.radius = radius;
-  }
-
-  public String getLatitudeFieldName() {
-    return latitudeFieldName;
-  }
-
-  public String getLongitudeFieldName() {
-    return longitudeFieldName;
-  }
-
-  public Float getCenterLatitude() {
-    return centerLatitude;
-  }
-
-  public Float getCenterLongitude() {
-    return centerLongitude;
-  }
-
-  public Integer getRadius() {
-    return radius;
-  }
-```
-
-This simple Pojo class will later serve to store user-defined parameters in a single object.
-
-Now we go back to the controller class and extract these values from the invocation object.
-
-The ``ProcessingElementParameterExtractor``  provides convenience methods to extract the relevant information from the `DataProcessorInvocation` object.
-
-Next, we are interested in the fields of the input event stream that contains the latitude and longitude value we would like to compute against the geofence center location as follows:
-
-```java
-String latitudeFieldName = extractor.mappingPropertyValue("latitude-field");
-String longitudeFieldName = extractor.mappingPropertyValue("longitude-field");
-```
-
-We use the same `internalId` we've used to define the mapping property requirements in the `declareModel` method.
-
-Next, for extracting the geofence center coordinates, we use the following statements:
-
-```java
-Float centerLatitude = extractor.supportedOntologyPropertyValue("location", Geo.lat, Float.class);
-Float centerLongitude = extractor.supportedOntologyPropertyValue("location", Geo.lng, Float.class);
-```
-
-The radius value can be extracted as follows:
-
-```java
-Integer radius = extractor.singleValueParameter("radius", Integer.class);
-```
-
-Now we can create a new instance of our previously created parameter class:
-
-```java
-GeofencingParameters params = new GeofencingParameters(dataProcessorInvocation, latitudeFieldName,
-            longitudeFieldName, centerLatitude, centerLongitude, radius);
-```
-
-Finally, return an instance of the class ```GeofencingProgram```:
-
-```java
-return new GeofencingProgram(params, true);
-```
-
-<div class="admonition tip">
-<div class="admonition-title">Info</div>
-<p>The line above uses the Flink MiniCluster to start the Flink program for debugging purposes.
-       Before you build the project and use it in a real environment, replace the line as follows, which triggers cluster execution:
-       <code>return new GeofencingProgram(params, new FlinkDeploymentConfig(Config.JAR_FILE, Config.INSTANCE.getFlinkHost(), Config.INSTANCE.getFlinkPort())</code></p>
-</div>
-
-
-Great! That's all we need to describe a data processor for usage in StreamPipes. Your controller class should look as follows:
-
-```java
-import org.streampipes.model.graph.DataProcessorDescription;
-import org.streampipes.model.graph.DataProcessorInvocation;
-import org.streampipes.model.schema.PropertyScope;
-import org.streampipes.sdk.builder.ProcessingElementBuilder;
-import org.streampipes.sdk.builder.StreamRequirementsBuilder;
-import org.streampipes.sdk.extractor.ProcessingElementParameterExtractor;
-import org.streampipes.sdk.helpers.EpRequirements;
-import org.streampipes.sdk.helpers.Labels;
-import org.streampipes.sdk.helpers.OntologyProperties;
-import org.streampipes.sdk.helpers.OutputStrategies;
-import org.streampipes.sdk.helpers.SupportedFormats;
-import org.streampipes.sdk.helpers.SupportedProtocols;
-import org.streampipes.vocabulary.Geo;
-import org.streampipes.wrapper.flink.FlinkDataProcessorDeclarer;
-import org.streampipes.wrapper.flink.FlinkDataProcessorRuntime;
-
-public class GeofencingController extends FlinkDataProcessorDeclarer<GeofencingParameters> {
-
-  @Override
-  protected FlinkDataProcessorRuntime<GeofencingParameters> getRuntime(DataProcessorInvocation dataProcessorInvocation) {
-    ProcessingElementParameterExtractor extractor = ProcessingElementParameterExtractor.from(dataProcessorInvocation);
-
-    String latitudeFieldName = extractor.mappingPropertyValue("latitude-field");
-    String longitudeFieldName = extractor.mappingPropertyValue("longitude-field");
-
-    Float centerLatitude = extractor.supportedOntologyPropertyValue("location", Geo.lat, Float.class);
-    Float centerLongitude = extractor.supportedOntologyPropertyValue("location", Geo.lng, Float.class);
-
-    Integer radius = extractor.singleValueParameter("radius", Integer.class);
-
-    GeofencingParameters params = new GeofencingParameters(dataProcessorInvocation, latitudeFieldName,
-            longitudeFieldName, centerLatitude, centerLongitude, radius);
-
-    return new GeofencingProgram(params);
-  }
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("geofencing-flink", "Geofencing", "A simple geofencing data processor " +
-            "using the Apache Flink wrapper")
-            .requiredStream(StreamRequirementsBuilder
-                    .create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lat),
-                            Labels.from("latitude-field", "Latitude", "The event " +
-                            "property containing the latitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-                    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lng),
-                            Labels.from("longitude-field", "Longitude", "The event " +
-                                    "property containing the longitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-                    .build())
-            .requiredIntegerParameter("radius", "Geofence Size", "The size of the circular geofence in meters.",
-                    0, 1000, 1)
-            .requiredOntologyConcept(Labels.from("location", "Geofence Center", "Provide the coordinate of the " +
-                    "geofence center"), OntologyProperties.mandatory(Geo.lat), OntologyProperties.mandatory(Geo.lng))
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-            .build();
-  }
-}
-
-```
-
-## Adding an implementation
-
-Everything we need to do now is to add an implementation which does not differ from writing an Apache Flink topology.
-
-Open the class `GeofencingProcessor.java` and add the following piece of code, which realizes the Geofencing functionality:
-
-```java
-public class GeofencingProcessor implements FlatMapFunction<Map<String, Object>, Map<String, Object>> {
-
-  private String latitudeFieldName;
-  private String longitudeFieldName;
-
-  private Float centerLatitude;
-  private Float centerLongitude;
-
-  private Integer radius;
-
-  public GeofencingProcessor(String latitudeFieldName, String longitudeFieldName, Float centerLatitude, Float centerLongitude, Integer radius) {
-    this.latitudeFieldName = latitudeFieldName;
-    this.longitudeFieldName = longitudeFieldName;
-    this.centerLatitude = centerLatitude;
-    this.centerLongitude = centerLongitude;
-    this.radius = radius;
-  }
-
-  @Override
-  public void flatMap(Event in, Collector<Event> out) throws Exception {
-    Float latitude = in.getFieldBySelector(latitudeFieldName).getAsPrimitive().getAsFloat();
-    Float longitude = in.getFieldBySelector(longitudeFieldName).getAsPrimitive().getAsFloat();
-
-    Float distance = distFrom(latitude, longitude, centerLatitude, centerLongitude);
-
-    if (distance <= radius) {
-      out.collect(in);
-    }
-  }
-
-  public static Float distFrom(float lat1, float lng1, float lat2, float lng2) {
-    double earthRadius = 6371000;
-    double dLat = Math.toRadians(lat2-lat1);
-    double dLng = Math.toRadians(lng2-lng1);
-    double a = Math.sin(dLat/2) * Math.sin(dLat/2) +
-            Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) *
-                    Math.sin(dLng/2) * Math.sin(dLng/2);
-    double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
-    return (float) (earthRadius * c);
-  }
-
-}
-```
-
-We won't go into details here as this isn't StreamPipes-related code, but in general the class extracts latitude and longitude fields from the input event (which is provided as a map data type) and calculates the distance between the geofence center and these coordinates.
-If the distance is below the given radius, the event is forwarded to the next operator.
-
-Finally, we need to connect this program to the Flink topology. StreamPipes automatically adds things like the Kafka consumer and producer, so that you only need to invoke the actual geofencing processor.
-Open the file `GeofencingProgram` and append the following line inside the `getApplicationLogic()` method:
-
-```java
-return dataStreams[0].flatMap(new GeofencingProcessor(params.getLatitudeFieldName(), params.getLongitudeFieldName(),
-    params.getCenterLatitude(), params.getCenterLongitude(), params.getRadius()));
-```
-
-## Preparing the container
-The final step is to define the deployment type of our new data source. In this tutorial, we will create a so-called `StandaloneModelSubmitter`.
-This client will start an embedded web server that provides the description of our data source and automatically submits the program to the registered Apache Flink cluster.
-
-Go to the class `Init` that extends `StandaloneModelSubmitter` and should look as follows:
-```java
-package org.streampipes.tutorial.main;
-
-import org.streampipes.container.init.DeclarersSingleton;
-import org.streampipes.container.standalone.init.StandaloneModelSubmitter;
-
-import org.streampipes.tutorial.config.Config;
-import org.streampipes.tutorial.pe.processor.geofencing.GeofencingController;
-
-public class Init extends StandaloneModelSubmitter {
-
-  public static void main(String[] args) throws Exception {
-    DeclarersSingleton.getInstance()
-            .add(new GeofencingController());
-
-    new Init().init(Config.INSTANCE);
-
-  }
-}
-```
-
-<div class="admonition info">
-<div class="admonition-title">Info</div>
-<p>In the example above, we make use of a class `Config`.
-       This class contains both mandatory and additional configuration parameters required by a pipeline element container.
-       These values are stored in the Consul-based key-value store of your StreamPipes installation.
-       The SDK guide contains a detailed manual on managing container configurations.
-</p>
-</div>
-
-## Starting the container
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>By default, the container registers itself using the hostname later used by the Docker container, leading to a 404 error when you try to access an RDF description.
-       For local development, we provide an environment file in the ``development`` folder. You can add your hostname here, which will override settings from the Config class.
-       For instance, use the IntelliJ ``EnvFile`` plugin to automatically provide the environment variables upon start.
-</p>
-</div>
-
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p> The default port of all pipeline element containers as defined in the `Config` file is port 8090.
-       If you'd like to run mutliple containers at the same time on your development machine, change the port in the environment file.
-</p>
-</div>
-
-Now we are ready to start our container!
-
-Execute the main method in the class `Main` we've just created, open a web browser and navigate to http://localhost:8090 (or the port you have assigned in the environment file).
-
-You should see something as follows:
-
-<img src="/img/tutorial-processors/pe-overview-flink.PNG" alt="Pipeline Element Container Overview (Flink)"/>
-
-Click on the link of the data source to see the RDF description of the pipeline element.
-
-<img src="/img/tutorial-processors/pe-rdf-geofencing.PNG" alt="Geofencing RDF description"/>
-
-The container automatically registers itself in the Consul installation of StreamPipes.
-To install the just created element, open the StreamPipes UI and follow the manual provided in the [user guide](user-guide-installation).
-
-## Read more
-
-Congratulations! You've just created your first data processor for StreamPipes.
-There are many more things to explore and data processors can be defined in much more detail using multiple wrappers.
-Follow our [SDK guide](dev-guide-sdk-guide-processors) to see what's possible!
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/dev-guide-tutorial-sinks.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/dev-guide-tutorial-sinks.md
deleted file mode 100644
index ee8d19a..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/dev-guide-tutorial-sinks.md
+++ /dev/null
@@ -1,247 +0,0 @@
----
-id: dev-guide-tutorial-sinks
-title: "Tutorial: Data Sinks"
-sidebar_label: "Tutorial: Data Sinks"
-original_id: dev-guide-tutorial-sinks
----
-
-In this tutorial, we will add a new data sink using the standalone wrapper.
-
-From an architectural point of view, we will create a self-contained service that includes the description of the data sink and a corresponding implementation.
-
-## Objective
-
-We are going to create a new data sink that calls an external HTTP endpoint to forward data to an external service.
-
-For each incoming event, an external service is invoked using an HTTP POST request. In this example, we'll call an endpoint provided by [RequestBin](https://requestbin.com/).
-To setup your own endpoint, go to [https://requestbin.com/](https://requestbin.com/) and click "Create a request bin". Copy the URL of the newly created endpoint.
-
-
-## Project setup
-
-We'll create a new project using the provided sinks-standalone-jvm Maven archetype.
-Enter the following command to create a new project based on the StreamPipes ``Sinks-JVM`` archetype:
-
-```
-mvn archetype:generate -DarchetypeGroupId=org.streampipes \
--DarchetypeArtifactId=streampipes-archetype-pe-sinks-jvm -DarchetypeVersion=0.64.0 \
--DgroupId=org.streampipes.tutorial -DartifactId=sink-tutorial -DclassNamePrefix=Rest -DpackageName=geofencing
-```
-
-Once you've imported the generated project, the project structure should look as follows:
-
-<img src="/img/tutorial-sinks/project-structure-sinks.png" alt="Project Structure Data Sink"/>
-
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Besides the basic project skeleton, the sample project also includes an example Dockerfile you can use to package your application into a Docker container.</p>
-</div>
-
-Now you're ready to create your first data sink for StreamPipes!
-
-## Adding data sink requirements
-
-First, we will add a new stream requirement.
-Open the class `RestController` which should look as follows:
-
-```java
-package org.streampipes.tutorial.pe.sink.rest;
-
-import org.streampipes.model.DataSinkType;
-import org.streampipes.model.graph.DataSinkDescription;
-import org.streampipes.model.graph.DataSinkInvocation;
-import org.streampipes.sdk.builder.DataSinkBuilder;
-import org.streampipes.sdk.builder.StreamRequirementsBuilder;
-import org.streampipes.sdk.extractor.DataSinkParameterExtractor;
-import org.streampipes.sdk.helpers.EpRequirements;
-import org.streampipes.sdk.helpers.Labels;
-import org.streampipes.sdk.helpers.SupportedFormats;
-import org.streampipes.sdk.helpers.SupportedProtocols;
-import org.streampipes.wrapper.standalone.ConfiguredEventSink;
-import org.streampipes.wrapper.standalone.declarer.StandaloneEventSinkDeclarer;
-import org.streampipes.sdk.helpers.*;
-import org.streampipes.sdk.utils.Assets;
-
-public class RestController extends StandaloneEventSinkDeclarer<RestParameters> {
-
-	private static final String EXAMPLE_KEY = "example-key";
-
-	@Override
-	public DataSinkDescription declareModel() {
-		return DataSinkBuilder.create("org.streampipes.tutorial.pe.sink.rest")
-						.category(DataSinkType.NOTIFICATION)
-						.withAssets(Assets.DOCUMENTATION, Assets.ICON)
-						.withLocales(Locales.EN)
-						.requiredStream(StreamRequirementsBuilder
-                                            .create()
-                                            .requiredPropertyWithNaryMapping(EpRequirements.anyProperty(), Labels.withId(
-                                                    "fields-to-send"), PropertyScope.NONE)
-                                            .build())
-						.build();
-	}
-
-	@Override
-	public ConfiguredEventSink<RestParameters> onInvocation(DataSinkInvocation graph, DataSinkParameterExtractor extractor) {
-
-		 List<String> fieldsToSend = extractor.mappingPropertyValues("fields-to-send");
-        
-         RestParameters params = new RestParameters(graph, fieldsToSend);
-
-		return new ConfiguredEventSink<>(params, Rest::new);
-	}
-
-}
-
-```
-
-In this class, we need to implement two methods: The `declareModel` method is used to define abstract stream requirements such as event properties that must be present in any input stream that is later connected to the element using the StreamPipes UI.
-The second method, `onInvocation` is used to create and deploy program once a pipeline using this sink is started.
-
-The ``declareModel`` method describes the properties of our data sink:
-* ``category`` defines a category for this sink.
-* ``withAssets`` denotes that we will provide an external documentation file and an icon, which can be found in the ``resources`` folder
-* ``withLocales`` defines that we will provide an external language file, also available in the ``resources`` folder
-* ``requiredStream`` defines requirements any input stream connected to this sink must provide. In this case, we do not have any specific requirements, we just forward all incoming events to the REST sink. However, we want to let the user display a list of available fields from the connected input event, where users can select a subset. This is defined by defining a Mapping from the empty requirement. This will later on render a selection dialog in the pipeline editor.
-
-The ``onInvocation`` method is called when a pipeline containing the sink is started. Once a pipeline is started, we would like to extract user-defined parameters.
-In this example, we simply extract the fields selected by users that should be forwarded to the REST sink. Finally, we return a new configured event sink containing the parameters.
-
-## Pipeline element invocation
-
-Once users start a pipeline that uses our geofencing component, the _getRuntime_ method in our class is called. The class `DataSinkInovcation` includes a graph that contains information on the configuration parameters a users has selected in the pipeline editor and information on the acutal streams that are connected to the pipeline element.
-
-Before we explain in more detail how to extract these values from the processor invocation, we need to adapt a little helper class.
-Open the file ```RestParameters``` and modify it as follows:
-
-```java
-public class RestParameters extends EventSinkBindingParams {
-
-  private List<String> fieldsToSend;
-
-  public RestParameters(DataSinkInvocation graph, List<String> fieldsToSend) {
-    super(graph);
-    this.fieldsToSend = fieldsToSend;
-  }
-
-  public List<String> getFieldsToSend() {
-    return fieldsToSend;
-  }
-}
-```
-
-This file will later provide information on the configured pipeline element.
-
-## Adding an implementation
-
-Now open the class ``Rest`` to add the proper implementation (i.e., the Rest call executed for every incoming event).
-
-Our final class should look as follows:
-
-```java
-private static Logger LOG = LoggerFactory.getLogger(Rest.class.getCanonicalName());
-
-  private static final String REST_ENDPOINT_URI = YOUR_REQUEST_BIN_URL;
-  private List<String> fieldsToSend;
-  private SpDataFormatDefinition dataFormatDefinition;
-
-  public Rest() {
-    this.dataFormatDefinition = new JsonDataFormatDefinition();
-  }
-
-  @Override
-  public void onInvocation(RestParameters parameters, EventSinkRuntimeContext runtimeContext) {
-    this.fieldsToSend = parameters.getFieldsToSend();
-  }
-
-  @Override
-  public void onEvent(Event event) {
-    Map<String, Object> outEventMap = event.getSubset(fieldsToSend).getRaw();
-    try {
-      String json = new String(dataFormatDefinition.fromMap(outEventMap));
-      Request.Post(REST_ENDPOINT_URI).body(new StringEntity(json, Charsets.UTF_8)).execute();
-    } catch (SpRuntimeException e) {
-      LOG.error("Could not parse incoming event");
-    } catch (IOException e) {
-      LOG.error("Could not reach endpoint at {}", REST_ENDPOINT_URI);
-    }
-  }
-
-  @Override
-  public void onDetach() {
-
-  }
-```
-The only class variable you need to change right now is the REST_ENDPOINT_URL. Change this url to the URL provided by your request bin.
-We'll ignore the other class variables and the constructor for now. Important are three methods, ``onInvocation``, ``onEvent`` and ``onDetach``.
-
-The ``onInvocation`` method is called once a pipeline containing our REST data sink is started. The ``onEvent`` method is called for each incoming event. Finally, ``onDetach`` is called when a pipeline is stopped.
-
-In the ``onInvocation`` method, we can extract the selected fields to be forwarded to the REST endpoint.
-In the ``ònEvent`` method, we use a helper method to get a subset of the incoming event.
-Finally, we convert the resulting ``Map`` to a JSON string and call the endpoint.
-
-
-## Preparing the container
-The final step is to define the deployment type of our new data source. In this tutorial, we will create a so-called `StandaloneModelSubmitter`.
-This client will start an embedded web server that provides the description of our data source and automatically starts the program in an embedded container.
-
-Go to the class `Init` that extends `StandaloneModelSubmitter` and should look as follows:
-```java
-
-public static void main(String[] args) throws Exception {
-    DeclarersSingleton.getInstance()
-            .add(new RestController());
-
-    DeclarersSingleton.getInstance().setPort(Config.INSTANCE.getPort());
-    DeclarersSingleton.getInstance().setHostName(Config.INSTANCE.getHost());
-
-    DeclarersSingleton.getInstance().registerDataFormats(new JsonDataFormatFactory(),
-            new CborDataFormatFactory(),
-            new SmileDataFormatFactory(),
-            new FstDataFormatFactory());
-
-    DeclarersSingleton.getInstance().registerProtocols(new SpKafkaProtocolFactory(),
-            new SpJmsProtocolFactory());
-
-    new Init().init(Config.INSTANCE);
-```
-
-<div class="admonition info">
-<div class="admonition-title">Info</div>
-<p>In the example above, we make use of a class `Config`.
-       This class contains both mandatory and additional configuration parameters required by a pipeline element container.
-       These values are stored in the Consul-based key-value store of your StreamPipes installation.
-       The SDK guide contains a detailed manual on managing container configurations.
-</p>
-</div>
-
-## Starting the container
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>By default, the container registers itself using the hostname later used by the Docker container, leading to a 404 error when you try to access an RDF description.
-       For local development, we provide an environment file in the ``development`` folder. You can add your hostname here, which will override settings from the Config class.
-       For instance, use the IntelliJ ``EnvFile`` plugin to automatically provide the environment variables upon start.
-</p>
-</div>
-
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p> The default port of all pipeline element containers as defined in the `Config` file is port 8090.
-       If you'd like to run mutliple containers at the same time on your development machine, change the port in the environment file.
-</p>
-</div>
-
-Now we are ready to start our container!
-
-Execute the main method in the class `Main` we've just created.
-
-The container automatically registers itself in the Consul installation of StreamPipes.
-To install the just created element, open the StreamPipes UI and follow the manual provided in the [user guide](user-guide-installation).
-
-## Read more
-
-Congratulations! You've just created your first data sink for StreamPipes.
-There are many more things to explore and data sinks can be defined in much more detail using multiple wrappers.
-Follow our [SDK guide](dev-guide-sdk-guide-sinks) to see what's possible!
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/dev-guide-tutorial-sources.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/dev-guide-tutorial-sources.md
deleted file mode 100644
index 07816d2..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/dev-guide-tutorial-sources.md
+++ /dev/null
@@ -1,283 +0,0 @@
----
-id: dev-guide-tutorial-sources
-title: "Tutorial: Data Sources"
-sidebar_label: "Tutorial: Data Sources"
-original_id: dev-guide-tutorial-sources
----
-
-In this tutorial, we will add a new data source consisting of a single data stream. The source will be provided as a standalone component (i.e., the description will be accessible through an integrated web server).
-
-## Objective
-
-We are going to create a new data stream that is produced by a GPS sensor installed in a delivery vehicle.
-The sensor produces a continuous stream of events that contain the current timestamp, the current lat/lng position of the vehicle and the plate number of the vehicle.
-Events are published in a JSON format as follows:
-```json
-{
-  "timestamp" : 145838399,
-  "latitude" : 37.04,
-  "longitude" : 17.04,
-  "plateNumber" : "KA-AB 123"
-}
-```
-
-These events are published to a Kafka broker using the topic `org.streampipes.tutorial.vehicle`.
-
-In the following section, we show how to describe this stream in a form that allows you to import and use it in StreamPipes.
-
-## Project setup
-
-Instead of creating a new project from scratch, we recommend to use the Maven archetype to create a new project skeleton.
-Enter the following command in a command line of your choice (Apache Maven needs to be installed):
-
-```
-mvn archetype:generate \
--DarchetypeGroupId=org.streampipes -DarchetypeArtifactId=streampipes-archetype-pe-sources \
--DarchetypeVersion=0.65.0 -DgroupId=my.groupId \
--DartifactId=my-source -DclassNamePrefix=MySource -DpackageName=mypackagename
-```
-
-Configure the variables ``artifactId`` (which will be the Maven artifactId), ``classNamePrefix`` (which will be the class name of your data stream) and ``packageName``.
-
-For this tutorial, use ``Vehicle`` as ``classNamePrefix``.
-
-Your project will look as follows:
-
-<img src="/img/tutorial-sources/project-structure.PNG" alt="Project Structure"/>
-
-That's it, go to the next section to learn how to create your first data stream!
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Besides the basic project skeleton, the sample project also includes an example Dockerfile you can use to package your application into a Docker container.
-</p>
-</div>
-
-## Adding a data stream description
-
-Now we will add a new data stream definition.
-First, open the class `VehicleStream` which should look as follows:
-
-```java
-
-package my.groupId.pe.mypackagename;
-
-import org.streampipes.model.SpDataStream;
-import org.streampipes.model.graph.DataSourceDescription;
-import org.streampipes.sdk.builder.DataStreamBuilder;
-import org.streampipes.sdk.helpers.EpProperties;
-import org.streampipes.sdk.helpers.Formats;
-import org.streampipes.sdk.helpers.Protocols;
-import org.streampipes.sources.AbstractAdapterIncludedStream;
-
-
-public class MySourceStream extends AbstractAdapterIncludedStream {
-
-  @Override
-  public SpDataStream declareModel(DataSourceDescription sep) {
-    return DataStreamBuilder.create("my.groupId-mypackagename", "MySource", "")
-            .property(EpProperties.timestampProperty("timestamp"))
-
-            // configure your stream here
-
-            .format(Formats.jsonFormat())
-            .protocol(Protocols.kafka("localhost", 9092, "TOPIC_SHOULD_BE_CHANGED"))
-            .build();
-  }
-
-  @Override
-  public void executeStream() {
-
-  }
-}
-```
-
-This class extends the class ``AbstractAdapterIncludedStream``, which indicates that this source continuously produces data (configured in the ``executeStream()`` method.
-In contrast, the class `AbstractAlreadyExistingStream` indicates that we only want to describe an already existing stream (e.g., a stream that already sends data to an existing Kafka broker).
-
-Next, we will add the definition of the data stream. Add the following code inside of the `declareModel` method:
-```java
-return DataStreamBuilder.create("org.streampipes.tutorial.vehicle.position", "Vehicle Position", "An event stream " +
-          "that produces current vehicle positions")
-```
-
-This line creates a new instance of the SDK's `DataStreamBuilder` by providing three basic parameters:
-The first parameter must be a unique identifier of your data stream.
-The second and third parameters indicate a label and a description of your stream.
-These values will later be used in the StreamPipes UI to display stream details in a human-readable manner.
-
-Next, we will add the properties as stated above to the stream definition by adding the following lines:
-```java
-.property(EpProperties.timestampProperty("timestamp"))
-.property(EpProperties.stringEp(Labels.from("plate-number", "Plate Number", "Denotes the plate number of the vehicle"), "plateNumber", "http://my.company/plateNumber"))
-.property(EpProperties.doubleEp(Labels.from("latitude", "Latitude", "Denotes the latitude value of the vehicle's position"), "latitude", Geo.lat))
-.property(EpProperties.doubleEp(Labels.from("longitude", "Longitude", "Denotes the longitude value of the vehicle's position"), "longitude", Geo.lng))
-```
-These four _event properties_ compose our _event schema_. An event property must, at least, provide the following attributes:
-
-* **Runtime Name**. The runtime name indicates the key of the property at runtime, e.g., if our JSON message contains a structure such as `{"plateNumber" : "KA-F 123"}`, the runtime name must be `plateNumber`.
-* **Runtime Type**. An event property must have a primitive type (we will later see how to model more complex properties such as lists and nested properties).
-The type must be an instance of `XMLSchema` primitives, however, the SDK provides convenience methods to provide the property type.
-* **Domain Property**. The domain property indicates the semantics of the event property. For instance, the `latitude` property is linked to the `http://www.w3.org/2003/01/geo/wgs84_pos#lat` property of the WGS84 vocabulary.
-The domain property should be an URI as part of an existing or domain-specific vocabulary. The SDK provides convenience methods for popuplar vocabularies (e.g., Schema.org, Dolce or WGS84).
-
-In order to complete the minimum required specification of an event stream, we need to provide information on the transport format and protocol of the data stream at runtime.
-
-This can be achieved by extending the builder with the respective properties (which should already have been auto-generated):
-```java
-.format(Formats.jsonFormat())
-.protocol(Protocols.kafka("localhost", 9092, "TOPIC_SHOULD_BE_CHANGED"))
-.build();
-```
-
-Set ``org.streampipes.tutorial.vehicle`` as your new topic by replacing the term ``TOPIC_SHOULD_BE_CHANGED`.
-
-In this example, we defined that the data stream consists of events in a JSON format and that Kafka is used as a message broker to transmit events.
-The last build() method call triggers the construction of the RDF-based data stream definition.
-
-That's it! In the next section, we will connect the data stream to a source and inspect the generated RDF description.
-
-## Creating some dummy data
-
-Let's assume our stream should produce some random values that are sent to StreamPipes. We'll add a very simple data simulator to the ``executeStream`` method as follows:
-
-```java
-@Override
-  public void executeStream() {
-
-    SpKafkaProducer producer = new SpKafkaProducer("localhost:9092", "TOPIC_SHOULD_BE_CHANGED");
-    Random random = new Random();
-    Runnable runnable = new Runnable() {
-      @Override
-      public void run() {
-        for (;;) {
-          JsonObject jsonObject = new JsonObject();
-          jsonObject.addProperty("timestamp", System.currentTimeMillis());
-          jsonObject.addProperty("plateNumber", "KA-FZ 1");
-          jsonObject.addProperty("latitude", random.nextDouble());
-          jsonObject.addProperty("longitude", random.nextDouble());
-
-          producer.publish(jsonObject.toString());
-
-          try {
-            Thread.sleep(1000);
-          } catch (InterruptedException e) {
-            e.printStackTrace();
-          }
-
-        }
-      }
-    };
-
-    new Thread(runnable).start();
-  }
-```
-
-Change the topic and the URL of your Kafka broker (as stated in the controller).
-
-## Adding a source description
-
-A data source can be seen like a container for a set of data streams. Usually, a data source includes events that are logically or physically connected.
-For instance, in our example we would add other streams produced by vehicle sensors (such as fuel consumption) to the same data source description.
-
-Open the class `DataSource` which should look as follows:
-```java
-
-package my.groupId.pe.mypackagename;
-
-import org.streampipes.container.declarer.DataStreamDeclarer;
-import org.streampipes.container.declarer.SemanticEventProducerDeclarer;
-import org.streampipes.model.graph.DataSourceDescription;
-import org.streampipes.sdk.builder.DataSourceBuilder;
-
-import java.util.Arrays;
-import java.util.List;
-
-
-public class DataSource implements SemanticEventProducerDeclarer {
-
-  public DataSourceDescription declareModel() {
-    return DataSourceBuilder.create("my.groupId.mypackagename.source", "MySource " +
-        "Source", "")
-            .build();
-  }
-
-  public List<DataStreamDeclarer> getEventStreams() {
-    return Arrays.asList(new MySourceStream());
-  }
-}
-```
-First, we need to define the source. Similar to data streams, a source consists of an id, a human-readable name and a description.
-Replace the content defined in the `declareModel` method with the following code:
-```java
-return DataSourceBuilder.create("org.streampipes.tutorial.source.vehicle", "Vehicle Source", "A data source that " +
-    "holds event streams produced by vehicles.")
-    .build();
-```
-
-## Preparing the container
-
-The final step is to define the deployment type of our new data source. In this tutorial, we will create a so-called `StandaloneModelSubmitter`.
-This client will start an embedded web server that provides the description of our data source.
-
-Go to the class `Init` that implements `StandaloneModelSubmitter`, which should look as follows:
-```java
-package my.groupId.main;
-
-import org.streampipes.container.init.DeclarersSingleton;
-import org.streampipes.container.standalone.init.StandaloneModelSubmitter;
-import my.groupId.config.Config;
-import my.groupId.pe.mypackagename.DataSource;
-
-public class Init extends StandaloneModelSubmitter {
-
-  public static void main(String[] args) throws Exception {
-    DeclarersSingleton.getInstance()
-            .add(new DataSource());
-
-    new Init().init(Config.INSTANCE);
-
-  }
-}
-```
-This code adds the `VehicleSource`. Finally, the `init` method is called
-which triggers the generation of the corresponding RDF description and startup of the web server.
-
-<div class="admonition info">
-<div class="admonition-title">Info</div>
-<p>In the example above, we make use of a class `Config`.
-       This class contains both mandatory and additional configuration parameters required by a pipeline element container.
-       These values are stored in the Consul-based key-value store of your StreamPipes installation.
-       The SDK guide contains a detailed manual on managing container configurations.</p>
-</div>
-
-## Starting the container
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>By default, the container registers itself using the hostname later used by the Docker container, leading to a 404 error when you try to access an RDF description.
-       For local development, we provide an environment file in the ``development`` folder. You can add your hostname here, which will override settings from the Config class.
-       For instance, use the IntelliJ ``EnvFile`` plugin to automatically provide the environment variables upon start.
-</p>
-</div>
-
-Now we are ready to start our first container!
-
-Execute the main method in the class `Main` we've just created, open a web browser and navigate to http://localhost:8090, or change the port according to the value of the ``SP_PORT`` variable in the env file.
-
-You should see something as follows:
-
-<img src="/img/tutorial-sources/pe-overview.PNG" alt="Pipeline Element Container Overview"/>
-
-Click on the link of the data source to see the RDF description of the pipeline element.
-
-<img src="/img/tutorial-sources/pe-rdf.PNG" alt="Pipeline Element RDF description"/>
-
-The container automatically registers itself in the Consul installation of StreamPipes.
-To install the just created element, open the StreamPipes UI and follow the manual provided in the [user guide](user-guide-introduction).
-
-## Read more
-
-Congratulations! You've just created your first pipeline element for StreamPipes.
-There are many more things to explore and data sources can be defined in much more detail.
-Follow our [SDK guide](dev-guide-source-sdk) to see what's possible!
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.geo.flink/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.geo.flink/documentation.md
deleted file mode 100644
index 3f3f7a7..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.geo.flink/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.flink
-title: Spatial Grid Enrichment
-sidebar_label: Spatial Grid Enrichment
-original_id: org.apache.streampipes.processor.geo.flink
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.geo.flink/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Groups spatial events into cells of a given size
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/documentation.md
deleted file mode 100644
index d2f83e4..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.geocoding/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.jvm.geocoding
-title: Google Maps Geocoder
-sidebar_label: Google Maps Geocoder
-original_id: org.apache.streampipes.processor.geo.jvm.geocoding
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-</p>
-
-***
-
-## Description
-
-This processor computes the latitude and longitude values from a location (a place name such as "Karlsruhe, Germany
-") and adds the result to the event.
-
-***
-
-## Required input
-
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/documentation.md
deleted file mode 100644
index 9ee1d6f..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.reversegeocoding/documentation.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.jvm.reversegeocoding
-title: Reverse Geocoder
-sidebar_label: Reverse Geocoder
-original_id: org.apache.streampipes.processor.geo.jvm.reversegeocoding
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-</p>
-
-***
-
-## Description
-
-This processor computes place name based on given lat/lng coordinates that are transmitted as fields from an event.
-
-***
-
-## Required input
-
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/documentation.md
deleted file mode 100644
index 050f362..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.geo.jvm.staticgeocoding/documentation.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.jvm.staticgeocoding
-title: Static Google Maps Geocoder
-sidebar_label: Static Google Maps Geocoder
-original_id: org.apache.streampipes.processor.geo.jvm.staticgeocoding
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-</p>
-
-***
-
-## Description
-
-This processor computes the latitude and longitude values from a fixed location (a place name such as "Karlsruhe
-, Germany
-") and adds the result to the event.
-
-***
-
-## Required input
-
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md
deleted file mode 100644
index 04b3b87..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/documentation.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification
-title: Generic Image Classification
-sidebar_label: Generic Image Classification
-original_id: org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Image  + Classification Description (Generic Model)
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md
deleted file mode 100644
index 30b9580..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processor.imageclassification.jvm.image-enricher
-title: Image Enricher
-sidebar_label: Image Enricher
-original_id: org.apache.streampipes.processor.imageclassification.jvm.image-enricher
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Image Enrichment: Enriches an  + image with  + given bounding box coordinates
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/documentation.md
deleted file mode 100644
index 6865caa..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processor.imageclassification.qrcode/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processor.imageclassification.qrcode
-title: QR Code Reader
-sidebar_label: QR Code Reader
-original_id: org.apache.streampipes.processor.imageclassification.qrcode
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.imageclassification.qrcode/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-QR Code Reader: Detects a QR Code in an image
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/documentation.md
deleted file mode 100644
index 4976da9..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.aggregation/documentation.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.aggregation
-title: Aggregation
-sidebar_label: Aggregation
-original_id: org.apache.streampipes.processors.aggregation.flink.aggregation
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.aggregation/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs different aggregation functions based on a sliding time window (e.g., average, sum, min, max)
-
-***
-
-## Required input
-
-The aggregation processor requires a data stream that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Group by
-The aaggregation function can be calculated separately (partitioned) by the selected field value. 
-
-### Output every
-The frequency in which aggregated values are sent in seconds.
-
-### Time window
-The size of the time window in seconds
-
-### Aggregated Value
-The field used for calculating the aggregation value.
-
-## Output
-
-This processor appends the latest aggregated value to every input event that arrives.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/documentation.md
deleted file mode 100644
index c9dc8c7..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.eventcount/documentation.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.eventcount
-title: Event Counter
-sidebar_label: Event Counter
-original_id: org.apache.streampipes.processors.aggregation.flink.eventcount
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-
-
-***
-
-## Description
-
-Counts the number of events arriving within a time window. An event is emitted every time the time window expires.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Time Window: The scale and size of the time window.
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/documentation.md
deleted file mode 100644
index f012002..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.aggregation.flink.rate/documentation.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.rate
-title: Event Rate
-sidebar_label: Event Rate
-original_id: org.apache.streampipes.processors.aggregation.flink.rate
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.rate/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Computes the current event rate. Output is a number representing events per second.
-
-***
-
-## Required input
-
-The event rate processor works with any stream and does not have any specific requirements.
-
-***
-
-## Configuration
-
-### Time Baseline
-Time window size used for calculating the rate in seconds, also defines the output rate
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md
deleted file mode 100644
index e619125..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/documentation.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.flink.processor.math.mathop
-title: Math
-sidebar_label: Math
-original_id: org.apache.streampipes.processors.enricher.flink.processor.math.mathop
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs calculations on event properties (+, -, *, /, %).
-
-***
-
-## Required input
-The math processor works with any event that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Left operand
-The field from the input event that should be used as the left operand.
-
-### Right operand
-The field from the input event that should be used as the right operand.
-
-### Operation
-The math operation that should be performed.
-
-## Output
-The processor appends the calculation result to each input event.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md
deleted file mode 100644
index 0f044c5..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/documentation.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop
-title: Static Math
-sidebar_label: Static Math
-original_id: org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs calculation on an event property with a static value (+, -, *, /, %).
-
-***
-
-## Required input
-The math processor works with any event that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Left operand
-The field from the input event that should be used as the left operand.
-
-### Right operand value
-Specify the value of the right operand.
-
-### Operation
-The math operation that should be performed.
-
-## Output
-The processor appends the calculation result to each input event.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md
deleted file mode 100644
index 2fac83e..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/documentation.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.flink.processor.trigonometry
-title: Trigonometry Functions
-sidebar_label: Trigonometry Functions
-original_id: org.apache.streampipes.processors.enricher.flink.processor.trigonometry
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs Trigonometric functions (sin, cos, tan) on event properties.
-
-***
-
-## Required input
-The trigonometry processor works with any event that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Alpha
-The field that should be used for calculating the trigonometric function.
-
-
-### Operation
-The trigonometric function that should be calculated.
-
-## Output
-The processor appends the calculation result to each input event.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md
deleted file mode 100644
index 01fed70..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/documentation.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.flink.processor.urldereferencing
-title: URL Dereferencing
-sidebar_label: URL Dereferencing
-original_id: org.apache.streampipes.processors.enricher.flink.processor.urldereferencing
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Parses and appends the html page as a string to event.
-
-***
-
-## Required input
-The URL Dereferencing processor requires an input stream that provides an input field of type 'string', representing 
-the URL to dereference.
-
-***
-
-## Configuration
-
-### URL
-The field containing the URL to dereference.
-
-## Output
-The processor appends the extracted HTML page to each input event.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/documentation.md
deleted file mode 100644
index 6dd6bfc..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.flink.timestamp/documentation.md
+++ /dev/null
@@ -1,49 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.flink.timestamp
-title: Timestamp Enricher
-sidebar_label: Timestamp Enricher
-original_id: org.apache.streampipes.processors.enricher.flink.timestamp
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.timestamp/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Appends the current time in ms to the event payload.
-
-***
-
-## Required input
-The timestamp enricher works with any input event.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-This processor appends the current system time to every input event.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/documentation.md
deleted file mode 100644
index cb698a9..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.enricher.jvm.sizemeasure/documentation.md
+++ /dev/null
@@ -1,32 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.jvm.sizemeasure
-title: Size Measure
-sidebar_label: Size Measure
-original_id: org.apache.streampipes.processors.enricher.jvm.sizemeasure
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.jvm.sizemeasure/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Measures the size of an incoming event and appends this number to the event by serializing it.
-
-***
-
-## Required input
-The size measure processor does not have any specific input requirements.
-
-***
-
-## Configuration
-
-You can specify if the size should be in Bytes, Kilobytes (1024 Bytes) or in Megabytes (1024 Kilobytes).
-
-## Output
-The size measure processor appends the size of the event (without the field, which is getting added) as a double. The rest of the event stays the same.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/documentation.md
deleted file mode 100644
index c02b529..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.compose/documentation.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.compose
-title: Compose
-sidebar_label: Compose
-original_id: org.apache.streampipes.processors.filters.jvm.compose
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.compose/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Merges two event streams. Any time, a new input event arrives, it is merged with the last input event from the other 
-event stream and forwarded.
-
-***
-
-## Required input
-The Compose processor does not have any specific input requirements.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-The compose processor has a configurable output that can be selected by the user at pipeline modeling time.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/documentation.md
deleted file mode 100644
index a119dc1..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.enrich/documentation.md
+++ /dev/null
@@ -1,48 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.enrich
-title: Merge By Enrich
-sidebar_label: Merge By Enrich
-original_id: org.apache.streampipes.processors.filters.jvm.enrich
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.enrich/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Merges two data streams by enriching one of the streams with the properties of the other stream. The output frequency is the same as the frequency of the stream which is enriched.
-***
-
-## Required input
-None
-***
-
-## Configuration
-
-* Select the stream which should be enriched with the properties of the other stream.
-  * The last event of the stream is hold in state and each event of the other stream is enriched by the properties the user selected
-
-## Output
-The compose processor has a configurable output that can be selected by the user at pipeline modeling time.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/documentation.md
deleted file mode 100644
index fbfd775..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.merge/documentation.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.merge
-title: Merge By Time
-sidebar_label: Merge By Time
-original_id: org.apache.streampipes.processors.filters.jvm.merge
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.merge/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Merges two event streams by their timestamp.
-Two events of the different streams are merged when they occure to the same time
-
-The following figure shows how the events of the two data streams will be mergrged:
-
-<p align="center"> 
-    <img width="width: 50%;" src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.merge/merge_description.png" class="pe-image-documentation"/>
-</p>
-***
-
-## Required input
-Each of the data streams needs a timestamp.
-***
-
-## Configuration
-
-* For each stream a the timestamp property on which the merger is performed has to be selected
-* The Time Interval describes the maximum value between two events to decide whether they are a match. To be a valid match the following function must be true: | timestamp_stream_1 - timestamp_stream_2 | < interval
-
-## Output
-The compose processor has a configurable output that can be selected by the user at pipeline modeling time.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/documentation.md
deleted file mode 100644
index 82b4c5b..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericalfilter/documentation.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.numericalfilter
-title: Numerical Filter
-sidebar_label: Numerical Filter
-original_id: org.apache.streampipes.processors.filters.jvm.numericalfilter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.numericalfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-The Numerical Filter processor filters numerical values based on a given threshold.
-
-***
-
-## Required input
-The processor works with any input event that has one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Field
-Specifies the field name where the filter operation should be applied on.
-
-
-### Operation
-Specifies the filter operation that should be applied on the field.
-
-### Threshold value
-Specifies the threshold value.
-
-## Output
-The processor outputs the input event if it satisfies the filter expression.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/documentation.md
deleted file mode 100644
index f002872..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/documentation.md
+++ /dev/null
@@ -1,68 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.numericaltextfilter
-title: Numerical Text Filter
-sidebar_label: Numerical Text Filter
-original_id: org.apache.streampipes.processors.filters.jvm.numericaltextfilter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-
-***
-
-## Description
-The Numerical Text Filter processor filters numerical values based on a given threshold and text values 
-based on a given string. It only forwards events in case both criteria are satisfied.
-
-***
-
-## Required input
-The processor works with any input event that has one field containing a numerical value and one field 
-containing a text.
-
-***
-
-## Configuration
-
-### Number Field
-Specifies the field name where the filter operation should be applied on.
-
-### Number Operation
-Specifies the filter operation that should be applied on the field.
-
-### Number Threshold
-Specifies the threshold value.
-
-### Text Field
-The field containing the text that should be filtered.
-
-### Text Operation
-The operation used by the filter processor (equals or matches).
-
-### Text Keyword
-Specifies the keyword to filter the text field.
-
-## Output
-The processor outputs the input event if it satisfies the filter expression.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/documentation.md
deleted file mode 100644
index ca2c056..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.project/documentation.md
+++ /dev/null
@@ -1,49 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.project
-title: Projection
-sidebar_label: Projection
-original_id: org.apache.streampipes.processors.filters.jvm.project
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.project/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Outputs a selectable subset of an input event type.
-
-***
-
-## Required input
-The project processor works with any input event stream.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-The output depends on the fields selected at pipeline development time.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/documentation.md
deleted file mode 100644
index c6e5fa9..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.textfilter/documentation.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.textfilter
-title: Text Filter
-sidebar_label: Text Filter
-original_id: org.apache.streampipes.processors.filters.jvm.textfilter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.textfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-The Text Filter processor filters text values based on a given string.
-
-***
-
-## Required input
-The processor works with any input event that has one field containing a text.
-
-***
-
-## Configuration
-
-### Text Field
-The field containing the text that should be filtered.
-
-
-### Operation
-The operation used by the filter processor (equals or matches)
-
-## Output
-The processor outputs the input event if it satisfies the filter expression.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/documentation.md
deleted file mode 100644
index a9055c8..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.filters.jvm.threshold/documentation.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.threshold
-title: Threshold Detector
-sidebar_label: Threshold Detector
-original_id: org.apache.streampipes.processors.filters.jvm.threshold
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.threshold/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-The Threshold Detector processor appends a boolean whether the condition is fulfilled or not
-
-***
-
-## Required input
-The processor works with any input event that has one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Field
-Specifies the field name where the filter operation should be applied on.
-
-
-### Operation
-Specifies the filter operation that should be applied on the field.
-
-### Threshold value
-Specifies the threshold value.
-
-## Output
-Appends a boolean with the value whether the condition is fulfilled or not.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/documentation.md
deleted file mode 100644
index 7f3c33f..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.geo.jvm.processor.distancecalculator
-title: Distance Calculator
-sidebar_label: Distance Calculator
-original_id: org.apache.streampipes.processors.geo.jvm.processor.distancecalculator
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Groups spatial events into cells of a given size
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md
deleted file mode 100644
index 9bf3f3c..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.pattern-detection.flink.peak-detection
-title: Peak Detection
-sidebar_label: Peak Detection
-original_id: org.apache.streampipes.processors.pattern-detection.flink.peak-detection
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detect peaks in time series data
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/documentation.md
deleted file mode 100644
index 7d0ecf2..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.frequency/documentation.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.frequency
-title: Frequency Calculation
-sidebar_label: Frequency Calculation
-original_id: org.apache.streampipes.processors.siddhi.frequency
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.frequency/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Calculates the frequency of the event stream.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/documentation.md
deleted file mode 100644
index dd2bd42..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.frequencychange/documentation.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.frequencychange
-title: Frequency Change
-sidebar_label: Frequency Change
-original_id: org.apache.streampipes.processors.siddhi.frequencychange
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.frequencychange/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects when the frequency of the event stream changes
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/documentation.md
deleted file mode 100644
index 0b3ef35..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.increase/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.increase
-title: Trend
-sidebar_label: Trend
-original_id: org.apache.streampipes.processors.siddhi.increase
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.increase/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects the increase of a numerical field over a customizable time window. Example: A temperature value increases by 10 percent within 5 minutes.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/documentation.md
deleted file mode 100644
index 3c4ad39..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.numericalfilter/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.numericalfilter
-title: Numerical Filter (Siddhi)
-sidebar_label: Numerical Filter (Siddhi)
-original_id: org.apache.streampipes.processors.siddhi.numericalfilter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.numericalfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/documentation.md
deleted file mode 100644
index bd810f9..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.sequence/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.sequence
-title: Sequence Detection
-sidebar_label: Sequence Detection
-original_id: org.apache.streampipes.processors.siddhi.sequence
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.sequence/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Merges events from two event streams, when the top event arrives first and then the bottom event
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/documentation.md
deleted file mode 100644
index 5028a9b..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.siddhi.stop/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.stop
-title: Stream Stop Detection
-sidebar_label: Stream Stop Detection
-original_id: org.apache.streampipes.processors.siddhi.stop
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.stop/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Triggers an event when the input data stream stops sending events
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/documentation.md
deleted file mode 100644
index 7c2367f..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.flink.languagedetection/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.flink.languagedetection
-title: Language Detection
-sidebar_label: Language Detection
-original_id: org.apache.streampipes.processors.textmining.flink.languagedetection
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.flink.languagedetection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects the language of a written text.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/documentation.md
deleted file mode 100644
index 53d3333..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.flink.wordcount/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.flink.wordcount
-title: Word Count
-sidebar_label: Word Count
-original_id: org.apache.streampipes.processors.textmining.flink.wordcount
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.flink.wordcount/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Counts words on continuous text-based streams
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/documentation.md
deleted file mode 100644
index 95ecfe2..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.chunker/documentation.md
+++ /dev/null
@@ -1,68 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.chunker
-title: Chunker (English)
-sidebar_label: Chunker (English)
-original_id: org.apache.streampipes.processors.textmining.jvm.chunker
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.chunker/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Segments given tokens into chunks (e.g. noun groups, verb groups, ...) and appends the found chunks to the stream.
-
-***
-
-## Required input
-
-Needs a stream with two string list properties:
-1. A list of tokens 
-2. A list of part-of-speech tags (the Part-of-Speech processing element can be used for that)
-
-***
-
-## Configuration
-
-Assign the tokens and the part of speech tags to the corresponding stream property.
-
-## Output
-
-**Example:**
-
-Input:
-```
-tokens: ["John", "is", "a", "Person"]
-tags: ["NNP", "VBZ", "DT", "NN"]
-```
-
-Output:
-```
-tokens: ["John", "is", "a", "Person"]
-tags: ["NNP", "VBZ", "DT", "NN"]
-chunks: ["John", "is", "a Person"]
-chunkType: ["NP", "VP", "NP"])
-```
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/documentation.md
deleted file mode 100644
index 2847f2a..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.languagedetection/documentation.md
+++ /dev/null
@@ -1,168 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.languagedetection
-title: Language Detection
-sidebar_label: Language Detection
-original_id: org.apache.streampipes.processors.textmining.jvm.languagedetection
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.languagedetection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects the language of incoming text. For a proper detection each text should contain at least 2 sentences.
-
-Supported languages:
-* Afrikaans (afr)
-* Arabic (ara)
-* Asturian (ast)
-* Azerbaijani (aze)
-* Bashkir (bak)
-* Belarusian (bel)
-* Bengali (ben)
-* Bosnian (bos)
-* Breton (bre)
-* Bulgarian (bul)
-* Catalan (cat)
-* Cebuano (ceb)
-* Czech (ces)
-* Chechen (che)
-* Mandarin Chinese (cmn)
-* Welsh (cym)
-* Danish (dan)
-* German (deu)
-* Standard Estonian (ekk)
-* Greek, Modern (ell)
-* English (eng)
-* Esperanto (epo)
-* Estonian (est)
-* Basque (eus)
-* Faroese (fao)
-* Persian (fas)
-* Finnish (fin)
-* French (fra)
-* Western Frisian (fry)
-* Irish (gle)
-* Galician (glg)
-* Swiss German (gsw)
-* Gujarati (guj)
-* Hebrew (heb)
-* Hindi (hin)
-* Croatian (hrv)
-* Hungarian (hun)
-* Armenian (hye)
-* Indonesian (ind)
-* Icelandic (isl)
-* Italian (ita)
-* Javanese (jav)
-* Japanese (jpn)
-* Kannada (kan)
-* Georgian (kat)
-* Kazakh (kaz)
-* Kirghiz (kir)
-* Korean (kor)
-* Latin (lat)
-* Latvian (lav)
-* Limburgan (lim)
-* Lithuanian (lit)
-* Luxembourgish (ltz)
-* Standard Latvian (lvs)
-* Malayalam (mal)
-* Marathi (mar)
-* Minangkabau (min)
-* Macedonian (mkd)
-* Maltese (mlt)
-* Mongolian (mon)
-* Maori (mri)
-* Malay (msa)
-* Min Nan Chinese (nan)
-* Low German (nds)
-* Nepali (nep)
-* Dutch (nld)
-* Norwegian Nynorsk (nno)
-* Norwegian Bokmål (nob)
-* Occitan (oci)
-* Panjabi (pan)
-* Iranian Persian (pes)
-* Plateau Malagasy (plt)
-* Western Panjabi (pnb)
-* Polish (pol)
-* Portuguese (por)
-* Pushto (pus)
-* Romanian (ron)
-* Russian (rus)
-* Sanskrit (san)
-* Sinhala (sin)
-* Slovak (slk)
-* Slovenian (slv)
-* Somali (som)
-* Spanish (spa)
-* Albanian (sqi)
-* Serbian (srp)
-* Sundanese (sun)
-* Swahili (swa)
-* Swedish (swe)
-* Tamil (tam)
-* Tatar (tat)
-* Telugu (tel)
-* Tajik (tgk)
-* Tagalog (tgl)
-* Thai (tha)
-* Turkish (tur)
-* Ukrainian (ukr)
-* Urdu (urd)
-* Uzbek (uzb)
-* Vietnamese (vie)
-* Volapük (vol)
-* Waray (war)
-* Zulu (zul)
-
-***
-
-## Required input
-
-A stream with a string property which contains a text.
-The longer the text, the higher the accuracy of the language detector.
-
-
-***
-
-## Configuration
-
-Simply assign the correct output of the previous stream to the language detector input.
-
-## Output
-
-Adds two fields to the event:
-1. String Property: The acronym of the detected language which can be seen above.
-2. Double Property: The confidence of the detector that it found the correct language. Between 0 (not certain at all) and 1 (very certain).
-
-
-**Example:**
-
-Input: `(text: "Hi, how are you?")`
-
-Output: `(text: "Hi, how are you?", language: "eng", confidenceLanguage: 0.89)`
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/documentation.md
deleted file mode 100644
index a30925f..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.namefinder/documentation.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.namefinder
-title: Name Finder
-sidebar_label: Name Finder
-original_id: org.apache.streampipes.processors.textmining.jvm.namefinder
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.namefinder/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Loads a trained model which finds names like locations or organizations.
-
-A list of trained models can be found [here](http://opennlp.sourceforge.net/models-1.5/).\
-A guide on how to train a new model can be found [here](https://opennlp.apache.org/docs/1.9.1/manual/opennlp.html#tools.namefind.training).
-
-***
-
-## Required input
-
-A stream with a list of tokens from a text.
-
-***
-
-## Configuration
-
-Configure the Name finder so that the tokens are assigned to the "List of Tokens" property
-
-#### Model parameter
-
-The trained model which should be used to find the names.
-
-## Output
-
-Appends a string list property to the stream which contains all found names.
-
-**Example (with an loaded english person-name-model):**
-
-Input: `(tokens: ["Hi", "John", "Doe", "is", "here"])`
-
-Output: `(tokens: ["Hi", "John", "Doe", "is", "here"], foundNames: ["John Doe"])`
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/documentation.md
deleted file mode 100644
index b9cfd38..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.partofspeech/documentation.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.partofspeech
-title: Part of Speech (English)
-sidebar_label: Part of Speech (English)
-original_id: org.apache.streampipes.processors.textmining.jvm.partofspeech
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.partofspeech/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Takes in a stream of tokens and marks each token with a part-of-speech tag
-The list of used suffixes can be found [here](https://www.ling.upenn.edu/courses/Fall_2003/ling001/penn_treebank_pos.html)
-
-***
-
-## Required input
-
-A stream with a list property which contains the tokens.
-
-***
-
-## Configuration
-
-Simply assign the correct output of the previous stream to the part of speech detector input.
-
-## Output
-
-Appends two list properties to the stream:
-1. String list: The tag for each token
-2. Double list: The confidence for each tag that it is indeed the given tag (between 0 and 1)
-
-**Example:**
-
-Input: `(tokens: ["Hi", "Joe"])`
-
-Output: `(tokens: ["Hi", "Joe"], tags: ["UH", "NNP"], confidence: [0.82, 0.87])`
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/documentation.md
deleted file mode 100644
index 735af41..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.sentencedetection/documentation.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.sentencedetection
-title: Sentence Detection (English)
-sidebar_label: Sentence Detection (English)
-original_id: org.apache.streampipes.processors.textmining.jvm.sentencedetection
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.sentencedetection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects sentences in a text and splits the text accordingly. Only works with english sentences.
-
-***
-
-## Required input
-
-A stream with a string property which contains a text.
-
-***
-
-## Configuration
-
-Simply assign the correct output of the previous stream to the tokenizer input.
-
-## Output
-
-Creates for each sentence in a text a new event in which it replaces the text with the sentence.
-
-**Example:**
-
-Input: `(text: "Hi, how are you? I am fine!")`
-
-Output: `(text: "Hi, how are you?")`, `(text: "I am fine!")`
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/documentation.md
deleted file mode 100644
index 564dbc7..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.textmining.jvm.tokenizer/documentation.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.tokenizer
-title: Tokenizer (English)
-sidebar_label: Tokenizer (English)
-original_id: org.apache.streampipes.processors.textmining.jvm.tokenizer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.tokenizer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Segments a given text into Tokens (usually words, numbers, punctuations, ...). Works best with english text.
-
-***
-
-## Required input
-
-A stream with a string property which contains a text.
-
-***
-
-## Configuration
-
-Simply assign the correct output of the previous stream to the tokenizer input.
-
-## Output
-
-Adds a list to the stream which contains all tokens of the corresponding text.
-
-**Example:**
-
-Input: `(text: "Hi, how are you?")`
-
-Output: `(text: "Hi, how are you?", tokens: ["Hi", ",", "how", "are", "you", "?"])`
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/documentation.md
deleted file mode 100644
index 6c663b0..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-converter/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.field-converter
-title: Field Converter
-sidebar_label: Field Converter
-original_id: org.apache.streampipes.processors.transformation.flink.field-converter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-converter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Converts a string value to a number data type
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/documentation.md
deleted file mode 100644
index 866750e..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-mapper/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.field-mapper
-title: Field Mapper
-sidebar_label: Field Mapper
-original_id: org.apache.streampipes.processors.transformation.flink.field-mapper
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-mapper/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Replaces one or more field with a new field and computes a hash value of these fields
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/documentation.md
deleted file mode 100644
index 513c3d2..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.field-renamer/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.field-renamer
-title: Field Renamer
-sidebar_label: Field Renamer
-original_id: org.apache.streampipes.processors.transformation.flink.field-renamer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-renamer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Replaces the runtime name of an event property with a custom defined name. Useful for data ingestion purposes where a specific event schema is needed.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/documentation.md
deleted file mode 100644
index b08c3aa..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.fieldhasher/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.fieldhasher
-title: Field Hasher
-sidebar_label: Field Hasher
-original_id: org.apache.streampipes.processors.transformation.flink.fieldhasher
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.fieldhasher/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-The Field Hasher uses an algorithm to encode values in a field. The Field Hasher can use MD5, SHA1 or SHA2 to hash field values.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md
deleted file mode 100644
index 6e48329..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.measurement-unit-converter
-title: Measurement Unit Converter
-sidebar_label: Measurement Unit Converter
-original_id: org.apache.streampipes.processors.transformation.flink.measurement-unit-converter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Converts a unit of measurement to another one
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md
deleted file mode 100644
index a5f562d..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.processor.boilerplate
-title: Boilerplate Removal
-sidebar_label: Boilerplate Removal
-original_id: org.apache.streampipes.processors.transformation.flink.processor.boilerplate
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Removes boilerplate and extract fulltext from HTML
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/documentation.md
deleted file mode 100644
index a46f78b..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/documentation.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.booloperator.counter
-title: Boolean Counter
-sidebar_label: Boolean Counter
-original_id: org.apache.streampipes.processors.transformation.jvm.booloperator.counter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor monitors a boolean value and counts how often the value of the boolean changes. 
-A user can configure whether the changes from FALSE to TRUE, TRUE to FALSE, or BOTH changes should be counted.
-
-***
-
-## Required input
-
-A boolean value is required in the data stream and can be selected with the field mapping.
-
-### Boolean Field
-
-The boolean value to be monitored.
-
-***
-
-## Configuration
-
-A user can configure whether the changes from TRUE to FALSE, FALSE to TRUE, or all changes of the boolean value should be counted.
-
-### Flank parameter
-
-Either:
-* TRUE -> FALSE: Increase counter on a true followed by a false 
-* FALSE -> TRUE: Increase counter on a false followed by a true
-* BOTH: Increas counter on each change of the boolean value on two consecutive events
-
-## Output
-
-Adds an additional numerical field with the current count value to the event. Events are just emitted when the counter changes.
-Runtime Name: countField
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/documentation.md
deleted file mode 100644
index 3d9110c..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/documentation.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.booloperator.inverter
-title: Boolean Inverter
-sidebar_label: Boolean Inverter
-original_id: org.apache.streampipes.processors.transformation.jvm.booloperator.inverter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor requires a boolean value in the data stream and inverts its value. (e.g. true -> flase)
-
-***
-
-## Required input
-
-### Boolean Field
-
-The boolean value to be inverted.
-
-***
-
-## Configuration
-No further configuration required
-
-## Output
-The output schema is the same as the input schema. Just the value of the property is changed.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/documentation.md
deleted file mode 100644
index bc5f36c..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/documentation.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping
-title: Measure Time Between Two Sensors
-sidebar_label: Measure Time Between Two Sensors
-original_id: org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor can be used to measure the time between two boolean sensors.
-For example on a conveyor, where one sensor is placed on the left and one senor placed on the right.
-Parts are transported on the conveyor and the sensors are boolean sensors detecting those parts. 
-The time is measured between the two sensors as well as the amount of complete transportation's is counted.  
-The measurement is initialized once the left sensor is true and stopped once the right sensor is true.
-There can also be multiple parts on the conveyor as long as the individual parts do not change.
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/time_measure_example.png" width="300px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Required input
-Requires two boolean fields in the datastream.
-
-### Left Field
-The left field starts the timer when value is true.
-
-### Right Field
-The right field stops the timer and emits the event when its value is true.
-
-***
-
-## Configuration
-No furhter configuration is required.
-
-## Output
-Appends two fields to the input event.
-
-### Timer Field
-The timer field is a numeric value representing the time between the two sensors. Runtime name: measured_time
-
-### Counter
-The counter indicated how many events where emitted by this component. Runtime name: counter
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/documentation.md
deleted file mode 100644
index a9c05e7..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/documentation.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.booloperator.timer
-title: Boolean Timer
-sidebar_label: Boolean Timer
-original_id: org.apache.streampipes.processors.transformation.jvm.booloperator.timer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor measures how long a boolean value does not change. Once the value is changes the event with the measured time is emitted.
-
-
-***
-
-## Required input
-
-A boolean value is required in the data stream.
-
-### Field
-
-The boolean field which is monitored for state changes.
-
-***
-
-## Configuration
-
-### Timer value
-Define whether it should be measured how long the value is true or how long the value is false.
-
-## Output
-Appends a field with the time how long the value did not change. Is emitted on the change of the boolean value. Runtime name: measured_time 
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/documentation.md
deleted file mode 100644
index 6b903af..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.changed-value/documentation.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.changed-value
-title: Value Changed
-sidebar_label: Value Changed
-original_id: org.apache.streampipes.processors.transformation.jvm.changed-value
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.changed-value/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor sends out an event everytime a specific object changes. It also adds a timestamp in ms from the system time.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/documentation.md
deleted file mode 100644
index cd7c561..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.count-array/documentation.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.count-array
-title: Count Array
-sidebar_label: Count Array
-original_id: org.apache.streampipes.processors.transformation.jvm.count-array
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.count-array/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor takes a list field, computes the size of the list and appends the result to the event.
-
-***
-
-## Required input
-
-This processor works with any event that has a field of type ``list``.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### List Field
-
-The field containing the list that should be used.
-
-## Output
-
-Outputs the incoming event while appending the list size (named ``countValue``) to the incoming event.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/documentation.md
deleted file mode 100644
index a2e2943..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.csvmetadata/documentation.md
+++ /dev/null
@@ -1,45 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.csvmetadata
-title: CSV Metadata Enricher
-sidebar_label: CSV Metadata Enricher
-original_id: org.apache.streampipes.processors.transformation.jvm.csvmetadata
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-
-***
-
-## Description
-
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/documentation.md
deleted file mode 100644
index 00e4564..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.duration-value/documentation.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.duration-value
-title: Calculate Duration
-sidebar_label: Calculate Duration
-original_id: org.apache.streampipes.processors.transformation.jvm.duration-value
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.duration-value/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor calculates the duration for a given stream with a start timestamp and an end timestamp.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md
deleted file mode 100644
index 5132b60..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/documentation.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor
-title: Timestamp Extractor
-sidebar_label: Timestamp Extractor
-original_id: org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor extracts a timestamp into the individual time fields (e.g. day field, hour field, ....)
-
-***
-
-## Required input
-
-This processor requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-### Timestamp Field
-
-The field of the event containing the timestamp to parse.
-
-### Extract Fields
-
-Select the individual parts of the timestamp that should be extracted, e.g., Year, Minute and Day.
-
-## Output
-
-The output of this processor is a new event that contains the fields selected by the ``Extract Fields`` parameter.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/documentation.md
deleted file mode 100644
index 6a0d5e3..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.split-array/documentation.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.split-array
-title: Split Array
-sidebar_label: Split Array
-original_id: org.apache.streampipes.processors.transformation.jvm.split-array
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.split-array/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor takes an array of event properties and creates an event for each of them. Further property of the events can be added to each element
-Add a detailed description here
-
-***
-
-## Required input
-
-This processor works with any event that has a field of type ``list``.
-
-***
-
-## Configuration
-
-### Keep Fields
-
-Fields of the event that should be kept in each resulting event.
-
-### List field
-
-The name of the field that contains the list values that should be split.
-
-
-## Output
-
-This data processor produces an event with all fields selected by the ``Keep Fields`` parameter and all fields of the
- selected list field.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/documentation.md
deleted file mode 100644
index 9bb2ff1..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.taskduration/documentation.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.taskduration
-title: Task Duration
-sidebar_label: Task Duration
-original_id: org.apache.streampipes.processors.transformation.jvm.taskduration
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-
-***
-
-## Description
-
-This processors computes the duration of a task, i.e., a field containing a task description. It outputs an event
- every time this task value changes and computes the duration between the first occurrence of this task and the
-  current event. For instance, you can use this event to calculate the time a specific process step requires.
-***
-
-## Required input
-
-A timestamp value is required and a field containing a task value.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-
-Emits an event that contains the process step, built from the names of the first task identifier and the identifier
- of the subsequent task. In addition, the duration is part of the output event, provided in milliseconds.
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/documentation.md
deleted file mode 100644
index fe08d3d..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/documentation.md
+++ /dev/null
@@ -1,36 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.transform-to-boolean
-title: Transform to boolean
-sidebar_label: Transform to boolean
-original_id: org.apache.streampipes.processors.transformation.jvm.transform-to-boolean
----
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor inverts a specific boolean
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/documentation.md
deleted file mode 100644
index 401fe35..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.bufferrest/documentation.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.bufferrest
-title: Buffered REST Publisher
-sidebar_label: Buffered REST Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.bufferrest
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.bufferrest/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Collects a given amount of events into a JSON array. Once this event count is reached
-the JSON array is posted to the given REST interface.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### REST URL
-
-The complete URL of the REST endpoint.
-
-### Buffer Size
-
-The amount of events before sending.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/documentation.md
deleted file mode 100644
index 61816d8..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.jms/documentation.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.jms
-title: JMS Publisher
-sidebar_label: JMS Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.jms
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.jms/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes events to a message broker (e.g., ActiveMQ) using the Java Message Service (JMS) protocol.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### JMS Broker Settings
-
-The basic settings to connect to the broker. 
-The JMS broker URL indicates the URL of the broker (e.g., tcp://localhost), the port indicates the port of the broker
- (e.g., 61616)
-
-
-### JMS Topic
-
-The topic where events should be sent to.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/documentation.md
deleted file mode 100644
index 448b7c3..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.kafka/documentation.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.kafka
-title: Kafka Publisher
-sidebar_label: Kafka Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.kafka
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.kafka/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes events to Apache Kafka.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Kafka Broker Settings
-
-The basic settings to connect to the broker. 
-The Kafka broker URL indicates the URL of the broker (e.g., localhost), the port indicates the port of the broker
- (e.g., 9092)
-
-
-### Kafka Topic
-
-The topic where events should be sent to.
-
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/documentation.md
deleted file mode 100644
index fb97bbf..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.pulsar/documentation.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.pulsar
-title: Pulsar Publisher
-sidebar_label: Pulsar Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.pulsar
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.pulsar/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes events to Apache Pulsar.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Pulsar Broker Hostname
-
-The hostname to connect to the broker. 
- 
-### Pulsar Broker Port
-
-The port to connect to the broker (e.g., 6650)
-
-
-### Pulsar Topic
-
-The topic where events should be sent to.
-
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md
deleted file mode 100644
index d718bdf..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/documentation.md
+++ /dev/null
@@ -1,75 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.rabbitmq
-title: RabbitMQ Publisher
-sidebar_label: RabbitMQ Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.rabbitmq
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Forwards events to a RabbitMQ broker
-Add a detailed description here
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Host
-
-The hostname of the RabbitMQ broker.
-
-### Port
-
-The port of the RabbitMQ broker.
-
-### User
-
-The username used to connect to the RabbitMQ broker.
-
-### Password
-
-The password used to connect to the RabbitMQ broker.
-
-### Exchange Name
-
-The name of the exchange.
-
-### RabbitMQ Topic
-
-The topic where events should be sent to.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/documentation.md
deleted file mode 100644
index 981c7e5..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.brokers.jvm.rest/documentation.md
+++ /dev/null
@@ -1,53 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.rest
-title: REST Publisher
-sidebar_label: REST Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.rest
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.rest/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Posts a JSON representation of an event to a REST interface.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### REST URL
-
-The complete URL of the REST endpoint.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/documentation.md
deleted file mode 100644
index e28df49..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.ditto/documentation.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.ditto
-title: Eclipse Ditto
-sidebar_label: Eclipse Ditto
-original_id: org.apache.streampipes.sinks.databases.ditto
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.ditto/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Forwards events to the Eclipse Ditto API.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Hostname
-
-The hostname of the CouchDB instance.
-
-### Port
-
-The port of the CouchDB instance.
-
-### Database Name
-
-The name of the database where events will be stored
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/documentation.md
deleted file mode 100644
index 5e29bbb..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.flink.elasticsearch/documentation.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.flink.elasticsearch
-title: Elasticsearch
-sidebar_label: Elasticsearch
-original_id: org.apache.streampipes.sinks.databases.flink.elasticsearch
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.flink.elasticsearch/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores data in an Elasticsearch database.
-
-***
-
-## Required input
-
-This sink requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Timestamp Field
-
-The field which contains the required timestamp.
-
-### Index Name
-
-The name of the Elasticsearch index where events are stored to.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/documentation.md
deleted file mode 100644
index 4e528a9..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.couchdb/documentation.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.jvm.couchdb
-title: CouchDB
-sidebar_label: CouchDB
-original_id: org.apache.streampipes.sinks.databases.jvm.couchdb
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.couchdb/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in an Apache CouchDB database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Hostname
-
-The hostname of the CouchDB instance.
-
-### Port
-
-The port of the CouchDB instance.
-
-### Database Name
-
-The name of the database where events will be stored
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/documentation.md
deleted file mode 100644
index 98e27a5..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.influxdb/documentation.md
+++ /dev/null
@@ -1,86 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.jvm.influxdb
-title: InfluxDB
-sidebar_label: InfluxDB
-original_id: org.apache.streampipes.sinks.databases.jvm.influxdb
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.influxdb/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in an InfluxDB.
-
-***
-
-## Required input
-
-This sink requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname/URL of the InfluxDB instance. (Include http(s)://).
-
-### Port
-
-The port of the InfluxDB instance.
-
-### Database Name
-
-The name of the database where events will be stored.
-
-### Measurement Name
-
-The name of the Measurement where events will be stored (will be created if it does not exist).
-
-### Username
-
-The username for the InfluxDB Server.
-
-### Password
-
-The password for the InfluxDB Server.
-
-### Timestamp Field
-
-The field which contains the required timestamp.
-
-### Buffer Size
-
-Indicates how many events are written into a buffer, before they are written to the database.
-
-### Maximum Flush
-
-The maximum waiting time for the buffer to fill the Buffer size before it will be written to the database in ms.
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/documentation.md
deleted file mode 100644
index f7c542d..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.iotdb/documentation.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.jvm.iotdb
-title: IoTDB
-sidebar_label: IoTDB
-original_id: org.apache.streampipes.sinks.databases.jvm.iotdb
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.iotdb/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in a IoTDB database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname of the IoTDB instance.
-
-### Port
-
-The port of the IoTDB instance (default 6667).
-
-### Storage Group Name
-
-The name of the storage group where events will be stored (will be created if it does not exist).
-For each element of the stream a new time series will be created.
-
-### Username
-
-The username for the IoTDB Server.
-
-### Password
-
-The password for the IoTDB Server.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/documentation.md
deleted file mode 100644
index 20320e0..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.opcua/documentation.md
+++ /dev/null
@@ -1,73 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.jvm.opcua
-title: OPC-UA
-sidebar_label: OPC-UA
-original_id: org.apache.streampipes.sinks.databases.jvm.opcua
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.opcua/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in an Apache CouchDB database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Hostname
-
-The hostname of the OPC-UA server.
-
-### Port
-
-The port of the OPC-UA server.
-
-### Namespace Index
-
-The namespace index in which the node should be written
-
-### Node Id
-
-The node id of the resulting node
-
-### Number Mapping
-
-The property of the event that should be written to the OPC-UA server
-
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/documentation.md
deleted file mode 100644
index 56596e7..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.databases.jvm.postgresql/documentation.md
+++ /dev/null
@@ -1,74 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.jvm.postgresql
-title: PostgreSQL
-sidebar_label: PostgreSQL
-original_id: org.apache.streampipes.sinks.databases.jvm.postgresql
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.postgresql/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in a Postgres database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname of the PostgreSQL instance.
-
-### Port
-
-The port of the PostgreSQL instance (default 5432).
-
-### Database Name
-
-The name of the database where events will be stored
-
-### Table Name
-
-The name of the table where events will be stored (will be created if it does not exist)
-
-### Username
-
-The username for the PostgreSQL Server.
-
-### Password
-
-The password for the PostgreSQL Server.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/documentation.md
deleted file mode 100644
index 0ec51c1..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.dashboard/documentation.md
+++ /dev/null
@@ -1,53 +0,0 @@
----
-id: org.apache.streampipes.sinks.internal.jvm.dashboard
-title: Dashboard Sink
-sidebar_label: Dashboard Sink
-original_id: org.apache.streampipes.sinks.internal.jvm.dashboard
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.internal.jvm.dashboard/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This sink visualizes data streams in the StreamPipes dashboard. 
-Visualizations can be configured in Live Dashboard of StreamPipes after the pipeline has been started.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-No further configuration necessary, individual visualizations can be configured in the Dashboard itself.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/documentation.md
deleted file mode 100644
index aeea4aa..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.datalake/documentation.md
+++ /dev/null
@@ -1,86 +0,0 @@
----
-id: org.apache.streampipes.sinks.internal.jvm.datalake
-title: Data Lake
-sidebar_label: Data Lake
-original_id: org.apache.streampipes.sinks.internal.jvm.datalake
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.internal.jvm.datalake/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in an InfluxDB.
-
-***
-
-## Required input
-
-This sink requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname/URL of the InfluxDB instance. (Include http(s)://).
-
-### Port
-
-The port of the InfluxDB instance.
-
-### Database Name
-
-The name of the database where events will be stored.
-
-### Measurement Name
-
-The name of the Measurement where events will be stored (will be created if it does not exist).
-
-### Username
-
-The username for the InfluxDB Server.
-
-### Password
-
-The password for the InfluxDB Server.
-
-### Timestamp Field
-
-The field which contains the required timestamp.
-
-### Buffer Size
-
-Indicates how many events are written into a buffer, before they are written to the database.
-
-### Maximum Flush
-
-The maximum waiting time for the buffer to fill the Buffer size before it will be written to the database in ms.
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/documentation.md
deleted file mode 100644
index 2ef1349..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.internal.jvm.notification/documentation.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: org.apache.streampipes.sinks.internal.jvm.notification
-title: Notification
-sidebar_label: Notification
-original_id: org.apache.streampipes.sinks.internal.jvm.notification
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.internal.jvm.notification/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Displays a notification in the UI panel of StreamPipes.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-This sink does not have any requirements and works with any incoming event type.
-
-### Notification Title
-
-The title of the notification.
-
-### Content
-
-The notification message.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/documentation.md
deleted file mode 100644
index 0d32b67..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.email/documentation.md
+++ /dev/null
@@ -1,68 +0,0 @@
----
-id: org.apache.streampipes.sinks.notifications.jvm.email
-title: Email Notification
-sidebar_label: Email Notification
-original_id: org.apache.streampipes.sinks.notifications.jvm.email
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.notifications.jvm.email/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This sink sends an email to a specified receiver.
-
-Before you use this sink, the settings of your email server need to be configured.
-After you've installed the element, navigate to ``Settings``, open the panel ``Sinks Notifications JVM`` and add your
- mail server and credentials.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-The following configuration is required:
-
-### Receiver Address
-
-The email address of the receiver.
-
-### Subject
-
-The subject of the email.
-
-### Content
-
-The mail text.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/documentation.md
deleted file mode 100644
index 6b3a5b5..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.onesignal/documentation.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-id: org.apache.streampipes.sinks.notifications.jvm.onesignal
-title: OneSignal
-sidebar_label: OneSignal
-original_id: org.apache.streampipes.sinks.notifications.jvm.onesignal
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.notifications.jvm.onesignal/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This sink sends a push message to the OneSignal application
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### App Id
-
-The OneSignal application ID.
-
-### API Key
-
-The OneSignal API key.
-
-### Content
-
-The message that should be sent to OneSignal
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/documentation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/documentation.md
deleted file mode 100644
index 3af32a0..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/org.apache.streampipes.sinks.notifications.jvm.slack/documentation.md
+++ /dev/null
@@ -1,69 +0,0 @@
----
-id: org.apache.streampipes.sinks.notifications.jvm.slack
-title: Slack Notification
-sidebar_label: Slack Notification
-original_id: org.apache.streampipes.sinks.notifications.jvm.slack
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.notifications.jvm.slack/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Slack bot to send notifications directly into your slack
-
-Before you use this sink, the Slack token needs to be configured.
-After you've installed the element, navigate to ``Settings``, open the panel ``Sinks Notifications JVM`` and add your
-Slack API token.
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Receiver
-
-The receiver of the Slack message.
-
-### Channel Type
-
-The channel type, should be "User" or "Channel"
-
-### Content
-
-The message that should be sent.
-
-### 2nd parameter
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk.md
deleted file mode 100644
index 7d5e9b8..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.coindesk.md
+++ /dev/null
@@ -1,45 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.coindesk
-title: Coindesk Bitcoin Price
-sidebar_label: Coindesk Bitcoin Price
-original_id: org.apache.streampipes.connect.adapters.coindesk
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.coindesk/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-This adapter continuously provides the current bitcoin price from the Coindesk API.
-
-## Configuration
-
-### Currency
-
-The current in which the price should be provided.
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md
deleted file mode 100644
index 09e0d91..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-id: version-0.68.0-org.apache.streampipes.connect.adapters.flic.mqtt
-title: Flic MQTT
-sidebar_label: Flic MQTT
-original_id: org.apache.streampipes.connect.adapters.flic.mqtt
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.flic.mqtt/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Connect Flic Smart Button over MQTT
-
-***
-
-## Required input
-
-This adapter uses the MQTT protocol and requires the data in following exemplary JSON format:
-{ "timestamp": 1584973344615, "click_type": SINGLE, "button_id": button1 }.
-***
-
-## Configuration
-
-### Broker URL 
-
-Example: tcp://test-server.com:1883 (Protocol required. Port required)
-
-### Access Mode
-
-The user can choose between unauthenticated or authenticated access.
-
-### TOPIC
-The topic the MQTT broker publishes to.
-
-## Output
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt.md
deleted file mode 100644
index 0b80e47..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.gdelt.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.gdelt
-title: GDELT
-sidebar_label: GDELT
-original_id: org.apache.streampipes.connect.adapters.gdelt
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.gdelt/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-This adapter provides news events from the GDELT API.
-
-## Configuration
-
-(no futher configuration required)
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news.md
deleted file mode 100644
index a0f6cae..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.news.md
+++ /dev/null
@@ -1,49 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.iex.news
-title: IEX Cloud News
-sidebar_label: IEX Cloud News
-original_id: org.apache.streampipes.connect.adapters.iex.news
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.iex.news/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-This adapter provides news events from the IEXCloud news API. An API key from IEXCloud is required.
-Visit <a href='https://iexcloud.io'>IEX Cloud</a> for more info.
-
-***
-
-## Configuration
-
-
-### API Token
-A valid API token from the IEXCloud API.
-
-### Stock Symbol
-A stock symbol that should be monitored.
-
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks.md
deleted file mode 100644
index a3ea097..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iex.stocks.md
+++ /dev/null
@@ -1,48 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.iex.stocks
-title: IEX Cloud Stock Quotes
-sidebar_label: IEX Cloud Stock Quotes
-original_id: org.apache.streampipes.connect.adapters.iex.stocks
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.iex.stocks/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-This adapter provides news events from the IEXCloud news API. An API key from IEXCloud is required.
-Visit <a href='https://iexcloud.io'>IEX Cloud</a> for more info.
-
-***
-
-## Configuration
-
-
-### API Token
-A valid API token from the IEXCloud API.
-
-### Stock Symbol
-A stock symbol that should be monitored.
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set.md
deleted file mode 100644
index f9c910c..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.set.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.image.set
-title: Image Upload (Set)
-sidebar_label: Image Upload (Set)
-original_id: org.apache.streampipes.connect.adapters.image.set
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.image.set/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Upload a zip file of images and create an event per image
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream.md
deleted file mode 100644
index 03d8f81..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.image.stream.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.image.stream
-title: Image Upload (Stream)
-sidebar_label: Image Upload (Stream)
-original_id: org.apache.streampipes.connect.adapters.image.stream
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.image.stream/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Upload a zip file of images and create an event per image
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set.md
deleted file mode 100644
index 794109d..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.set.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.influxdb.set
-title: InfluxDB Set Adapter
-sidebar_label: InfluxDB Set Adapter
-original_id: org.apache.streampipes.connect.adapters.influxdb.set
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.influxdb.set/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Creates a data set for an InfluxDB measurement.
-
-***
-
-## Configuration
-
-
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md
deleted file mode 100644
index b10fb21..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.influxdb.stream
-title: InfluxDB Stream Adapter
-sidebar_label: InfluxDB Stream Adapter
-original_id: org.apache.streampipes.connect.adapters.influxdb.stream
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.influxdb.stream/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Creates a data stream for an InfluxDB measurement.
-
-***
-
-## Configuration
-
-
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss.md
deleted file mode 100644
index bf1fa5c..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.iss.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.iss
-title: ISS Location
-sidebar_label: ISS Location
-original_id: org.apache.streampipes.connect.adapters.iss
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.iss/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Shows the live position of the International Space Station (ISS), updated every two seconds.
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set.md
deleted file mode 100644
index 4ccecc3..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.set.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.mysql.set
-title: MySQL Set Adapter
-sidebar_label: MySQL Set Adapter
-original_id: org.apache.streampipes.connect.adapters.mysql.set
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.mysql.set/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Creates a data set from an SQL table
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream.md
deleted file mode 100644
index 594d70d..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.mysql.stream.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.mysql.stream
-title: MySql Stream Adapter
-sidebar_label: MySql Stream Adapter
-original_id: org.apache.streampipes.connect.adapters.mysql.stream
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.mysql.stream/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Creates a data stream for a SQL table
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md
deleted file mode 100644
index dca1594..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.netio.mqtt
-title: NETIO MQTT M2M
-sidebar_label: NETIO MQTT M2M
-original_id: org.apache.streampipes.connect.adapters.netio.mqtt
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.netio.mqtt/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Connect Robots running on ROS
-
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Ros Bridge
-
-Example: test-server.com (No protocol)
-
-### Port
-
-The port of the ROS instance.
-
-### Topic
-
-Example: /battery (Starts with /)
-
-
-## Output
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest.md
deleted file mode 100644
index 991ad62..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.netio.rest.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.netio.rest
-title: NETIO http JSON
-sidebar_label: NETIO http JSON
-original_id: org.apache.streampipes.connect.adapters.netio.rest
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.netio.rest/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Connect Robots running on ROS
-
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Ros Bridge
-
-Example: test-server.com (No protocol)
-
-### Port
-
-The port of the ROS instance.
-
-### Topic
-
-Example: /battery (Starts with /)
-
-
-## Output
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md
deleted file mode 100644
index 98d3341..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera
-title: NSW Traffic Cameras
-sidebar_label: NSW Traffic Cameras
-original_id: org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Traffic camera images produced by NSW Australia
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua.md
deleted file mode 100644
index 1d87660..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.opcua.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.opcua
-title: OPC UA
-sidebar_label: OPC UA
-original_id: org.apache.streampipes.connect.adapters.opcua
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.opcua/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Read values from an OPC-UA server
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md
deleted file mode 100644
index c153ee4..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: version-0.68.0-org.apache.streampipes.connect.adapters.plc4x.modbus
-title: PLC4X MODBUS
-sidebar_label: PLC4X MODBUS
-original_id: org.apache.streampipes.connect.adapters.plc4x.modbus
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.modbus/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Shows the live position of the International Space Station (ISS), updated every two seconds.
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md
deleted file mode 100644
index 9a94da1..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.plc4x.s7
-title: PLC4X S7
-sidebar_label: PLC4X S7
-original_id: org.apache.streampipes.connect.adapters.plc4x.s7
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.s7/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Shows the live position of the International Space Station (ISS), updated every two seconds.
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros.md
deleted file mode 100644
index 12e7a3d..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ros.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.ros
-title: ROS Bridge
-sidebar_label: ROS Bridge
-original_id: org.apache.streampipes.connect.adapters.ros
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.ros/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Connect Robots running on ROS
-
-
-***
-
-## Required input
-
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Ros Bridge
-
-Example: test-server.com (No protocol)
-
-### Port
-
-The port of the ROS instance.
-
-### Topic
-
-Example: /battery (Starts with /)
-
-
-## Output
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.machine.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.machine.md
deleted file mode 100644
index d05c1b1..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.machine.md
+++ /dev/null
@@ -1,41 +0,0 @@
----
-id: version-0.68.0-org.apache.streampipes.connect.adapters.simulator.machine
-title: Machine Data Simulator
-sidebar_label: Machine Data Simulator
-original_id: org.apache.streampipes.connect.adapters.simulator.machine
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.simulator.machine/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes various simulated machine sensor data in a configurable time interval (in milliseconds).
-Sensors are:
-* flowrate
-* pressure
-* waterlevel
-***
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md
deleted file mode 100644
index 2480702..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.simulator.randomdataset
-title: Random Data Simulator (Set)
-sidebar_label: Random Data Simulator (Set)
-original_id: org.apache.streampipes.connect.adapters.simulator.randomdataset
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.simulator.randomdataset/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes a bounded stream of random events.
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md
deleted file mode 100644
index 1256408..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.simulator.randomdatastream
-title: Random Data Simulator (Stream)
-sidebar_label: Random Data Simulator (Stream)
-original_id: org.apache.streampipes.connect.adapters.simulator.randomdatastream
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.simulator.randomdatastream/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes a continuous stream of random events
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack.md
deleted file mode 100644
index e21951c..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.slack.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.slack
-title: Slack
-sidebar_label: Slack
-original_id: org.apache.streampipes.connect.adapters.slack
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.slack/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Subscribes to a Slack channel
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti.md
deleted file mode 100644
index 1125220..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.ti.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.ti
-title: TI Sensor Tag
-sidebar_label: TI Sensor Tag
-original_id: org.apache.streampipes.connect.adapters.ti
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.ti/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Consumes messages from a broker using the MQTT protocol
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Broker Url
-
-Example: tcp://test-server.com:1883 (Protocol required. Port required)"
-
-### Topic
-
-Example: test/topic
-
-### Access Mode
-
-Unauthenticated or Authenticated (Username/Password)
-
-## Output
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md
deleted file mode 100644
index 015004f..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.wikipedia.edit
-title: Wikipedia Edits
-sidebar_label: Wikipedia Edits
-original_id: org.apache.streampipes.connect.adapters.wikipedia.edit
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.wikipedia.edit/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Continuously publishes recent Wikipedia edits
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md
deleted file mode 100644
index f656f7e..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.wikipedia.new
-title: Wikipedia New Articles
-sidebar_label: Wikipedia New Articles
-original_id: org.apache.streampipes.connect.adapters.wikipedia.new
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.wikipedia.new/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Continuously publishes articles created on Wikipedia
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file.md
deleted file mode 100644
index 9db6eed..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.file.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: org.apache.streampipes.connect.protocol.stream.file
-title: File Stream
-sidebar_label: File Stream
-original_id: org.apache.streampipes.connect.protocol.stream.file
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.file/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Continuously streams the content from a file
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http.md
deleted file mode 100644
index ae603e9..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.http.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: org.apache.streampipes.connect.protocol.stream.http
-title: HTTP Stream
-sidebar_label: HTTP Stream
-original_id: org.apache.streampipes.connect.protocol.stream.http
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.http/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Continuously fetched events from an HTTP REST endpoint.
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md
deleted file mode 100644
index c84b865..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: version-0.68.0-org.apache.streampipes.connect.protocol.stream.httpserver
-title: HTTP Server
-sidebar_label: HTTP Server
-original_id: org.apache.streampipes.connect.protocol.stream.httpserver
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.httpserver/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Continuously fetched events from an HTTP REST endpoint.
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka.md
deleted file mode 100644
index 9e81617..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.kafka.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: org.apache.streampipes.connect.protocol.stream.kafka
-title: Apache Kafka
-sidebar_label: Apache Kafka
-original_id: org.apache.streampipes.connect.protocol.stream.kafka
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.kafka/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Consumes messages from an Apache Kafka broker
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md
deleted file mode 100644
index 4a5f1da..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.connect.protocol.stream.mqtt
-title: MQTT
-sidebar_label: MQTT
-original_id: org.apache.streampipes.connect.protocol.stream.mqtt
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.mqtt/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Consumes messages from a broker using the MQTT protocol
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Broker Url
-
-Example: tcp://test-server.com:1883 (Protocol required. Port required)"
-
-### Access Mode
-
-Unauthenticated or Authenticated (Username/Password)
-
-## Output
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md
deleted file mode 100644
index 0796346..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: org.apache.streampipes.connect.protocol.stream.pulsar
-title: Apache Pulsar
-sidebar_label: Apache Pulsar
-original_id: org.apache.streampipes.connect.protocol.stream.pulsar
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.pulsar/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Consumes messages from an Apache Pulsar broker
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink.md
deleted file mode 100644
index 93e1e97..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.flink.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.flink
-title: Spatial Grid Enrichment
-sidebar_label: Spatial Grid Enrichment
-original_id: org.apache.streampipes.processor.geo.flink
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.geo.flink/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Groups spatial events into cells of a given size.
-The result is like a chessboard pattern in which the geo coordinates are inserted. The user can define the coordinates of the first field.
-
-***
-
-## Required input
-Requires a latitude and longitude in the data stream.
-
-## Configuration
-
-* Latitude property
-* Longitude property
-* The size of the cell
-* Latitude and longitude of the first cell
-
-## Output
-Appends the grid cell coordinates to the input event
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md
deleted file mode 100644
index d2f83e4..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.jvm.geocoding
-title: Google Maps Geocoder
-sidebar_label: Google Maps Geocoder
-original_id: org.apache.streampipes.processor.geo.jvm.geocoding
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-</p>
-
-***
-
-## Description
-
-This processor computes the latitude and longitude values from a location (a place name such as "Karlsruhe, Germany
-") and adds the result to the event.
-
-***
-
-## Required input
-
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md
deleted file mode 100644
index 0df01ce..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.jvm.reversegeocoding
-title: Reverse Geocoder
-sidebar_label: Reverse Geocoder
-original_id: org.apache.streampipes.processor.geo.jvm.reversegeocoding
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-</p>
-
-***
-
-## Description
-
-This processor computes place name based on given lat/lng coordinates that are transmitted as fields from an event.
-
-This processor automatically downloads the file cities1000.zip from Geonames (http://download.geonames.org/export/dump/cities1000.zip). This file is provided under the CC BY 4.0 license, see https://creativecommons.org/licenses/by/4.0/ for license details.
-
-***
-
-## Required input
-
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md
deleted file mode 100644
index 050f362..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.jvm.staticgeocoding
-title: Static Google Maps Geocoder
-sidebar_label: Static Google Maps Geocoder
-original_id: org.apache.streampipes.processor.geo.jvm.staticgeocoding
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-</p>
-
-***
-
-## Description
-
-This processor computes the latitude and longitude values from a fixed location (a place name such as "Karlsruhe
-, Germany
-") and adds the result to the event.
-
-***
-
-## Required input
-
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md
deleted file mode 100644
index 04b3b87..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification
-title: Generic Image Classification
-sidebar_label: Generic Image Classification
-original_id: org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Image  + Classification Description (Generic Model)
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md
deleted file mode 100644
index c4f9657..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
-id: org.apache.streampipes.processor.imageclassification.jvm.image-cropper
-title: Image Cropper
-sidebar_label: Image Cropper
-original_id: org.apache.streampipes.processor.imageclassification.jvm.image-cropper
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.imageclassification.jvm.image-cropper/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Image Enrichment: Crops an  + image based on  + given bounding box coordinates
-
-***
-
-## Required input
-An image and an array with bounding boxes.
-A box consists of the x and y coordinates in the image as well as the height and width 
-
-## Output
-A new event for each box containing the cropped image
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md
deleted file mode 100644
index 180a1c1..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-id: org.apache.streampipes.processor.imageclassification.jvm.image-enricher
-title: Image Enricher
-sidebar_label: Image Enricher
-original_id: org.apache.streampipes.processor.imageclassification.jvm.image-enricher
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Image Enrichment: Enriches an  + image with  + given bounding box coordinates
-
-## Required input
-An image and an array with bounding boxes.
-A box consists of the x and y coordinates in the image as well as the height and width 
-
-## Output
-A new event containing the image with bounding boxes rendered according to the boxes of the input event 
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode.md
deleted file mode 100644
index 6865caa..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processor.imageclassification.qrcode.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processor.imageclassification.qrcode
-title: QR Code Reader
-sidebar_label: QR Code Reader
-original_id: org.apache.streampipes.processor.imageclassification.qrcode
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.imageclassification.qrcode/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-QR Code Reader: Detects a QR Code in an image
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md
deleted file mode 100644
index 4976da9..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.aggregation
-title: Aggregation
-sidebar_label: Aggregation
-original_id: org.apache.streampipes.processors.aggregation.flink.aggregation
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.aggregation/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs different aggregation functions based on a sliding time window (e.g., average, sum, min, max)
-
-***
-
-## Required input
-
-The aggregation processor requires a data stream that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Group by
-The aaggregation function can be calculated separately (partitioned) by the selected field value. 
-
-### Output every
-The frequency in which aggregated values are sent in seconds.
-
-### Time window
-The size of the time window in seconds
-
-### Aggregated Value
-The field used for calculating the aggregation value.
-
-## Output
-
-This processor appends the latest aggregated value to every input event that arrives.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count.md
deleted file mode 100644
index d4a87ec..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.count.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.count
-title: Count Aggregation
-sidebar_label: Count Aggregation
-original_id: org.apache.streampipes.processors.aggregation.flink.count
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.count/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs an aggregation based on a given field and outputs the number of occurrences.
-Example: Count the number of vehicle positions per vehicleId.
-The Count aggregation requires a time window, used to perform the count aggregation and a field used to aggregate
- values.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md
deleted file mode 100644
index c9dc8c7..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.eventcount
-title: Event Counter
-sidebar_label: Event Counter
-original_id: org.apache.streampipes.processors.aggregation.flink.eventcount
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-
-
-***
-
-## Description
-
-Counts the number of events arriving within a time window. An event is emitted every time the time window expires.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Time Window: The scale and size of the time window.
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate.md
deleted file mode 100644
index f012002..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.aggregation.flink.rate.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.rate
-title: Event Rate
-sidebar_label: Event Rate
-original_id: org.apache.streampipes.processors.aggregation.flink.rate
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.rate/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Computes the current event rate. Output is a number representing events per second.
-
-***
-
-## Required input
-
-The event rate processor works with any stream and does not have any specific requirements.
-
-***
-
-## Configuration
-
-### Time Baseline
-Time window size used for calculating the rate in seconds, also defines the output rate
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md
deleted file mode 100644
index 29fdaa1..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md
+++ /dev/null
@@ -1,66 +0,0 @@
----
-id: version-0.68.0-org.apache.streampipes.processors.changedetection.jvm.cusum
-title: Cusum
-sidebar_label: Cusum
-original_id: org.apache.streampipes.processors.changedetection.jvm.cusum
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<!--
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.changedetection.jvm.cusum/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
--->
-
-***
-
-## Description
-
-Performs change detection on a single dimension of the incoming data stream. A change is detected if the cumulative deviation from the mean exceeds a certain threshold. This implementation tracks the mean and the standard deviation using Welford's algorithm, which is well suited for data streams.
-
-***
-
-## Required input
-
-The cusum processor requires a data stream that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Value to observe
-Specify the dimension of the data stream (e.g. the temperature) on which to perform change detection. 
-
-### Parameter `k`
-`k` controls the sensitivity of the change detector. Its unit are standard deviations. For an observation `x_n`, the Cusum value is `S_n = max(0, S_{n-1} - z-score(x_n) - k)`. Thus, the cusum-score `S` icnreases if `S_{n-1} - z-score(x_n) > k`. 
-
-### Parameter `h`
-The alarm theshold in standard deviations. An alarm occurs if `S_n > h` 
-
-## Output
-
-This processor outputs the original data stream plus 
-
-- `cusumLow`: The cusum value for negative changes
-- `cusumHigh`: The cusum value for positive changes
-- `changeDetectedLow`: Boolean indicating if a negative change was detected
-- `changeDetectedHigh`: Boolean indicating if a positive change was detected
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md
deleted file mode 100644
index e619125..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.flink.processor.math.mathop
-title: Math
-sidebar_label: Math
-original_id: org.apache.streampipes.processors.enricher.flink.processor.math.mathop
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs calculations on event properties (+, -, *, /, %).
-
-***
-
-## Required input
-The math processor works with any event that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Left operand
-The field from the input event that should be used as the left operand.
-
-### Right operand
-The field from the input event that should be used as the right operand.
-
-### Operation
-The math operation that should be performed.
-
-## Output
-The processor appends the calculation result to each input event.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md
deleted file mode 100644
index 0f044c5..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop
-title: Static Math
-sidebar_label: Static Math
-original_id: org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs calculation on an event property with a static value (+, -, *, /, %).
-
-***
-
-## Required input
-The math processor works with any event that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Left operand
-The field from the input event that should be used as the left operand.
-
-### Right operand value
-Specify the value of the right operand.
-
-### Operation
-The math operation that should be performed.
-
-## Output
-The processor appends the calculation result to each input event.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md
deleted file mode 100644
index 2fac83e..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.flink.processor.trigonometry
-title: Trigonometry Functions
-sidebar_label: Trigonometry Functions
-original_id: org.apache.streampipes.processors.enricher.flink.processor.trigonometry
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs Trigonometric functions (sin, cos, tan) on event properties.
-
-***
-
-## Required input
-The trigonometry processor works with any event that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Alpha
-The field that should be used for calculating the trigonometric function.
-
-
-### Operation
-The trigonometric function that should be calculated.
-
-## Output
-The processor appends the calculation result to each input event.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md
deleted file mode 100644
index 01fed70..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.flink.processor.urldereferencing
-title: URL Dereferencing
-sidebar_label: URL Dereferencing
-original_id: org.apache.streampipes.processors.enricher.flink.processor.urldereferencing
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Parses and appends the html page as a string to event.
-
-***
-
-## Required input
-The URL Dereferencing processor requires an input stream that provides an input field of type 'string', representing 
-the URL to dereference.
-
-***
-
-## Configuration
-
-### URL
-The field containing the URL to dereference.
-
-## Output
-The processor appends the extracted HTML page to each input event.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md
deleted file mode 100644
index 6dd6bfc..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md
+++ /dev/null
@@ -1,49 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.flink.timestamp
-title: Timestamp Enricher
-sidebar_label: Timestamp Enricher
-original_id: org.apache.streampipes.processors.enricher.flink.timestamp
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.timestamp/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Appends the current time in ms to the event payload.
-
-***
-
-## Required input
-The timestamp enricher works with any input event.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-This processor appends the current system time to every input event.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md
deleted file mode 100644
index 520018f..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md
+++ /dev/null
@@ -1,50 +0,0 @@
----
-id: org.apache.streampipes.processors.enricher.jvm.sizemeasure
-title: Size Measure
-sidebar_label: Size Measure
-original_id: org.apache.streampipes.processors.enricher.jvm.sizemeasure
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.jvm.sizemeasure/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Measures the size of an incoming event and appends this number to the event by serializing it.
-
-***
-
-## Required input
-The size measure processor does not have any specific input requirements.
-
-***
-
-## Configuration
-
-You can specify if the size should be in Bytes, Kilobytes (1024 Bytes) or in Megabytes (1024 Kilobytes).
-
-## Output
-The size measure processor appends the size of the event (without the field, which is getting added) as a double. The rest of the event stays the same.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose.md
deleted file mode 100644
index c02b529..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.compose.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.compose
-title: Compose
-sidebar_label: Compose
-original_id: org.apache.streampipes.processors.filters.jvm.compose
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.compose/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Merges two event streams. Any time, a new input event arrives, it is merged with the last input event from the other 
-event stream and forwarded.
-
-***
-
-## Required input
-The Compose processor does not have any specific input requirements.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-The compose processor has a configurable output that can be selected by the user at pipeline modeling time.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich.md
deleted file mode 100644
index a119dc1..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.enrich.md
+++ /dev/null
@@ -1,48 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.enrich
-title: Merge By Enrich
-sidebar_label: Merge By Enrich
-original_id: org.apache.streampipes.processors.filters.jvm.enrich
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.enrich/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Merges two data streams by enriching one of the streams with the properties of the other stream. The output frequency is the same as the frequency of the stream which is enriched.
-***
-
-## Required input
-None
-***
-
-## Configuration
-
-* Select the stream which should be enriched with the properties of the other stream.
-  * The last event of the stream is hold in state and each event of the other stream is enriched by the properties the user selected
-
-## Output
-The compose processor has a configurable output that can be selected by the user at pipeline modeling time.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.limit.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.limit.md
deleted file mode 100644
index dda1af1..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.limit.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-id: version-0.68.0-org.apache.streampipes.processors.filters.jvm.limit
-title: Rate Limit
-sidebar_label: Rate Limit
-original_id: org.apache.streampipes.processors.filters.jvm.limit
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.limit/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-This limits the number of events emitted based on a specified criterion such as time, and number of events.
-
-***
-
-## Required input
-The processor works with any input event.
-
-***
-
-## Configuration
-
-### Enable Grouping
-Enabling this will use grouping with rate-limiting (note: disabling this will ignore `Grouping Field` property).
-
-### Grouping Field
-Runtime field to be used as the grouping key. If grouping is disabled, this setting will be ignored.
-
-### Window Type
-This specifies the type of window to be used (time / length / cron).
-
-### Length Window Size
-Length window size in event count (note: only works with length window type).
-
-### Time Window Size
-Time window size in milliseconds (note: only works with time window type).
-
-### Cron Window Expression
-Cron expression [Link](https://www.freeformatter.com/cron-expression-generator-quartz.html) to trigger and emit events (i.e `0 * * ? * *` for every minute) (note: only works with cron window type).
-
-### Output Event Selection
-This specifies the event(s) that are selected to be emitted.
-- First: emit first event of the window.
-- Last: emit last event of the window.
-- All: emit all events of the window.
-
-## Output
-The processor outputs events which satisfies rate-limiting conditions.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge.md
deleted file mode 100644
index 8c71ff4..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.merge.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.merge
-title: Merge By Time
-sidebar_label: Merge By Time
-original_id: org.apache.streampipes.processors.filters.jvm.merge
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.merge/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Merges two event streams by their timestamp.
-Two events of the different streams are merged when they occure to the same time
-
-The following figure shows how the events of the two data streams will be mergrged:
-
-<p align="center"> 
-    <img width="300px;" src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.merge/merge_description.png" class="pe-image-documentation"/>
-</p>
-***
-
-## Required input
-Each of the data streams needs a timestamp.
-***
-
-## Configuration
-
-* For each stream a the timestamp property on which the merger is performed has to be selected
-* The Time Interval describes the maximum value between two events to decide whether they are a match. To be a valid match the following function must be true: | timestamp_stream_1 - timestamp_stream_2 | < interval
-
-## Output
-The compose processor has a configurable output that can be selected by the user at pipeline modeling time.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md
deleted file mode 100644
index 82b4c5b..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.numericalfilter
-title: Numerical Filter
-sidebar_label: Numerical Filter
-original_id: org.apache.streampipes.processors.filters.jvm.numericalfilter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.numericalfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-The Numerical Filter processor filters numerical values based on a given threshold.
-
-***
-
-## Required input
-The processor works with any input event that has one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Field
-Specifies the field name where the filter operation should be applied on.
-
-
-### Operation
-Specifies the filter operation that should be applied on the field.
-
-### Threshold value
-Specifies the threshold value.
-
-## Output
-The processor outputs the input event if it satisfies the filter expression.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md
deleted file mode 100644
index f002872..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md
+++ /dev/null
@@ -1,68 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.numericaltextfilter
-title: Numerical Text Filter
-sidebar_label: Numerical Text Filter
-original_id: org.apache.streampipes.processors.filters.jvm.numericaltextfilter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.numericaltextfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-
-***
-
-## Description
-The Numerical Text Filter processor filters numerical values based on a given threshold and text values 
-based on a given string. It only forwards events in case both criteria are satisfied.
-
-***
-
-## Required input
-The processor works with any input event that has one field containing a numerical value and one field 
-containing a text.
-
-***
-
-## Configuration
-
-### Number Field
-Specifies the field name where the filter operation should be applied on.
-
-### Number Operation
-Specifies the filter operation that should be applied on the field.
-
-### Number Threshold
-Specifies the threshold value.
-
-### Text Field
-The field containing the text that should be filtered.
-
-### Text Operation
-The operation used by the filter processor (equals or matches).
-
-### Text Keyword
-Specifies the keyword to filter the text field.
-
-## Output
-The processor outputs the input event if it satisfies the filter expression.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project.md
deleted file mode 100644
index ca2c056..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.project.md
+++ /dev/null
@@ -1,49 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.project
-title: Projection
-sidebar_label: Projection
-original_id: org.apache.streampipes.processors.filters.jvm.project
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.project/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Outputs a selectable subset of an input event type.
-
-***
-
-## Required input
-The project processor works with any input event stream.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-The output depends on the fields selected at pipeline development time.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md
deleted file mode 100644
index c6e5fa9..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.textfilter
-title: Text Filter
-sidebar_label: Text Filter
-original_id: org.apache.streampipes.processors.filters.jvm.textfilter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.textfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-The Text Filter processor filters text values based on a given string.
-
-***
-
-## Required input
-The processor works with any input event that has one field containing a text.
-
-***
-
-## Configuration
-
-### Text Field
-The field containing the text that should be filtered.
-
-
-### Operation
-The operation used by the filter processor (equals or matches)
-
-## Output
-The processor outputs the input event if it satisfies the filter expression.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold.md
deleted file mode 100644
index a9055c8..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.filters.jvm.threshold.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.threshold
-title: Threshold Detector
-sidebar_label: Threshold Detector
-original_id: org.apache.streampipes.processors.filters.jvm.threshold
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.threshold/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-The Threshold Detector processor appends a boolean whether the condition is fulfilled or not
-
-***
-
-## Required input
-The processor works with any input event that has one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Field
-Specifies the field name where the filter operation should be applied on.
-
-
-### Operation
-Specifies the filter operation that should be applied on the field.
-
-### Threshold value
-Specifies the threshold value.
-
-## Output
-Appends a boolean with the value whether the condition is fulfilled or not.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md
deleted file mode 100644
index 7317682..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md
+++ /dev/null
@@ -1,74 +0,0 @@
----
-id: org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo
-title: Creates JTS Point
-sidebar_label: Creates JTS Point
-original_id: org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center">
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor creates a  JTS Point geometry from  latitude and longitude value.
-
-***
-
-## Required input
-
-*  Ontology Vocabulary Latitude
-*  Ontology Vocabulary Longitude
-*  Integer value representing EPSG Code
-
-
-***
-
-## Configuration
-
-Creates a JTS Geometry Point from Longitude (x) and Latitude (y) values in the coordinate reference system represented by the EPSG code.
-An empty point geometry is created if latitude or longitude value is missing in the event (e.g. null value) or values are out of range. Allowed values for Longitude are between -180.00 and 180.00; Latitude values between -90.00 and 90.00.
-
-### 1st parameter
-Latitude value
-
-### 2nd parameter
-Longitude value
-
-### 3rd parameter
-EPSG code value
-
-***
-
-## Output
-
-Adds a point geometry in the Well Known Text notation and in Longitude (x)  Latitude (y) axis order to the stream.
-
-### Example
-* Input stream: <br/>
-  `{latitude=48.5622, longitude=-76.3501, EPSG=4326}`
-
-* Output Stream <br/>
-  `{latitude=48.5622, longitude=-76.3501, EPSG=4326, geom_wkt=POINT (-76.3501 48.5622)}`
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md
deleted file mode 100644
index 5a61d27..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-id: org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG
-title: EPSG Code
-sidebar_label: EPSG Code
-original_id: org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center">
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-
-***
-
-## Description
-
-This processor adds ab integer value to the stream. This integer value represents
-an [EPSG Code](https://en.wikipedia.org/wiki/EPSG_Geodetic_Parameter_Dataset) as an Spatial Reference System Identifier [(SRID)](https://en.wikipedia.org/wiki/Spatial_reference_system#Identifier).
-
-
-***
-
-## Required input
-
-None
-
-***
-
-## Configuration
-
-Integer values, representing a spatial reference system [(SRS)](https://en.wikipedia.org/wiki/Spatial_reference_system#Identifier).  Other possible values can be looked up under https://spatialreference.org/ref/epsg/.
-
-### Parameter
-
-4- to 5-digit key integer number. Default value is 4326 representing the World Geodetic System [(WGS84)](https://en.wikipedia.org/wiki/World_Geodetic_System#WGS84).
-
-***
-## Output
-
-Adds a number to the event.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md
deleted file mode 100644
index 8f02564..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md
+++ /dev/null
@@ -1,84 +0,0 @@
----
-id: org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory
-title: Single Trajectory Creator
-sidebar_label: Single Trajectory Creator
-original_id: org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center">
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor creates a JTS LineString geometry from  JTS Points events, represent a trajectory. A trajectory is defined  as the path that a moving object follows through space as a function of time. Each sub-point of this LineString represents a single event. The latest sub-point represents the latest geo-event. For each Point event it is also possible to store an additional m-value representing for example actually speed, distance, duration or direction of this event. A trajectory consists of at least two sub-point and can't be infinitive, so a threshold of maximum allowed sub-points is required. When the sub-point threshold is exceeded, the oldest point is removed from the LineString.
-***
-
-## Required input
-
-*  WKT String of a JTS Point Geometry
-*  Integer value representing EPSG code
-*  Number value for M-value
-
-
-***
-
-## Configuration
-
-Creates a JTS Geometry LineString from a JTS Point Geometries events representing a trajectory.
-
-
-### 1st parameter
-Point WKT String
-
-### 2nd parameter
-EPSG code value
-
-### 3rd parameter
-M-value for each sub-point of the trajectory
-
-### 4rd parameter
-String for a description text for the trajectory
-
-### 5rd parameter
-Number of allowed sub-points
-
-***
-
-## Output
-
-Adds a LineString geometry in the Well Known Text to the event, representing a trajectory. Also the description text is added to the event stream. The first existing event creates an empty LineString.
-
-### Example
-Creating a LineString with a threshold of 2 allowed sub-points:
-
-* First Event:
-  * Point(8.12 41.23) --> LineString (empty)
-* Second Event:
-  * Point(8.56 41.25) --> LineString(8.12 41.23, 8.56 41.25)
-* Second Event:
-  * Point(8.84 40.98) --> LineString(8.56 41.25, 8.84 40.98)
-
-M-value is not represented in the LineString but will be stored for internal use!
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md
deleted file mode 100644
index b0e76f1..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.geo.jvm.processor.distancecalculator
-title: Distance Calculator
-sidebar_label: Distance Calculator
-original_id: org.apache.streampipes.processors.geo.jvm.processor.distancecalculator
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Calculates the distance between two latitude/longitude pairs in a single event.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md
deleted file mode 100644
index fd5cfe8..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: org.apache.streampipes.processors.geo.jvm.processor.speed
-title: Speed Calculator
-sidebar_label: Speed Calculator
-original_id: org.apache.streampipes.processors.geo.jvm.processor.speed
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-***
-
-## Description
-
-Calculates the speed (in km/h) based on latitude/longitude values in a data stream. Therefore it uses the GPS and timestamps values of consecutive events. 
-It calculates the distance between two points (events) and how much time has passed. Based on those values the speed is calculated.
-
-***
-
-## Required input
-
-Requires a data stream that provides latitude and longitude values as well as a timestamp.
-
-***
-
-## Configuration
-
-### Timestamp field
-
-### Latitude field
-
-### Longitude field
-
-### Count window
-Describes the number of stored events, used for the calculation. 
-E.g. a value of 5 means that thhe current event and the event (t-5) are used for the speed calculation.
-
-## Output
-Appends the calculated speed in km/h.
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md
deleted file mode 100644
index fdf1408..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator
-title: Static Distance Calculator
-sidebar_label: Static Distance Calculator
-original_id: org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-***
-
-## Description
-
-Calculates the distance (in km) between a fixed location (e.g., a place) and a latitude/longitude pair of an input
- event.
-
-***
-
-## Required input
-
-Requires a data stream that provides latitude and longitude values.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md
deleted file mode 100644
index 2717859..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.pattern-detection.flink.absence
-title: Absence
-sidebar_label: Absence
-original_id: org.apache.streampipes.processors.pattern-detection.flink.absence
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.absence/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects whether an event does not arrive within a specified time after the occurrence of another event.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md
deleted file mode 100644
index 4886783..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.pattern-detection.flink.and
-title: And
-sidebar_label: And
-original_id: org.apache.streampipes.processors.pattern-detection.flink.and
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.and/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects whether an event co-occurs with another event within a given time.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md
deleted file mode 100644
index 9bf3f3c..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.pattern-detection.flink.peak-detection
-title: Peak Detection
-sidebar_label: Peak Detection
-original_id: org.apache.streampipes.processors.pattern-detection.flink.peak-detection
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detect peaks in time series data
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md
deleted file mode 100644
index c98b46f..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.pattern-detection.flink.sequence
-title: Sequence
-sidebar_label: Sequence
-original_id: org.apache.streampipes.processors.pattern-detection.flink.sequence
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.sequence/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects a sequence of events in the following form: Event A followed by Event B within X seconds. In addition, both streams can be matched by a common property value (e.g., a.machineId = b.machineId)
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency.md
deleted file mode 100644
index 7d0ecf2..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequency.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.frequency
-title: Frequency Calculation
-sidebar_label: Frequency Calculation
-original_id: org.apache.streampipes.processors.siddhi.frequency
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.frequency/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Calculates the frequency of the event stream.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange.md
deleted file mode 100644
index dd2bd42..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.frequencychange.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.frequencychange
-title: Frequency Change
-sidebar_label: Frequency Change
-original_id: org.apache.streampipes.processors.siddhi.frequencychange
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.frequencychange/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects when the frequency of the event stream changes
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase.md
deleted file mode 100644
index 0b3ef35..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.increase.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.increase
-title: Trend
-sidebar_label: Trend
-original_id: org.apache.streampipes.processors.siddhi.increase
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.increase/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects the increase of a numerical field over a customizable time window. Example: A temperature value increases by 10 percent within 5 minutes.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md
deleted file mode 100644
index 3c4ad39..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.numericalfilter
-title: Numerical Filter (Siddhi)
-sidebar_label: Numerical Filter (Siddhi)
-original_id: org.apache.streampipes.processors.siddhi.numericalfilter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.numericalfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence.md
deleted file mode 100644
index 994baf5..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.sequence.md
+++ /dev/null
@@ -1,36 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.sequence
-title: Sequence Detection
-sidebar_label: Sequence Detection
-original_id: org.apache.streampipes.processors.siddhi.sequence
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.sequence/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Merges events from two event streams, when the top event arrives first and then the bottom event
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop.md
deleted file mode 100644
index 5028a9b..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.siddhi.stop.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.stop
-title: Stream Stop Detection
-sidebar_label: Stream Stop Detection
-original_id: org.apache.streampipes.processors.siddhi.stop
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.stop/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Triggers an event when the input data stream stops sending events
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md
deleted file mode 100644
index d989db1..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
-id: org.apache.streampipes.processors.statistics.flink.statistics-summary
-title: Statistics Summary
-sidebar_label: Statistics Summary
-original_id: org.apache.streampipes.processors.statistics.flink.statistics-summary
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.statistics.flink.statistics-summary/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Calculate simple descriptive summary statistics for each selected list property.
-
-The statistics contain:
-* Minimum
-* Maximum
-* Sum
-* Standard Deviation
-* Variance
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md
deleted file mode 100644
index 7c2367f..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.flink.languagedetection
-title: Language Detection
-sidebar_label: Language Detection
-original_id: org.apache.streampipes.processors.textmining.flink.languagedetection
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.flink.languagedetection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects the language of a written text.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md
deleted file mode 100644
index 53d3333..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.flink.wordcount
-title: Word Count
-sidebar_label: Word Count
-original_id: org.apache.streampipes.processors.textmining.flink.wordcount
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.flink.wordcount/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Counts words on continuous text-based streams
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md
deleted file mode 100644
index a1ef4e5..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md
+++ /dev/null
@@ -1,70 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.chunker
-title: Chunker (English)
-sidebar_label: Chunker (English)
-original_id: org.apache.streampipes.processors.textmining.jvm.chunker
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.chunker/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Segments given tokens into chunks (e.g. noun groups, verb groups, ...) and appends the found chunks to the stream.
-
-***
-
-## Required input
-
-Needs a stream with two string list properties:
-1. A list of tokens 
-2. A list of part-of-speech tags (the Part-of-Speech processing element can be used for that)
-
-***
-
-## Configuration
-
-Assign the tokens and the part of speech tags to the corresponding stream property.
-To use this component you have to download or train an openNLP model:
-https://opennlp.apache.org/models.html
-
-## Output
-
-**Example:**
-
-Input:
-```
-tokens: ["John", "is", "a", "Person"]
-tags: ["NNP", "VBZ", "DT", "NN"]
-```
-
-Output:
-```
-tokens: ["John", "is", "a", "Person"]
-tags: ["NNP", "VBZ", "DT", "NN"]
-chunks: ["John", "is", "a Person"]
-chunkType: ["NP", "VP", "NP"])
-```
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md
deleted file mode 100644
index 0d05118..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md
+++ /dev/null
@@ -1,170 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.languagedetection
-title: Language Detection
-sidebar_label: Language Detection
-original_id: org.apache.streampipes.processors.textmining.jvm.languagedetection
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.languagedetection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects the language of incoming text. For a proper detection each text should contain at least 2 sentences.
-
-Supported languages:
-* Afrikaans (afr)
-* Arabic (ara)
-* Asturian (ast)
-* Azerbaijani (aze)
-* Bashkir (bak)
-* Belarusian (bel)
-* Bengali (ben)
-* Bosnian (bos)
-* Breton (bre)
-* Bulgarian (bul)
-* Catalan (cat)
-* Cebuano (ceb)
-* Czech (ces)
-* Chechen (che)
-* Mandarin Chinese (cmn)
-* Welsh (cym)
-* Danish (dan)
-* German (deu)
-* Standard Estonian (ekk)
-* Greek, Modern (ell)
-* English (eng)
-* Esperanto (epo)
-* Estonian (est)
-* Basque (eus)
-* Faroese (fao)
-* Persian (fas)
-* Finnish (fin)
-* French (fra)
-* Western Frisian (fry)
-* Irish (gle)
-* Galician (glg)
-* Swiss German (gsw)
-* Gujarati (guj)
-* Hebrew (heb)
-* Hindi (hin)
-* Croatian (hrv)
-* Hungarian (hun)
-* Armenian (hye)
-* Indonesian (ind)
-* Icelandic (isl)
-* Italian (ita)
-* Javanese (jav)
-* Japanese (jpn)
-* Kannada (kan)
-* Georgian (kat)
-* Kazakh (kaz)
-* Kirghiz (kir)
-* Korean (kor)
-* Latin (lat)
-* Latvian (lav)
-* Limburgan (lim)
-* Lithuanian (lit)
-* Luxembourgish (ltz)
-* Standard Latvian (lvs)
-* Malayalam (mal)
-* Marathi (mar)
-* Minangkabau (min)
-* Macedonian (mkd)
-* Maltese (mlt)
-* Mongolian (mon)
-* Maori (mri)
-* Malay (msa)
-* Min Nan Chinese (nan)
-* Low German (nds)
-* Nepali (nep)
-* Dutch (nld)
-* Norwegian Nynorsk (nno)
-* Norwegian Bokmål (nob)
-* Occitan (oci)
-* Panjabi (pan)
-* Iranian Persian (pes)
-* Plateau Malagasy (plt)
-* Western Panjabi (pnb)
-* Polish (pol)
-* Portuguese (por)
-* Pushto (pus)
-* Romanian (ron)
-* Russian (rus)
-* Sanskrit (san)
-* Sinhala (sin)
-* Slovak (slk)
-* Slovenian (slv)
-* Somali (som)
-* Spanish (spa)
-* Albanian (sqi)
-* Serbian (srp)
-* Sundanese (sun)
-* Swahili (swa)
-* Swedish (swe)
-* Tamil (tam)
-* Tatar (tat)
-* Telugu (tel)
-* Tajik (tgk)
-* Tagalog (tgl)
-* Thai (tha)
-* Turkish (tur)
-* Ukrainian (ukr)
-* Urdu (urd)
-* Uzbek (uzb)
-* Vietnamese (vie)
-* Volapük (vol)
-* Waray (war)
-* Zulu (zul)
-
-***
-
-## Required input
-
-A stream with a string property which contains a text.
-The longer the text, the higher the accuracy of the language detector.
-
-
-***
-
-## Configuration
-
-Simply assign the correct output of the previous stream to the language detector input.
-To use this component you have to download or train an openNLP model:
-https://opennlp.apache.org/models.html
-
-## Output
-
-Adds two fields to the event:
-1. String Property: The acronym of the detected language which can be seen above.
-2. Double Property: The confidence of the detector that it found the correct language. Between 0 (not certain at all) and 1 (very certain).
-
-
-**Example:**
-
-Input: `(text: "Hi, how are you?")`
-
-Output: `(text: "Hi, how are you?", language: "eng", confidenceLanguage: 0.89)`
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md
deleted file mode 100644
index f538d7f..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md
+++ /dev/null
@@ -1,66 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.namefinder
-title: Name Finder
-sidebar_label: Name Finder
-original_id: org.apache.streampipes.processors.textmining.jvm.namefinder
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.namefinder/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Loads a trained model which finds names like locations or organizations.
-
-A list of trained models can be found here: http://opennlp.sourceforge.net/models-1.5/.\
-A guide on how to train a new model can be found here: https://opennlp.apache.org/docs/1.9.1/manual/opennlp.html#tools.namefind.training.
-
-***
-
-## Required input
-
-A stream with a list of tokens from a text.
-
-***
-
-## Configuration
-
-Configure the Name finder so that the tokens are assigned to the "List of Tokens" property
-
-
-#### Model parameter
-
-The trained model which should be used to find the names.
-
-## Output
-
-Appends a string list property to the stream which contains all found names.
-
-**Example (with an loaded english person-name-model):**
-
-Input: `(tokens: ["Hi", "John", "Doe", "is", "here"])`
-
-Output: `(tokens: ["Hi", "John", "Doe", "is", "here"], foundNames: ["John Doe"])`
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md
deleted file mode 100644
index f71ba21..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md
+++ /dev/null
@@ -1,63 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.partofspeech
-title: Part of Speech (English)
-sidebar_label: Part of Speech (English)
-original_id: org.apache.streampipes.processors.textmining.jvm.partofspeech
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.partofspeech/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Takes in a stream of tokens and marks each token with a part-of-speech tag
-The list of used suffixes can be found [here](https://www.ling.upenn.edu/courses/Fall_2003/ling001/penn_treebank_pos.html)
-
-***
-
-## Required input
-
-A stream with a list property which contains the tokens.
-
-***
-
-## Configuration
-
-Simply assign the correct output of the previous stream to the part of speech detector input.
-To use this component you have to download or train an openNLP model:
-https://opennlp.apache.org/models.html
-
-## Output
-
-Appends two list properties to the stream:
-1. String list: The tag for each token
-2. Double list: The confidence for each tag that it is indeed the given tag (between 0 and 1)
-
-**Example:**
-
-Input: `(tokens: ["Hi", "Joe"])`
-
-Output: `(tokens: ["Hi", "Joe"], tags: ["UH", "NNP"], confidence: [0.82, 0.87])`
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md
deleted file mode 100644
index a5ca7aa..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.sentencedetection
-title: Sentence Detection (English)
-sidebar_label: Sentence Detection (English)
-original_id: org.apache.streampipes.processors.textmining.jvm.sentencedetection
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.sentencedetection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects sentences in a text and splits the text accordingly. Only works with english sentences.
-
-***
-
-## Required input
-
-A stream with a string property which contains a text.
-
-***
-
-## Configuration
-
-Simply assign the correct output of the previous stream to the tokenizer input.
-To use this component you have to download or train an openNLP model:
-https://opennlp.apache.org/models.html
-
-## Output
-
-Creates for each sentence in a text a new event in which it replaces the text with the sentence.
-
-**Example:**
-
-Input: `(text: "Hi, how are you? I am fine!")`
-
-Output: `(text: "Hi, how are you?")`, `(text: "I am fine!")`
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md
deleted file mode 100644
index c7891e35..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.jvm.tokenizer
-title: Tokenizer (English)
-sidebar_label: Tokenizer (English)
-original_id: org.apache.streampipes.processors.textmining.jvm.tokenizer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.tokenizer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Segments a given text into Tokens (usually words, numbers, punctuations, ...). Works best with english text.
-
-***
-
-## Required input
-
-A stream with a string property which contains a text.
-
-***
-
-## Configuration
-
-Simply assign the correct output of the previous stream to the tokenizer input.
-To use this component you have to download or train an openNLP model:
-https://opennlp.apache.org/models.html
-
-## Output
-
-Adds a list to the stream which contains all tokens of the corresponding text.
-
-**Example:**
-
-Input: `(text: "Hi, how are you?")`
-
-Output: `(text: "Hi, how are you?", tokens: ["Hi", ",", "how", "are", "you", "?"])`
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md
deleted file mode 100644
index 6c663b0..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.field-converter
-title: Field Converter
-sidebar_label: Field Converter
-original_id: org.apache.streampipes.processors.transformation.flink.field-converter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-converter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Converts a string value to a number data type
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md
deleted file mode 100644
index 47f5174..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md
+++ /dev/null
@@ -1,70 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.field-mapper
-title: Field Mapper
-sidebar_label: Field Mapper
-original_id: org.apache.streampipes.processors.transformation.flink.field-mapper
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-mapper/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Replaces one or more fields with a new field and computes a hash value of these fields
-
-***
-
-## Configuration
-
-* Fields: Fields that will be mapped into a property
-* Name of the new field
-
-***
-
-## Example
-Merge two fields into a hash value
-### Input  event
-```
-{
-  "timestamp":1586380104915,
-  "mass_flow":4.3167,
-  "temperature":40.05,
-  "sensorId":"flowrate01"
-}
-```
-
-### Configuration
-* Fields: mass_flow, temperature
-* Name of new field: demo
-
-### Output event 
-```
-{
-  "timestamp":1586380104915,
-  "sensorId":"flowrate01"
-  "demo":"8ae11f5c83610104408d485b73120832",
-}
-```
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md
deleted file mode 100644
index 513c3d2..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.field-renamer
-title: Field Renamer
-sidebar_label: Field Renamer
-original_id: org.apache.streampipes.processors.transformation.flink.field-renamer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-renamer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Replaces the runtime name of an event property with a custom defined name. Useful for data ingestion purposes where a specific event schema is needed.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md
deleted file mode 100644
index 80bb10f..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.fieldhasher
-title: Field Hasher
-sidebar_label: Field Hasher
-original_id: org.apache.streampipes.processors.transformation.flink.fieldhasher
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.fieldhasher/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-The Field Hasher uses an algorithm to encode values in a field. The Field Hasher can use MD5, SHA1 or SHA2 to hash field values.
-Add a detailed description here
-
-***
-
-## Required input
-Any field of type string
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md
deleted file mode 100644
index 6e48329..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.measurement-unit-converter
-title: Measurement Unit Converter
-sidebar_label: Measurement Unit Converter
-original_id: org.apache.streampipes.processors.transformation.flink.measurement-unit-converter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Converts a unit of measurement to another one
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md
deleted file mode 100644
index 998c90c..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md
+++ /dev/null
@@ -1,50 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.processor.boilerplate
-title: Boilerplate Removal
-sidebar_label: Boilerplate Removal
-original_id: org.apache.streampipes.processors.transformation.flink.processor.boilerplate
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Removes boilerplate tags from HTML and extracts fulltext
-
-***
-
-## Required input
-Requires a Text field containing the HTML
-
-***
-
-## Configuration
-
-Select the extractor type and output mode
-
-## Output
-Appends a new text field containing the content of the html page without the boilerplate
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md
deleted file mode 100644
index a46f78b..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.booloperator.counter
-title: Boolean Counter
-sidebar_label: Boolean Counter
-original_id: org.apache.streampipes.processors.transformation.jvm.booloperator.counter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor monitors a boolean value and counts how often the value of the boolean changes. 
-A user can configure whether the changes from FALSE to TRUE, TRUE to FALSE, or BOTH changes should be counted.
-
-***
-
-## Required input
-
-A boolean value is required in the data stream and can be selected with the field mapping.
-
-### Boolean Field
-
-The boolean value to be monitored.
-
-***
-
-## Configuration
-
-A user can configure whether the changes from TRUE to FALSE, FALSE to TRUE, or all changes of the boolean value should be counted.
-
-### Flank parameter
-
-Either:
-* TRUE -> FALSE: Increase counter on a true followed by a false 
-* FALSE -> TRUE: Increase counter on a false followed by a true
-* BOTH: Increas counter on each change of the boolean value on two consecutive events
-
-## Output
-
-Adds an additional numerical field with the current count value to the event. Events are just emitted when the counter changes.
-Runtime Name: countField
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md
deleted file mode 100644
index 3d9110c..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.booloperator.inverter
-title: Boolean Inverter
-sidebar_label: Boolean Inverter
-original_id: org.apache.streampipes.processors.transformation.jvm.booloperator.inverter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor requires a boolean value in the data stream and inverts its value. (e.g. true -> flase)
-
-***
-
-## Required input
-
-### Boolean Field
-
-The boolean value to be inverted.
-
-***
-
-## Configuration
-No further configuration required
-
-## Output
-The output schema is the same as the input schema. Just the value of the property is changed.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md
deleted file mode 100644
index bc5f36c..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping
-title: Measure Time Between Two Sensors
-sidebar_label: Measure Time Between Two Sensors
-original_id: org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor can be used to measure the time between two boolean sensors.
-For example on a conveyor, where one sensor is placed on the left and one senor placed on the right.
-Parts are transported on the conveyor and the sensors are boolean sensors detecting those parts. 
-The time is measured between the two sensors as well as the amount of complete transportation's is counted.  
-The measurement is initialized once the left sensor is true and stopped once the right sensor is true.
-There can also be multiple parts on the conveyor as long as the individual parts do not change.
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping/time_measure_example.png" width="300px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Required input
-Requires two boolean fields in the datastream.
-
-### Left Field
-The left field starts the timer when value is true.
-
-### Right Field
-The right field stops the timer and emits the event when its value is true.
-
-***
-
-## Configuration
-No furhter configuration is required.
-
-## Output
-Appends two fields to the input event.
-
-### Timer Field
-The timer field is a numeric value representing the time between the two sensors. Runtime name: measured_time
-
-### Counter
-The counter indicated how many events where emitted by this component. Runtime name: counter
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md
deleted file mode 100644
index a9c05e7..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.booloperator.timer
-title: Boolean Timer
-sidebar_label: Boolean Timer
-original_id: org.apache.streampipes.processors.transformation.jvm.booloperator.timer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.timer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor measures how long a boolean value does not change. Once the value is changes the event with the measured time is emitted.
-
-
-***
-
-## Required input
-
-A boolean value is required in the data stream.
-
-### Field
-
-The boolean field which is monitored for state changes.
-
-***
-
-## Configuration
-
-### Timer value
-Define whether it should be measured how long the value is true or how long the value is false.
-
-## Output
-Appends a field with the time how long the value did not change. Is emitted on the change of the boolean value. Runtime name: measured_time 
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md
deleted file mode 100644
index 925452b..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.changed-value
-title: Value Changed
-sidebar_label: Value Changed
-original_id: org.apache.streampipes.processors.transformation.jvm.changed-value
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.changed-value/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor sends out an event everytime a specific object changes. It also adds a timestamp in ms from the system time.
-
-***
-
-## Configuration
-Select property to monitor for changes
-
-Describe the configuration parameters here
-
-## Output
-Emit an event on change and append a timestamp when the change occured
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md
deleted file mode 100644
index cd7c561..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.count-array
-title: Count Array
-sidebar_label: Count Array
-original_id: org.apache.streampipes.processors.transformation.jvm.count-array
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.count-array/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor takes a list field, computes the size of the list and appends the result to the event.
-
-***
-
-## Required input
-
-This processor works with any event that has a field of type ``list``.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### List Field
-
-The field containing the list that should be used.
-
-## Output
-
-Outputs the incoming event while appending the list size (named ``countValue``) to the incoming event.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md
deleted file mode 100644
index 258acf9..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md
+++ /dev/null
@@ -1,77 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.csvmetadata
-title: CSV Metadata Enricher
-sidebar_label: CSV Metadata Enricher
-original_id: org.apache.streampipes.processors.transformation.jvm.csvmetadata
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-Enrich a datastream with information provided in a CSV file.
-The data of the CSV file is matched by an id column with a property value of a String in the data stream.
-
-***
-
-## Description
-Upload a CSV file with static meta information that will be appended to each event.
-The file can contain different information for different keys in the stream.
-
-
-### Structure of CSV file
-The first row containes the runtime names for the properties to insert.
-Once the file is uploaded the user can select which column to use for the matching property and which values should be appended.
-Delimiter: ';'
-
-
-***
-
-## Example
-Add the location of a production line to the event
-
-### Input  event
-```
-{
-  'line_id': 'line1', 
-  'timestamp': 1586378041
-}
-```
-
-### CSV File
-```
-production_line;location
-line1;germany
-line2;uk
-line3;usa
-```
-
-### Configuration
-* The field that is used for the lookup (Example: line_id)
-* The CSV file (Example: Upload the csv file)
-* Field to match (Example: production_line)
-* Fields to append (Example: location)
-
-### Output event 
-```
-{
-  'line_id': 'line1', 
-  'timestamp': 1586378041, 
-  'location': 'germany'
-}
-```
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md
deleted file mode 100644
index 3ed23c2..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.duration-value
-title: Calculate Duration
-sidebar_label: Calculate Duration
-original_id: org.apache.streampipes.processors.transformation.jvm.duration-value
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.duration-value/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor calculates the duration for a given stream with a start timestamp and an end timestamp.
-
-***
-
-## Required input
-Two timestamp fields
-
-***
-
-## Configuration
-
-* Start Timestamp: The first timestamp (t1)
-* End Timestamp: The second timestamp (t2)
-* Time Unit of the result
-
-## Output
-Appends a new field with the difference of t2 and t1
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md
deleted file mode 100644
index 1605d75..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-id: version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge
-title: Signal Edge Filter
-sidebar_label: Signal Edge Filter
-original_id: org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Observes a boolean value and forwards the event when a signal edge is detected
-
-***
-
-## Required input
-
-### Boolean Field
-Boolean field that is observed
-
-***
-
-## Configuration
-### Kind of edge
-* Detect rising edges 
-* Detect falling edges 
-* Detect both
-    
-### Delay
-Defines for how many events the signal must be stable before result is emitted.
-(E.g. if set to 2, the result is not emitted if value toggles between true and false, it fires when two consecutive events are detected after the flank)
-
-## Output
-Emits input event, when the signal edge is detected
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md
deleted file mode 100644
index 4747afc..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state
-title: Boolean To State
-sidebar_label: Boolean To State
-original_id: org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Converts boolean fields to a state string representing the current state of the system.
-This processor requires one or multiple boolean values in the data stream.
-For the selected value which is true, the runtime name is added as the state field.
-***
-
-## Required input
-
-### Boolean Fields
-Boolean fields that are converted to the state when true
-
-### Default State
-When all boolean values are false, a default  state can be defined
-
-### Mapping Configuration
-Configuration to provide a string mapping for each possible value.
-On the left ist the value of the runtime name and on the right the new value (e.g. {"runtimeName": "newValue"}).
-
-***
-
-## Configuration
-No further configuration required
-
-## Output
-The output contains a new value with the string values of the state
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md
deleted file mode 100644
index 9a88a7b..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.buffer
-title: State Buffer
-sidebar_label: State Buffer
-original_id: org.apache.streampipes.processors.transformation.jvm.processor.state.buffer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Buffers values of a sensor, while state does not change.
-Select a state field in the event. Events are buffered as long as state field does not change. When it changes result event is emitted.
-
-***
-
-## Required input
-
-Define the state and sensor value field
-
-### Timestamp
-A mapping  property for a timestamp field
-
-### State
-Select the field representing the state 
-
-### Sensor value to cache
-Select the field with the numerical values to buffer
-
-## Output
-Emits a new event on state change, with the fields `timestamp`, `state`, and a list containing all `sensor values`.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md
deleted file mode 100644
index 2c2a482..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md
+++ /dev/null
@@ -1,70 +0,0 @@
----
-id: version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer
-title: State Buffer Labeler
-sidebar_label: State Buffer Labeler
-original_id: org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Apply a rule to a time-series recorded during a state of a machine. (E.g. when minimum value is lower then 10, add label `not ok` else add label `ok`)
-
-
-***
-
-## Required input
-
-Requires a list with sensor values and a field defining the state
-
-### Sensor values
-
-An array representing sensor values recorded during the state.
-
-### State field
-
-A field representing the state when the sensor values where recorded.
-
-***
-
-## Configuration
-
-### Select a specific state
-When you are interested in the values of a specific state add it here. All other states will be ignored. To get results of all states enter `*`
-
-### Operation
-Operation that will be performed on the sensor values (calculate `maximim`, or `average`, or `minimum`) 
-
-### Condition
-Define a rule which label to add. Example: `<;5;nok` means when the calculated value is smaller then 5 add label ok.
-The default label can be defined with `*;nok`.
-The first rule that is true defines the label. Rules are applied in the same order as defined here.
-
-
-## Output
-Appends a new field  with the label defined in the Condition Configuration
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md
deleted file mode 100644
index ee9bfcb..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number
-title: Number Labeler
-sidebar_label: Number Labeler
-original_id: org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Apply a rule to a value of a field. (E.g. when minimum value is lower then 10, add label `not ok` else add label `ok`)
-
-***
-
-## Required input
-
-Requires a sensor value
-
-### Sensor value
-
-A number representing the current sensor value.
-
-***
-
-## Configuration
-
-### Condition
-Define a rule which label to add. Example: `<;5;nok` means when the calculated value is smaller then 5 add label ok.
-The default label can be defined with `*;nok`.
-The first rule that is true defines the label. Rules are applied in the same order as defined here.
-
-
-## Output
-Appends a new field  with the label defined in the Condition Configuration
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md
deleted file mode 100644
index 061d6a1..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state
-title: String To State
-sidebar_label: String To State
-original_id: org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Convert string fields to a state representing the current state of the system.
-This processor requires one or multiple string values in the data stream.
-For each of the selected values is added to the states field.
-***
-
-## Required input
-
-### String Fields
-String fields that are added to the state array
-
-***
-
-## Configuration
-No further configuration required
-
-## Output
-The output contains a new value with the string values of the state
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md
deleted file mode 100644
index 5132b60..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor
-title: Timestamp Extractor
-sidebar_label: Timestamp Extractor
-original_id: org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor extracts a timestamp into the individual time fields (e.g. day field, hour field, ....)
-
-***
-
-## Required input
-
-This processor requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-### Timestamp Field
-
-The field of the event containing the timestamp to parse.
-
-### Extract Fields
-
-Select the individual parts of the timestamp that should be extracted, e.g., Year, Minute and Day.
-
-## Output
-
-The output of this processor is a new event that contains the fields selected by the ``Extract Fields`` parameter.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md
deleted file mode 100644
index 6a0d5e3..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.split-array
-title: Split Array
-sidebar_label: Split Array
-original_id: org.apache.streampipes.processors.transformation.jvm.split-array
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.split-array/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor takes an array of event properties and creates an event for each of them. Further property of the events can be added to each element
-Add a detailed description here
-
-***
-
-## Required input
-
-This processor works with any event that has a field of type ``list``.
-
-***
-
-## Configuration
-
-### Keep Fields
-
-Fields of the event that should be kept in each resulting event.
-
-### List field
-
-The name of the field that contains the list values that should be split.
-
-
-## Output
-
-This data processor produces an event with all fields selected by the ``Keep Fields`` parameter and all fields of the
- selected list field.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md
deleted file mode 100644
index f9d674d..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.stringoperator.counter
-title: String Counter
-sidebar_label: String Counter
-original_id: org.apache.streampipes.processors.transformation.jvm.stringoperator.counter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor monitors a string field and counts how often the value of the string changes. Hereby, a change is characterized by 
-the value of the field before and the value after the change, combined forming a pair. The processor keeps track of the counter for each pair. 
-
-***
-
-## Required input
-
-A string field is required in the data stream and can be selected with the field mapping.
-
-### String Field
-
-The string field to be monitored.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-The following three fields are appended to the event:
-* [counter] numerical field with the current count value for the given value pair
-* [change_from] the value of the string before the change
-* [change_to] the value of the string after the change 
-
-The event is emitted whenever the value of the string field changes.
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md
deleted file mode 100644
index c4eaf92..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.stringoperator.timer
-title: String Timer
-sidebar_label: String Timer
-original_id: org.apache.streampipes.processors.transformation.jvm.stringoperator.timer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor measures how long a value of a string field does not change. Once the value is changes the event with the measured time and the corresponding string value is emitted.
-
-
-***
-
-## Required input
-
-A string field is required in the data stream.
-
-### Field
-
-The string field which is monitored for any value changes.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-The following two fields are appended to the event:
-* [measured_time] the measured time for the string value to not change
-* [field_value] the corresponding string value 
-
-The event is emitted whenever the value of the string field changes.
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md
deleted file mode 100644
index 9bb2ff1..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.taskduration
-title: Task Duration
-sidebar_label: Task Duration
-original_id: org.apache.streampipes.processors.transformation.jvm.taskduration
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-
-***
-
-## Description
-
-This processors computes the duration of a task, i.e., a field containing a task description. It outputs an event
- every time this task value changes and computes the duration between the first occurrence of this task and the
-  current event. For instance, you can use this event to calculate the time a specific process step requires.
-***
-
-## Required input
-
-A timestamp value is required and a field containing a task value.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-
-Emits an event that contains the process step, built from the names of the first task identifier and the identifier
- of the subsequent task. In addition, the duration is part of the output event, provided in milliseconds.
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md
deleted file mode 100644
index 0028a92..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.transform-to-boolean
-title: Transform to boolean
-sidebar_label: Transform to boolean
-original_id: org.apache.streampipes.processors.transformation.jvm.transform-to-boolean
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-This processors transforms numbers and strings to boolean values.
-
-
-***
-
-## Required input
-A string with the values "true", "True", "false", "False" or a number with value 1.0, 1, 0, or 0.0
-
-***
-
-## Configuration
-
-Select fields that should be converted to boolean.
-
-## Output
-Selected properties of input events are transformed to booleans.
-When the value is not valid an error message is logged and the event is discarde.
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.protocol.set.file.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.protocol.set.file.md
deleted file mode 100644
index 37adf4d..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.protocol.set.file.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: org.apache.streampipes.protocol.set.file
-title: File Set
-sidebar_label: File Set
-original_id: org.apache.streampipes.protocol.set.file
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.protocol.set.file/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Reads the content from a local file.
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.protocol.set.http.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.protocol.set.http.md
deleted file mode 100644
index 8f316fe..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.protocol.set.http.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: org.apache.streampipes.protocol.set.http
-title: HTTP Set
-sidebar_label: HTTP Set
-original_id: org.apache.streampipes.protocol.set.http
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.protocol.set.http/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Regularly poll an HTTP endpoint
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md
deleted file mode 100644
index 401fe35..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.bufferrest
-title: Buffered REST Publisher
-sidebar_label: Buffered REST Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.bufferrest
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.bufferrest/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Collects a given amount of events into a JSON array. Once this event count is reached
-the JSON array is posted to the given REST interface.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### REST URL
-
-The complete URL of the REST endpoint.
-
-### Buffer Size
-
-The amount of events before sending.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md
deleted file mode 100644
index 61816d8..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.jms
-title: JMS Publisher
-sidebar_label: JMS Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.jms
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.jms/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes events to a message broker (e.g., ActiveMQ) using the Java Message Service (JMS) protocol.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### JMS Broker Settings
-
-The basic settings to connect to the broker. 
-The JMS broker URL indicates the URL of the broker (e.g., tcp://localhost), the port indicates the port of the broker
- (e.g., 61616)
-
-
-### JMS Topic
-
-The topic where events should be sent to.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md
deleted file mode 100644
index 448b7c3..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.kafka
-title: Kafka Publisher
-sidebar_label: Kafka Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.kafka
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.kafka/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes events to Apache Kafka.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Kafka Broker Settings
-
-The basic settings to connect to the broker. 
-The Kafka broker URL indicates the URL of the broker (e.g., localhost), the port indicates the port of the broker
- (e.g., 9092)
-
-
-### Kafka Topic
-
-The topic where events should be sent to.
-
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md
deleted file mode 100644
index f4214ed..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.mqtt
-title: MQTT Publisher
-sidebar_label: MQTT Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.mqtt
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.mqtt/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes events to MQTT.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### MQTT Broker Settings
-
-The basic settings to connect to the broker. 
-The MQTT broker URL indicates the URL of the broker (e.g., localhost), the port indicates the port of the broker
-(e.g., 9092)
-
-
-### MQTT Topic
-
-The topic where events should be sent to.
-
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md
deleted file mode 100644
index 5323e4e..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md
+++ /dev/null
@@ -1,79 +0,0 @@
----
-id: version-0.68.0-org.apache.streampipes.sinks.brokers.jvm.nats
-title: NATS Publisher
-sidebar_label: NATS Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.nats
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.nats/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes events to NATS broker.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### NATS Subject
-
-The subject (topic) where events should be sent to.
-
-### NATS Broker URL
-
-The URL to connect to the NATS broker. It can be provided multiple urls separated by commas(,).
- (e.g., nats://localhost:4222,nats://localhost:4223)
- 
-### Username
-
-The username to authenticate the client with NATS broker.
-
-It is an optional configuration.  
-
-### NATS Broker URL
-
-The password to authenticate the client with NATS broker. 
-
-It is an optional configuration.
-
-### NATS Connection Properties
-
-All other possible connection configurations that the nats client can be created with.
-It can be provided as key value pairs separated by colons(:) and commas(,).
- (e.g., io.nats.client.reconnect.max:1, io.nats.client.timeout:1000)
-
-It is an optional configuration.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md
deleted file mode 100644
index fb97bbf..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.pulsar
-title: Pulsar Publisher
-sidebar_label: Pulsar Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.pulsar
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.pulsar/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes events to Apache Pulsar.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Pulsar Broker Hostname
-
-The hostname to connect to the broker. 
- 
-### Pulsar Broker Port
-
-The port to connect to the broker (e.g., 6650)
-
-
-### Pulsar Topic
-
-The topic where events should be sent to.
-
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md
deleted file mode 100644
index d718bdf..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md
+++ /dev/null
@@ -1,75 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.rabbitmq
-title: RabbitMQ Publisher
-sidebar_label: RabbitMQ Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.rabbitmq
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Forwards events to a RabbitMQ broker
-Add a detailed description here
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Host
-
-The hostname of the RabbitMQ broker.
-
-### Port
-
-The port of the RabbitMQ broker.
-
-### User
-
-The username used to connect to the RabbitMQ broker.
-
-### Password
-
-The password used to connect to the RabbitMQ broker.
-
-### Exchange Name
-
-The name of the exchange.
-
-### RabbitMQ Topic
-
-The topic where events should be sent to.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md
deleted file mode 100644
index 981c7e5..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md
+++ /dev/null
@@ -1,53 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.rest
-title: REST Publisher
-sidebar_label: REST Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.rest
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.rest/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Posts a JSON representation of an event to a REST interface.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### REST URL
-
-The complete URL of the REST endpoint.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto.md
deleted file mode 100644
index 9f902b0..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.ditto.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.ditto
-title: Eclipse Ditto
-sidebar_label: Eclipse Ditto
-original_id: org.apache.streampipes.sinks.databases.ditto
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.ditto/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Forwards events to the Eclipse Ditto API.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-(tbd)
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md
deleted file mode 100644
index 5e29bbb..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.flink.elasticsearch
-title: Elasticsearch
-sidebar_label: Elasticsearch
-original_id: org.apache.streampipes.sinks.databases.flink.elasticsearch
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.flink.elasticsearch/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores data in an Elasticsearch database.
-
-***
-
-## Required input
-
-This sink requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Timestamp Field
-
-The field which contains the required timestamp.
-
-### Index Name
-
-The name of the Elasticsearch index where events are stored to.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md
deleted file mode 100644
index 4e528a9..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.jvm.couchdb
-title: CouchDB
-sidebar_label: CouchDB
-original_id: org.apache.streampipes.sinks.databases.jvm.couchdb
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.couchdb/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in an Apache CouchDB database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Hostname
-
-The hostname of the CouchDB instance.
-
-### Port
-
-The port of the CouchDB instance.
-
-### Database Name
-
-The name of the database where events will be stored
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md
deleted file mode 100644
index 98e27a5..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md
+++ /dev/null
@@ -1,86 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.jvm.influxdb
-title: InfluxDB
-sidebar_label: InfluxDB
-original_id: org.apache.streampipes.sinks.databases.jvm.influxdb
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.influxdb/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in an InfluxDB.
-
-***
-
-## Required input
-
-This sink requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname/URL of the InfluxDB instance. (Include http(s)://).
-
-### Port
-
-The port of the InfluxDB instance.
-
-### Database Name
-
-The name of the database where events will be stored.
-
-### Measurement Name
-
-The name of the Measurement where events will be stored (will be created if it does not exist).
-
-### Username
-
-The username for the InfluxDB Server.
-
-### Password
-
-The password for the InfluxDB Server.
-
-### Timestamp Field
-
-The field which contains the required timestamp.
-
-### Buffer Size
-
-Indicates how many events are written into a buffer, before they are written to the database.
-
-### Maximum Flush
-
-The maximum waiting time for the buffer to fill the Buffer size before it will be written to the database in ms.
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md
deleted file mode 100644
index f7c542d..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.jvm.iotdb
-title: IoTDB
-sidebar_label: IoTDB
-original_id: org.apache.streampipes.sinks.databases.jvm.iotdb
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.iotdb/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in a IoTDB database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname of the IoTDB instance.
-
-### Port
-
-The port of the IoTDB instance (default 6667).
-
-### Storage Group Name
-
-The name of the storage group where events will be stored (will be created if it does not exist).
-For each element of the stream a new time series will be created.
-
-### Username
-
-The username for the IoTDB Server.
-
-### Password
-
-The password for the IoTDB Server.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md
deleted file mode 100644
index 4669362..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md
+++ /dev/null
@@ -1,75 +0,0 @@
----
-id: version-0.68.0-org.apache.streampipes.sinks.databases.jvm.mysql
-title: MySQL Database
-sidebar_label: MySQL Database
-original_id: org.apache.streampipes.sinks.databases.jvm.mysql
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.mysql/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events to a MySQL Database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname of the MySQL Server.
-
-### Port
-
-The port of the MySQL Server (default: 3306).
-
-### Database
-
-The database of the MySQL Server the data is written to.
-
-### Table
-
-The table name of the MySQL Server the data is written to.
-
-### Username
-
-The username for the MySQL Server.
-
-### Password
-
-The password for the MySQL Server.
-
-## Output
-
-(not applicable for data sinks)
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md
deleted file mode 100644
index 20320e0..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md
+++ /dev/null
@@ -1,73 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.jvm.opcua
-title: OPC-UA
-sidebar_label: OPC-UA
-original_id: org.apache.streampipes.sinks.databases.jvm.opcua
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.opcua/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in an Apache CouchDB database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Hostname
-
-The hostname of the OPC-UA server.
-
-### Port
-
-The port of the OPC-UA server.
-
-### Namespace Index
-
-The namespace index in which the node should be written
-
-### Node Id
-
-The node id of the resulting node
-
-### Number Mapping
-
-The property of the event that should be written to the OPC-UA server
-
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md
deleted file mode 100644
index 56596e7..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md
+++ /dev/null
@@ -1,74 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.jvm.postgresql
-title: PostgreSQL
-sidebar_label: PostgreSQL
-original_id: org.apache.streampipes.sinks.databases.jvm.postgresql
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.postgresql/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in a Postgres database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname of the PostgreSQL instance.
-
-### Port
-
-The port of the PostgreSQL instance (default 5432).
-
-### Database Name
-
-The name of the database where events will be stored
-
-### Table Name
-
-The name of the table where events will be stored (will be created if it does not exist)
-
-### Username
-
-The username for the PostgreSQL Server.
-
-### Password
-
-The password for the PostgreSQL Server.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md
deleted file mode 100644
index 0ec51c1..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md
+++ /dev/null
@@ -1,53 +0,0 @@
----
-id: org.apache.streampipes.sinks.internal.jvm.dashboard
-title: Dashboard Sink
-sidebar_label: Dashboard Sink
-original_id: org.apache.streampipes.sinks.internal.jvm.dashboard
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.internal.jvm.dashboard/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This sink visualizes data streams in the StreamPipes dashboard. 
-Visualizations can be configured in Live Dashboard of StreamPipes after the pipeline has been started.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-No further configuration necessary, individual visualizations can be configured in the Dashboard itself.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md
deleted file mode 100644
index aeea4aa..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md
+++ /dev/null
@@ -1,86 +0,0 @@
----
-id: org.apache.streampipes.sinks.internal.jvm.datalake
-title: Data Lake
-sidebar_label: Data Lake
-original_id: org.apache.streampipes.sinks.internal.jvm.datalake
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.internal.jvm.datalake/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events in an InfluxDB.
-
-***
-
-## Required input
-
-This sink requires an event that provides a timestamp value (a field that is marked to be of type ``http://schema
-.org/DateTime``.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname/URL of the InfluxDB instance. (Include http(s)://).
-
-### Port
-
-The port of the InfluxDB instance.
-
-### Database Name
-
-The name of the database where events will be stored.
-
-### Measurement Name
-
-The name of the Measurement where events will be stored (will be created if it does not exist).
-
-### Username
-
-The username for the InfluxDB Server.
-
-### Password
-
-The password for the InfluxDB Server.
-
-### Timestamp Field
-
-The field which contains the required timestamp.
-
-### Buffer Size
-
-Indicates how many events are written into a buffer, before they are written to the database.
-
-### Maximum Flush
-
-The maximum waiting time for the buffer to fill the Buffer size before it will be written to the database in ms.
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification.md
deleted file mode 100644
index 2ef1349..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.internal.jvm.notification.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: org.apache.streampipes.sinks.internal.jvm.notification
-title: Notification
-sidebar_label: Notification
-original_id: org.apache.streampipes.sinks.internal.jvm.notification
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.internal.jvm.notification/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Displays a notification in the UI panel of StreamPipes.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-This sink does not have any requirements and works with any incoming event type.
-
-### Notification Title
-
-The title of the notification.
-
-### Content
-
-The notification message.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email.md
deleted file mode 100644
index 0d32b67..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.email.md
+++ /dev/null
@@ -1,68 +0,0 @@
----
-id: org.apache.streampipes.sinks.notifications.jvm.email
-title: Email Notification
-sidebar_label: Email Notification
-original_id: org.apache.streampipes.sinks.notifications.jvm.email
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.notifications.jvm.email/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This sink sends an email to a specified receiver.
-
-Before you use this sink, the settings of your email server need to be configured.
-After you've installed the element, navigate to ``Settings``, open the panel ``Sinks Notifications JVM`` and add your
- mail server and credentials.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-The following configuration is required:
-
-### Receiver Address
-
-The email address of the receiver.
-
-### Subject
-
-The subject of the email.
-
-### Content
-
-The mail text.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md
deleted file mode 100644
index 6b3a5b5..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-id: org.apache.streampipes.sinks.notifications.jvm.onesignal
-title: OneSignal
-sidebar_label: OneSignal
-original_id: org.apache.streampipes.sinks.notifications.jvm.onesignal
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.notifications.jvm.onesignal/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This sink sends a push message to the OneSignal application
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### App Id
-
-The OneSignal application ID.
-
-### API Key
-
-The OneSignal API key.
-
-### Content
-
-The message that should be sent to OneSignal
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md
deleted file mode 100644
index 3af32a0..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md
+++ /dev/null
@@ -1,69 +0,0 @@
----
-id: org.apache.streampipes.sinks.notifications.jvm.slack
-title: Slack Notification
-sidebar_label: Slack Notification
-original_id: org.apache.streampipes.sinks.notifications.jvm.slack
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.notifications.jvm.slack/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Slack bot to send notifications directly into your slack
-
-Before you use this sink, the Slack token needs to be configured.
-After you've installed the element, navigate to ``Settings``, open the panel ``Sinks Notifications JVM`` and add your
-Slack API token.
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Receiver
-
-The receiver of the Slack message.
-
-### Channel Type
-
-The channel type, should be "User" or "Channel"
-
-### Content
-
-The message that should be sent.
-
-### 2nd parameter
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md
deleted file mode 100644
index 26207df..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-id: version-0.68.0-org.apache.streampipes.sinks.notifications.jvm.telegram
-title: Telegram Publisher
-sidebar_label: Telegram Publisher
-original_id: org.apache.streampipes.sinks.notifications.jvm.telegram
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.notifications.jvm.telegram/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publisher to send notifications to a Telegram channel.
-
-In order to be able to do so, you will have first to:
-* Create a Telegram public [channel](https://telegram.org/tour/channels).
-> Private channels/groups: also supported.
-* Create a Telegram BOT via [@BotFather](https://core.telegram.org/bots#3-how-do-i-create-a-bot) and get an API key.
-* Set the bot as [administrator](https://www.wikihow.com/Make-Someone-an-Admin-on-Telegram) in your channel.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here.
-
-### Bot API Key
-
-The API Key generated by `@BotFather` when you created your bot.
-
-### Channel Name or Chat Id
-
-The handle name of your public channel (e.g. `@channel_name`). 
-> For private channels/groups: handle name only available for public channels. Use `chat_id` instead.
-
-### Content
-
-The message to be sent.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/user-guide-first-steps.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/user-guide-first-steps.md
deleted file mode 100644
index 7dba88f..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/user-guide-first-steps.md
+++ /dev/null
@@ -1,210 +0,0 @@
----
-id: user-guide-first-steps
-title: First steps
-sidebar_label: First steps
-original_id: user-guide-first-steps
----
-
-In this section, you'll learn how to create and run pipelines in StreamPipes.
-Before starting with this guide, all steps from the installation guide must be finished successfully and StreamPipes must be up and running.
-
-This guide consists of three steps:
-First, you'll learn how to create your first pipeline using the interactive tutorial.
-Afterwards, this section contains two examples on how to create pipelines based on the built-in data simulator.
- 
-## Interactive Tutorial
-The easiest way to get started with StreamPipes is the interactive tutorial. Once you open the pipeline editor for the first time, you'll see a splash screen as shown below.
-Click **Start tour** to start the interactive tutorial, which will guide you through your first steps with StreamPipes.
- 
-![Interactive Tutorial](/img/quickstart/interactive-tutorial.png)  
-
-If the splash screen does not show up, make sure you've installed the following pipeline elements:
-* Flow rate (data stream)
-* Numerical Filter (processing element)
-* Dashboard (data sink)
-
-After you've finished this very first tour, try the following tours to learn more about other features of StreamPipes:
-* Open the Live Dashboard and start the dashboard tour (by clicking the school icon in the top menu bar) to learn how to create real-time visualizations
-* Open StreamPipes Connect and start the tour to learn how to connect new data sources with StreamPipes.
- 
-## First Examples
-
-In this tutorial, you will create two simple pipelines that demonstrate the basic functionality of StreamPipes.
-The first example deals with monitoring a flow rate sensor.
-This pipeline ensures that everything works properly and data is sent through the whole system.
-In the second example we model a more complex situation detection pipeline that triggers a notification.
-Let's start with our first pipeline.
-If you have problems with any of the examples, please send us an email.
-We are happy to help you.
-
-## Data Simulation
-All the data sources that we have integrated in the StreamPipes demonstrator are simulated according to real world sensors.
-For example a flow rate sensor in a water pipe, which measures how much water flows in that pipe or a water level sensor in a water tank, that reports how high the water level is in the tank.
-In the next section you will use the flow rate sensor to build your first pipeline.
-
-## Flow Rate Visualization
-In the first example, we create a live line chart to monitor the value of the mass flow from a flow rate sensor.
-
-### Create Pipeline
-* As a first step go to the pipeline editor
-* Select the **FRS1** (Flow Rate Source 1)source
-* Then navigate to the **Data Sink** tab
-* Select the **DS** (Dashboard Sink) and connect the source with the sink
-* After connecting the elements save the pipeline by clicking on the save button on the top left corner
-* In the save menu add a name *Flow Rate Monitoring* and a description *This is my very first pipeline!*
-* Also select the **Start pipeline immediatly** checkbox
-* Then click the button **Save and go to pipeline view**
-* You are navigated to the pipeline view and a confirmation that the pipeline was started successfully should be shown
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/01_PipelineEditor_DataStreams.png" alt="Show Pipeline Editor Streams"/>
-    <img src="/img/quickstart/examples_master/02_example1_source.png" alt="Sources"/>
-    <img src="/img/quickstart/examples_master/03_example1_pipeline_finished.png" alt="Pipeline Finished"/>
-    <img src="/img/quickstart/examples_master/04_example1_save.png" alt="Saved Pipeline"/>
-    <img src="/img/quickstart/examples_master/05_example1_pipeline_started.png" alt="Pipeline 01 Started"/>
-</div>
-
-### Create Visualization
-* After we have created the pipeline we must create the line chart
-* Navigate to the **Live Dashboard** of StreamPipes
-* Click on the **Add visualization** button
-* Select the just created pipeline **Flow Rate Monitoring** and click the **next** button
-* For the visualization select the **Line Chart** and click **next** again
-* Now you have to enter the configuration for the line chart
-    * Select time mapping: **timestamp**
-    * Select number mapping: **mass_flow**
-    * Range Minimum: **0** 
-    * Range Maximum: **10**
-* When all parameters are set correctly click the next button again.
-* Congratulation you created the first pipeline and should now see the line chart
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/06_example01_live_visualisation.png" alt="Visualize Pipeline"/>
-    <img src="/img/quickstart/examples_master/07_example01_first_step.png" alt="Configure Visualization Step 1"/>
-    <img src="/img/quickstart/examples_master/08_example01_second_step.png" alt="Configure Visualization Step 2"/>
-    <img src="/img/quickstart/examples_master/09_example01_third_step.png" alt="Configure Visualization Step 3"/>
-    <img src="/img/quickstart/examples_master/10_example1_finished.png" alt="Pipeline 01 Done"/>
-</div>
-
-
-## Condition monitoring of a water tank
-In our second example we are going to create a more complex pipeline.
-This pipeline has two sources, the flow rate sensor from the previous example and a source measuring the water level in a tank.
-Our goal is to send a notification when the flow rate stops and the water level in the water tank sinks too fast.
-In this case a service technician should check the system as soon as possible.
-This example should just illustrate how the individual components work.
-Since the system currently uses simulated data each time the situation occurs a notification is triggered.
-
-Now lets start!
-
-
-### Build the pipeline
-* First we have to select the **FRS1** (Flow Rate Sensor 1) and **WL1** (Water Level) form the sources tab
-* In a first step we want to detect when the flow rate stops
-* Use the **NF** (Numerical Filter) from the processing elements tab and connect it to the **FRS1** source
-* Configure the **Numerical Filter**:
-    * Field name for filter operator: **mass_flow**
-    * Filter Operation: **<**
-    * Threshold value: **1**
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/11_example2_start.png" alt="Start Example 2"/>
-    <img src="/img/quickstart/examples_master/12_example2_numerical.png" alt="Select Numericl Filter"/>
-    <img src="/img/quickstart/examples_master/13_example2_configure_numerical.png" alt="Configure Numerical Filter"/>
-</div>
-
-* As a next step we add an aggregation to the water level. This reduces the inaccuracies we have because the water moves in the tank. 
-* Select the **A** (Aggregation) processing element
-* Connect the **WL1** with **A**
-* Configure **Aggregation**:
-    * Property Selection: **level**
-    * Operation: **Average**
-    * Time Window Size: **10**
-    * Output Frequency: **1**
-    * Groupe By: **None**
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/14_example2_aggregate.png" alt="Select Aggregation"/>
-    <img src="/img/quickstart/examples_master/15_example2_configure_aggregate.png" alt="Configure Aggregation"/>
-        <img src="/img/quickstart/examples_master/15_example2_configure_aggregate_2.png" alt="Configure Aggregation"/>
-
-</div>
-
-* With the next processing element we check if the water level decreases too fast
-* Select **I** (Trend) and connect it to **A**
-* Configure **Trend**:
-    * Timestamp field: **timestamp**
-    * Value to observe: **aggregatedValue** (This value is created by previous element)
-    * Group by: **sensorId**
-    * Increase / Decrease: **Decrease**
-    * Percentage of Increase / Decrease: **20**
-    * Time Window Length: **10**
-    * Select Output: **All**
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/16_example2_increase.png" alt="Select Increase"/>
-    <img src="/img/quickstart/examples_master/17_example2_configure1_increase.png" alt="Configute 01 Increase"/>
-</div>
-
-* Now we connect the two stream with the sequence element, which checks if both events occur in a certain time
-* Select **S** (Sequence) and connect both data streams to it
-* Configure **Sequence**:
-    * Time Window Size: **1**
-    * Time Unit: **sec**
-    
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/19_example2_sequence.png" alt="Select Sequence Detection"/>
-    <img src="/img/quickstart/examples_master/20_example2_configure_sequence.png" alt="ConfigureSequence Detection"/>
-</div>
-
-* Now we create a notification for the service technician that something is wrong with the system
-* Select **N** (Notification) from the data sink tab
-* Connect **S**  with **N**
-* Configure **Notification**: 
-    * Notification title: **Alarm**
-    * Content: **One notification was triggered by our first complex pipeline. Yeahhhh!**
-    
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/21_example2_notification.png" alt="Select Notification"/>
-    <img src="/img/quickstart/examples_master/22_example2_configure_notification.png" alt="Configure Notification"/>
-</div>
-
-* Add the dashboard sink to the increase element to monitor the preliminary results
-* Select **DS** and connect to **I**
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/23_example2_dashboard_sink.png" alt="Select Dashboard"/>
-</div>
-
-* Save the pipeline 
-* Save configuration:
-    * Pipeline Name: **Second Pipeline**
-    * Description: **Complex monitorung rule**
-    * Start pipeline immediately: **CHECK**
-* Click **Save and go to pipeline view**
-* All pipeline elements should be started successfully 
-* It can be seen that the elements run on different technologies, in flink and a java container
-    * http://pe-flink-examples:8090
-    * http://pe-jvm-examples:8090
-* Go to visualization and create **Raw Data** visualization for the new pipeline   
-    
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/25_example2_started.png" alt="Pipeline Started Sucessfull"/>
-    <img src="/img/quickstart/examples/26_example2_visualisation.png" alt="Add Visualization"/>
-</div>
-
-* Every time you can see output in the **Raw Data** visualization of the new pipeline and the **Line Chart** from the first example are zero, a Notification is triggered by the pipeline.
-* Go to the **Notifications** view and have a look at the notification
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples/27_example2_notification.png" alt="Show Notification"/>
-</div>
-
-
-Congratulation you finished the quick start!
-It is recommended to stop the last pipeline, because it will keep creating notifications ;)
-
-We hope we gave you an easy quick start into StreamPipes.
-If you have any questions or suggestions, just send us an email.
-From here on you can explore all features in the [User Guide](user-guide-introduction.md) or go to the [Developer Guide](dev-guide-introduction.md) to learn how to write your own StreamPipes processing elements.
-
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/user-guide-installation.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/user-guide-installation.md
deleted file mode 100644
index c40998a..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/user-guide-installation.md
+++ /dev/null
@@ -1,141 +0,0 @@
----
-id: user-guide-installation
-title: Installation
-sidebar_label: Installation
-original_id: user-guide-installation
----
-## Prerequisites
-
-### Hardware
-
-* The **lite version** (if you simply want to run StreamPipes on a laptop for testing purposes) requires at least 4GB RAM, the **full version** requires at least 10 GB RAM.
-* Docker (latest version, see instructions below)
-* Docker Compose (latest version., see instructions below)
-
-### Supported operating systems
-We rely on Docker and support three operating systems for the StreamPipes system
-
-* Linux
-* OSX
-* Windows 10
-    * Please note that older Windows versions are not compatible with Docker. Also Linux VMs under Windows might not work, due to network problems with docker.
-
-### Web Browser
-StreamPipes is a modern web application, therefore you need a recent version of Chrome (recommended), Firefox or Edge.
-
-### Docker
-You need to have Docker installed on your system before you continue with the installation guide.
-
-
-<div class="admonition info">
-<div class="admonition-title">Install Docker</div>
-<p>Go to https://docs.docker.com/installation/ and follow the instructions to install Docker for your OS. Make sure docker can be started as a non-root user (described in the installation manual, don’t forget to log out and in again) and check that Docker is installed correctly by executing docker-run hello-world</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Configure Docker</div>
-<p>By default, Docker uses only a limited number of CPU cores and memory.
-       If you run StreamPipes on Windows or on a Mac you need to adjust the default settings.
-       To do that, click on the Docker icon in your tab bar and open the preferences.
-       Go to the advanced preferences and set the **number of CPUs to 6** (recommended) and the **Memory to 8GB**.
-       After changing the settings, Docker needs to be restarted.</p></div>
-
-
-## Install StreamPipes
-
-<div class="tab-content" id="myTabContent">
-    <div class="tab-pane fade show active" id="linux" role="tabpanel" aria-labelledby="linux-tab">
-        <ul style="padding-left:0">
-            <li class="installation-step">
-                <div class="wrapper-container" style="align-items: center;justify-content: center;">
-                    <div class="wrapper-step">
-                        <span class="fa-stack fa-2x">
-                             <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                             <strong class="fa-stack-1x" style="color:white;">1</strong>
-                        </span>
-                    </div>
-                    <div class="wrapper-instruction">
-                        <a href="https://github.com/streampipes/streampipes-installer/archive/master.zip">Download</a>
-                        the latest StreamPipes release from Github and extract the zip file to a directory of your choice.
-                    </div>
-                </div>
-            </li>
-            <li class="installation-step">
-                <div class="wrapper-container" style="align-items: center;justify-content: center;">
-                    <div class="wrapper-step">
-                        <span class="fa-stack fa-2x">
-                             <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                             <strong class="fa-stack-1x" style="color:white;">2</strong>
-                        </span>
-                    </div>
-                    <div class="wrapper-instruction">
-                       <div style="margin-bottom:5px;"><b>Linux/Mac:</b> In a command prompt, open the folder <code>osx_linux</code> and run <code>./streampipes
-                            start</code>.<br/>
-                        </div>
-                        <div style="margin-top:5px;">
-                        <b>Windows 10:</b> In a command prompt, open the folder <code>windows10</code> and run <code>streampipes.bat
-                                                    start</code>.<br/>
-                        </div>
-                    </div>
-                </div>
-            </li>
-            <li class="installation-step">
-                <div class="wrapper-container" style="align-items: center;justify-content: center;">
-                    <div class="wrapper-step">
-                        <span class="fa-stack fa-2x">
-                             <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                             <strong class="fa-stack-1x" style="color:white;">3</strong>
-                        </span>
-                    </div>
-                    <div class="wrapper-instruction">
-                       When asked, enter the version (full or lite) and the IP address or hostname of your server (called SERVER_IP in the next step).
-                    </div>
-                </div>
-            </li>
-            <li class="installation-step">
-                <div class="wrapper-container" style="align-items: center;justify-content: center;">
-                    <div class="wrapper-step">
-                        <span class="fa-stack fa-2x">
-                             <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                             <strong class="fa-stack-1x" style="color:white;">4</strong>
-                        </span>
-                    </div>
-                    <div class="wrapper-instruction">
-                        Open your browser, navigate to http://SERVER_IP:80 and finish the setup according to the instructions below.
-                    </div>
-                </div>
-            </li>
-        </ul>
-        </div>
-    </div>
-
-## Setup StreamPipes
-
-Once you've opened the browser at the URL given above, you should see StreamPipes application as shown below.
-To set up the system, enter an email address and a password and click on install.
-At this point, it is not necessary to change anything in the advanced settings menu.
-The installation might take some time, continue by clicking on "Go to login page", once all components are successfully configured.
-
-
-On the login page, enter your credentials, then you should be forwarded to the home page.
-
-Congratulations! You've successfully managed to install StreamPipes. Now we're ready to build our first pipeline!
-
-<div class="my-carousel">
-    <img src="/img/quickstart/setup/01_register_user.png" alt="Set Up User"/>
-    <img src="/img/quickstart/setup/02_user_set_up.png" alt="SetUp StreamPipes Components"/>
-    <img src="/img/quickstart/setup/03_login.png" alt="Go to login page"/>
-    <img src="/img/quickstart/setup/04_home.png" alt="Home page"/>
-</div>
-
-<div class="admonition error">
-<div class="admonition-title">Errors during the installation process</div>
-<p>In most cases, errors during the installation are due to a wrongly configured IP address or an under-powered system.<br/>
-If there is a problem with any of the components, please restart the whole system and delete the "config" directory on the server.
-   This directory is in the same folder as the docker-compose.yml file.<br/>
-   Please also make sure that your system meets the hardware requirements as mentioned in the first section of the installation guide.</p>
-</div>
-
-## Next Steps
-
-Now you can continue with the tutorial on page [First steps](user-guide-first-steps.md).
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/user-guide-introduction.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/user-guide-introduction.md
deleted file mode 100644
index b746ac8..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/user-guide-introduction.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-id: version-0.67.0-user-guide-introduction-old
-title: Introduction
-sidebar_label: Introduction
-original_id: user-guide-introduction-old
----
-
-StreamPipes is a framework that enables users to work with data streams.
-It uses a lot of different technologies especially form the fields of big data, distributed computing and semantic web.
-One of the core concepts of StreamPipes is to add a higher semantic layer on top of big data processing technologies to ease their usage.
-StreamPipes is not just a UI, it is a framework with a lot of different capabilities, like modelling new data processing pipelines, execute them in a distributed environment.
-On top it uses semantics to provide guidance to non-technical people for better analyzing their data streams in a self-service manner.
-
-
-
-## Pipelines
-The core concept of StreamPipes are data processing pipelines.
-Those pipelines use data from different sources (Data Streams), then transform it via Processing Elements and store them in an database or send it to third party systems (Data Sinks).
-A brief introduction is given in the following sections.
-At the next page a detailed tour through StreamPies explains all the different features that are available.
-
-
-## Data Streams
-Data Streams represent the primary source for data in StreamPipes.
-A stream is an ordered sequence of events, where an event is described as one or more observation values.
-Those events can come from different sources like sensors, machines, log files or many more.
-It does not matter what kind of serialization format the events have or which kind of transportation protocol the individual data streams use.
-As long as a semantic description is provided StreamPipes is capable of processing the data.
-
-
-## Processing Elements
-Processing Elements are defined as an processor that transforms one or more input event streams to an output event stream. 
-Those transformations can be rather simple like filtering out events based on a predefined rule or more complex by applying algorithms on the data.  
-Processing elements define stream requirements that are a set of minimum properties an incoming event stream must provide. 
-Furthermore, Processing Elements describe their output based on a set of output strategies.
-They also describe further (human) input in form of configuration parameters.
-The Processing Elements can be implemented in multiple technologies.
-This information is not necessary when constructing a pipeline, the user does not need to know where and how the actual algorithm is deployed and executed.
-During the modelling phase it is possible to set configuration parameters, wich are then injected into the program when it is started.
-A description is provided for all parameters and it is ensured by the system that the user can just enter semantically correct values.
-
-
-## Data Sinks
-Data Sinks consume event streams similar to processing elements with the difference that sinks do not provide an output stream, i.e., they are defined as sinks that perform some action or trigger a visualization as a result of a stream transformation.
-The sinks also define stream requirements that must be fulfilled.
-In a pipeline it is not necessary to use a processing element to transform data.
-Often it can make sense to just use a data sink and connect it directly to the sensor to store the raw data into a data store for offline analysis.
-This is very simple with StreamPipes and no additional code must be written to create such a data lake.
-
-
-## Target Audience
-StreamPipes focuses on multiple target groups.
-This guide is for users who interact with the graphical user interface in the browser.
-If you are interested in the technical details or plan to extend the system with new algorithms, please read the Developer Guide.
-The graphical user interface is designed for domain experts who want to analyze data, but are not interested in technical details and do not want to write code.
-The SDK can be used by software developers to extend the framework with new functionality.
-After importing newly developed pipeline elements, they are available to all users of StreamPipes.
-
-
-## Next Steps
-To test StreamPipes on your local environment go to the [installation guide](user-guide-installation.md).
-If you are further interested in the concepts of StreamPipes continue with the [tour](user-guide-tour.md).
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/user-guide-tour.md b/website-v2/versioned_docs/version-0.65.0-pre-asf/user-guide-tour.md
deleted file mode 100644
index a931c14..0000000
--- a/website-v2/versioned_docs/version-0.65.0-pre-asf/user-guide-tour.md
+++ /dev/null
@@ -1,306 +0,0 @@
----
-id: user-guide-tour
-title: Tour
-sidebar_label: Tour
-original_id: user-guide-tour
----
-
-StreamPipes is a framework that enables domain experts to model and execute stream processing pipelines in a big data infrastructure.
-The graphical user interface of StreamPipes is a web application that provides an easy to use solution for domain experts.
-In this page, an overview of the many features of StreamPipes is given. We will tour through all features and explain what they do and how users can interact with them.
-
-First of all, a user needs to log in to the system.
-The credentials for the user are specified during the installation process.
-
-![StreamPipes Login](/img/features_0_62_0/login.png) 
-
-## Home
-After logging in, the user is redirected on to the home page.
-The home page gives an overview over the different features available in the StreamPipes UI.
-
-On the left, the navigation menu can be seen.
-You can either use the icons on the left side or click on the menu icon on the
-top left to open the details view of the navigation menu.
-
-On the top right, a link refers to the documentation and the logout button is present.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/home/home.png" alt="Home"/>
-    <img src="/img/features_0_62_0/home/open_menu.png" alt="Open Menu"/>
-</div>
-
-
-
-## Pipeline Editor
-The first feature we are going to explain is the Pipeline Editor.
-This is one of the central features of StreamPipes, since graphical modeling of pipelines takes place in this view.
-
-On the top we can see four tabs: __Data Sets__, __Data Streams__, __Processing Elements__, and __Data Sinks__.
-Each tab contains multiple pipeline elements, which can be installed at runtime.
-The installation of pipeline elements is explained later in section [Install Pipeline Elements](user-guide-tour.md#install-pipeline-elements).
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/editor/2_PipelineEditor_DataStreams.png" alt="Data Streams"/>
-    <img src="/img/features_0_62_0/editor/3_PipelineEditor_DataProcessors.png" alt="Processing Elements"/>
-    <img src="/img/features_0_62_0/editor/4_PipelineEditor_DataSinks.png" alt="Data Sinks"/>
-    <img src="/img/features_0_62_0/editor/1_PipelineEditor_DataSets.png" alt="Data Sets"/>
-</div>
-
-There are multiple ways to search for a pipeline element. 
-The easiest way is to enter a search term in the search field on the top left corner.
-The system filters the elements according to the search term and only presents the relevant ones.
-Another way is to select one of the categories from the drop down menu.
-The system then filters the elements according to the selected category.
-The category of an element is defined by its functionality.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/editor/5_text_filter.png" alt="Text Filter"/>
-    <img src="/img/features_0_62_0/editor/6_category_drop_down.png" alt="Category Drop Down"/>
-    <img src="/img/features_0_62_0/editor/7_category_filter.png" alt="Category Filter"/>
-</div>
-
-Modelling of a pipeline starts with choosing one ore more data sources. Therefore a data stream or data set must be selected
-and moved into the editor via drag and drop.
-After adding a data stream, we can select a processing element to transform the events of the data stream.
-This is done again by dragging the processing element icon into our editor.
-The mouse can be used to connect the two elements.
-It is automatically checked in the background if the two elements are semantically compatible.
-If this check is successful, a configuration menu is shown. It contains the parameters that can be modified by the
-user. For all parameters, a description is provided and the system also prevents the user from entering parameters that
-are not correct, according to the semantic description of the element.
-It is also ensured that all required parameters are provided by the user, otherwise an error message is displayed.
-
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/editor/8_connect_elements.png" alt="Connect Elements"/>
-    <img src="/img/features_0_62_0/editor/9_configure_element.png" alt="Configure Elements"/>
-</div>
-
-When the user tries to connect two elements that are not compatible, the system shows a __connection error__ message.
-The example illustrated below shows such a case. The user tried to connect a text filter to a light sensor.
-This is not possible since the text filter processing element requires at least one event property of type string, which is not provided by the light sensor.
-
-![Connection Error](/img/features_0_62_0/editor/10_connection_error.png) 
-
-To further improve the usability, multiple ways are available to connect new elements besides the drag and drop option.
-Each processing element has multiple short-cut buttons to connect it with another element.
-The first one (eye icon) can be used to get a suggestion of all elements that are compatible with the current element.
-The second one (plus icon) gives a recommendation on the elements the user might want to connect, based on the usage of the component in
-other pipelines.
-There is also a button (question tag icon) to open the documentation of a selected element.
-Elements can be deleted by clicking the 'delete' button.
-Each element can also be re-configured at a later point in time using the configuration button.
-There is one important aspect about re-configuration of pipeline elements you need to be aware of: Only elements that are not yet connected to another element can be modified.
-The reason for this behaviour is that some of the following elements might rely on the configuration of previous elements.
-This way it is ensured that the user can not change the behaviour of the pipeline by accident.
- 
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/editor/11_shortcut_buttons.png" alt="Shortcut Buttons"/>
-    <img src="/img/features_0_62_0/editor/12_compatible_elements.png" alt="Compatible Elements"/>
-    <img src="/img/features_0_62_0/editor/13_recommend_elements.png" alt="Recommended elements"/>
-</div>
-
-
-After the pipeline is completely modelled, the editor looks similar to the first image below.
-Especially for larger pipelines, the auto layout button in the editor menu might be helpful.
-With this button, the pipeline will be beautifully aligned in the editor, helping users to get a better overview of the complete pipeline.
-On the top left corner of the editor, the 'save' button can be found.
-After the modelling of the pipeline is done, use this button to save and execute the pipeline.
-A save dialogue pops up when clicking the save button. 
-The pipeline title must be entered and an additional description can be provided.
-It is recommended to always provide a description, because it makes it easier for other users to understand the meaning of the pipeline.
-In the save menu, the user can either just store the pipeline configuration or store it and immediately start the pipeline.
-Once the pipeline is executed, the user is redirected to the _Manage Pipeline_ view.
-In this view, the user gets immediate feedback whether all components did start correctly and the pipeline is up and running.
-This view also shows that individual elements might run in different environments on different servers.
-If there is an error during the execution, a notification containing a (hopefully) detailed error description is provided in this view.
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/editor/14_save_adjust.png" alt="Save adjust delete"/>
-    <img src="/img/features_0_62_0/editor/15_save_dialogue.png" alt="Complete pipeline"/>
-    <img src="/img/features_0_62_0/editor/16_pipeline_sucessfully_started.png" alt="Pipeline sucessfully started"/>
-</div>
-
-## Connect new Data Sources
-With StreamPipes Connect it is possible to connect new data sources in StreamPipes with just a few clicks.
-Therefore, we provide a marketplace with a lot of different adapters that can be configured and executed to create new __Data Streams__ in the __Pipeline Editor__.
-With StreamPipes Connect it is possible to connect specific data sources - e.g. an adapter streaming the current location of the ISS (International Space Station).
-It is also possible to connect generic sources like message brokers or databases.
-If the event schema of the data source is unknown, the system tries to infer the schema by extracting some sample data and analysing it.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/connect/new/01_connect.png" alt="Market Place"/>
-    <img src="/img/features_0_62_0/connect/new/02_mqtt_adapter.png" alt="MQTT adapter"/>
-    <img src="/img/features_0_62_0/connect/new/03_configure_mqtt.png" alt="Configure MQTT adpater"/>
-    <img src="/img/features_0_62_0/connect/new/04_configure_format.png" alt="Guess event schema"/>
-    <img src="/img/features_0_62_0/connect/new/05_guess_schema.png" alt="Guess event schema"/>
-    <img src="/img/features_0_62_0/connect/new/06_edit_adapter.png" alt="Edit adapter"/>
-    <img src="/img/features_0_62_0/connect/new/07_start_adapter.png" alt="Start adapter"/>
-    <img src="/img/features_0_62_0/connect/new/08_data_stream_in_editor.png" alt="New data stram in pipeline editor"/>
-</div>
-
-Additionally to connecting new sources, data can be cleaned, transformed, and enriched with meta-information.
-Therefore, the event schema can be changed or enriched in step 3 (Define Event Schema).
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/connect/edit/01_edit_timestamp.png" alt="Edit a property to timestamp"/>
-    <img src="/img/features_0_62_0/connect/edit/02_change_unit.png" alt="Change Unit of property"/>
-    <img src="/img/features_0_62_0/connect/edit/03_change_unit.png" alt="Change Unit of property"/>
-</div>
-
-## Manage Pipelines
-The _Manage Pipelines_ view provides an overview of all existing pipelines.
-Existing pipelines can be managed using this view.
-For instance, users can start and stop pipelines or delete them when they are not longer needed.
-Pipeline actions can be performed by clicking one of the buttons next to each pipeline.
-For each pipeline, the title and description is displayed in the table.
-By clicking the edit symbol an overview of the created pipline is shown. In this window you are able to analyze statistics, identify errors or edit the pipeline.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/manage_pipelines/1_pipeline_overview.png" alt="Pipeline Overview"/>
-    <img src="/img/features_0_62_0/manage_pipelines/2_pipeline_information.png" alt="Pipeline infomation"/>
-    <img src="/img/features_0_62_0/manage_pipelines/3_delete_pipeline.png" alt="Delete Pipelines"/>
-    <img src="/img/features_0_62_0/manage_pipelines/4_pipeline_deleted.png" alt="Delete Pipelines"/>
-</div>
-
-In a setting with many defined pipelines, it can get really hard to keep track of all pipelines.
-This is why we introduce categories.
-A category is a set of pipelines that can be defined by users in order to better organize pipelines.
-By clicking on the "Manage Categories" button on the top left, a new category can be added to StreamPipes.
-In this example, we create a new category named "New Demo Category".
-After saving a category, pipelines can be added to the newly created category.
-The new category is then presented as a tab in the _Pipeline Management_ view.
-This tab contains all previously defined pipelines.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/manage_pipelines/5_pipeline_category.png" alt="Pipeline Category"/>
-    <img src="/img/features_0_62_0/manage_pipelines/6_add_category.png" alt="Add Pipeline Category"/>
-    <img src="/img/features_0_62_0/manage_pipelines/7_new_category.png" alt="New Category"/>
-    <img src="/img/features_0_62_0/manage_pipelines/8_show_new_category.png" alt="Show new Category"/>
-</div>
-
-## Live Dashboard
-The live dashboard can be used for multiple use cases.
-It is a good way to live monitor a running system in a dashboard, but it can also be used during the pipeline development to get a fast feedback from newly created pipelines.
-Below is a screenshot of an example dashboard showing the current value of pressure, which further shows a line chart and a trafficlight for a water level pipeline.
-All pipelines that contain the "Dashboard Sink" can be visualized in this view.
-To add a new visualisation, click on the "Add visualisation" button on the top left corner.
-Afterwards, a three-step configuration menu is shown.
-The first step is to select the pipeline that should be visualized.
-In the second step, the type of visualization can be defined.
-Currently 10 different types are available, including line charts, various map visualizations and data tables.
-After selecting the type (in our example "Gauge"), you can select the specific measurement values of the data stream that should be displayed.
-In the example below, the water level value should be monitored and the gauge value should range from 0 to 100.
-Once all steps are completed, the new visualization is placed on the dashboard and live data is presented as soon as it becomes available.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/dashboard/01_dashboard.png" alt="Screenshot of live dashboard"/>
-    <img src="/img/features_0_62_0/dashboard/02_new_visualisation.png" alt="Select Pipeline to visualize"/>
-    <img src="/img/features_0_62_0/dashboard/03_select_gauge.png" alt="Select Visualization Type"/>
-    <img src="/img/features_0_62_0/dashboard/04_configure_gauge.png" alt="Configure  Visualzation"/>
-    <img src="/img/features_0_62_0/dashboard/05_new_gauge_done.png" alt="Show new Visualzation"/>
-</div>
-
-## File Download
-With the file download,  it is possible to download stored files directly from Elasticsearch.
-This can be very useful for example when a data dumb is needed for a specific time range.
-All data that is written into Elasticsearch using the _Elasticsearch Sink_ can be accessed by the file downloader.
-A common use case is to download data for offline analysis and to train a machine learning algorithm.
-First, an index must be defined, afterwards, the time range must be set.
-A date picker helps users to enter the time range.
-When a user clicks the "Create File" button the file is created.
-All files stored on the server can be downloaded via the download button.
-If the files are not longer needed, they can be deleted by clicking the delete button.
-This will remove the file from the server.
-Since data is stored in Elasticsearch anyways. it is recommended not to store the files for a longer period of time on the server.
-When a file is needed again at a later point in time it is easy to create it again. 
-This way a lot of disk space on the server can be saved, especially when the files are rather large.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/file_download/01_file_download.png" alt="File Download"/>
-    <img src="/img/features_0_62_0/file_download/02_file_download.png" alt="File Download with selected time range"/>
-    <img src="/img/features_0_62_0/file_download/03_file_download.png" alt="File Download with new File"/>
-</div>
-
-## Notifications
-Notifications are a good solution to notify someone when a urgent situation occurs.
-A notification can be created by using the notification sink in the pipeline editor.
-When using such a sink a configuration dialogue is presented to the user.
-In this dialogue the user must provide enough information to resolve the solution when it occurs.
-The message can be nicely configured in the message editor.
-It is also possible to embed values of the event that triggered the notification.
-This can be done with the #property# notation.
-All available properties are presented in the notification configurator.
-When the notification is triggered the #property# template is replaced with the actual value of the property.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/notification/01_select_notification_sink.png" alt="Select Notification"/>
-    <img src="/img/features_0_62_0/notification/02_configure_notification.png" alt="Configure Notification"/>
-</div>
-
-A pop up icon on the notification tab in the menu shows the user how many unread notifications currently are in the system.
-This icon also alerts users when new notifications occur.
-In the notification overview all notifications are listed.
-On the top are the new notifications that are not read yet.
-A user can mark them as read by clicking on the little envelope icon.
-Those notifications are then no longer in the unread section, but they remain in the "All Messages" view.
-This way it is possible to keep track of all notifications and have a look at them at a later point in time.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/notification/03_new_notification.png" alt="New Notification"/>
-</div>
-
-
-## Install Pipeline Elements
-StreamPipes is highly configurable and extensible.
-Pipeline elements can be added and removed during runtime.
-This can be done in the "Install Pipeline Elements" view.
-All available pipeline elements are shown here and can be selected to install or uninstall.
-It is also possible to select multiple or all of them and then install them all together.
-When a new element is installed by the user it is automatically available in the "Pipeline Editor" and can be used for pipelines.
-Elements that are uninstalled are removed from the system. 
-They can not longer be used within pipelines.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/install_elements/01_install_elements.png" alt="Install Elements View"/>
-    <img src="/img/features_0_62_0/install_elements/02_install_countAggregation.png" alt="Insall new Element"/>
-    <img src="/img/features_0_62_0/install_elements/03_installed_countAggregation.png" alt="Installation Successful"/>
-    <img src="/img/features_0_62_0/install_elements/04_countAggregation_in_editor.png" alt="Show new installed element"/>
-</div>
-
-
-## My Elements
-The "My Elements" view gives a quick overview over all installed pipeline elements.
-Here they can be inspected and the description can be re-imported.
-In this view it is also possible to have a look at the JSON-LD representation of each element.
-This is not important for a user, but it is worth noting that the system uses this machine understandable format to support the user.
-For example all the information of the sources, like data schema or unit information is in the JSON-LD meta data.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/my_elements/01_my_elements.png" alt="My Elements Overview"/>
-    <img src="/img/features_0_62_0/my_elements/02_my_elements_jsonid.png" alt="View JSON-LD"/>
-</div>
-
-## Configuration
-The last feature is the _configuration view_.
-Here, it is possible to change the configuration parameters of installed components.
-All components containing processing elements automatically register in StreamPipes when they are started in the same network as the backend component.
-Once a container is registered it is represented in the configuration view.
-The green dot on the top left indicates that tha container is running properly.
-When there is a problem with a container the green dot changes to red and the user knows there is a problem.
-To configure the parameters the top right arrow of a configuration box must be clicked.
-Then the configuration menu pops up. 
-Within there it is possible to change the parameters of a service.
-To make the changes persistent the "Update" button must be clicked.
-A user should keep in mind that sometimes it is necessary to restart a container when the parameters are changed.
-Sometimes it is also necessary to re-import the pipeline element description, either by uninstalling and re-installing them after the container restart or be reloading the description in the "My elements" view.
-
-<div class="my-carousel">
-    <img src="/img/features_0_62_0/configuration/01_configuration_overview.png" alt="Configuration Overview"/>
-    <img src="/img/features_0_62_0/configuration/02_change_config.png" alt="Change Configuration"/>
-</div>
-
-
-Congratulations! You've just finished your first tour of StreamPipes.
-Although there's still more to learn, we introduced most of the currently available features.
-On the next page, the different processing elements that come with the installation are explained.
diff --git a/website-v2/versioned_docs/version-0.66.0/01_try-installation.md b/website-v2/versioned_docs/version-0.66.0/01_try-installation.md
deleted file mode 100644
index 751bedb..0000000
--- a/website-v2/versioned_docs/version-0.66.0/01_try-installation.md
+++ /dev/null
@@ -1,140 +0,0 @@
----
-id: try-installation
-title: Installation
-sidebar_label: Installation
-original_id: try-installation
----
-
-The easiest way to install StreamPipes is our Docker-based installation. For production-grade deployments, we also
-recommend looking at our Kubernetes support, which is also part of the installation kit.
-
-## Prerequisites
-
-The Docker-based installation requires **Docker** and **Docker Compose** to be installed on the target machine.
-Installation instructions can be found below.
-
-<div class="admonition info">
-<div class="admonition-title">Install Docker</div>
-<p>Go to https://docs.docker.com/installation/ and follow the instructions to install Docker for your OS. Make sure docker can be started as a non-root user (described in the installation manual, don’t forget to log out and in again) and check that Docker is installed correctly by executing docker-run hello-world</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Configure Docker</div>
-<p>By default, Docker uses only a limited number of CPU cores and memory.
-       If you run StreamPipes on Windows or on a Mac you need to adjust the default settings.
-       To do that, click on the Docker icon in your tab bar and open the preferences.
-       Go to the advanced preferences and set the **number of CPUs to 6** (recommended) and the **Memory to 4GB**.
-       After changing the settings, Docker needs to be restarted.</p></div>
-
-### Supported operating systems
-
-The Docker-based installation supports the operating systems **Linux**, **Mac OS X** and **Windows 10**. Older windows
-versions are not fully compatible with Docker. Linux VMs running under Windows might cause network problems with Docker,
-therefore some manual work might be needed to make StreamPipes run properly.
-
-### Web Browser
-
-The StreamPipes application itself will be accessible through a web browser. We recommend a recent version of Chrome (
-best experience), Firefox or Edge.
-
-## Install StreamPipes
-
-<ul style="padding-left:0">
-  <li class="installation-step" style="margin-top:20px;">
-      <div class="wrapper-container" style="">
-          <div class="wrapper-step">
-              <span class="fa-stack fa-2x">
-                   <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                   <strong class="fa-stack-1x" style="color:white;">1</strong>
-              </span>
-          </div>
-          <div class="wrapper-instruction">
-              Download the latest Apache StreamPipes release and extract the zip file to a directory of your choice.
-                  <table class="table" style="margin-top:30px;">
-                      <thead>
-                      <tr style="background:rgb(27, 20, 100);color:white;">
-                          <th scope="col" style="border-bottom:0px;border-top:0px;">File</th>
-                          <th scope="col" style="border-bottom:0px;border-top:0px;">Version</th>
-                          <th scope="col" style="border-bottom:0px;border-top:0px;">Release Date</th>
-                          <th scope="col" style="border-bottom:0px;border-top:0px;">Signatures</th>
-                      </tr>
-                      </thead>
-                      <tbody>
-                      <tr>
-                          <td><a href="https://www.apache.org/dyn/mirrors/mirrors.cgi?action=download&filename=incubator/streampipes/installer/0.67.0/apache-streampipes-installer-0.67.0-incubating-source-release.zip">apache-streampipes-installer-0.67.0-incubating-source-release.zip</a></td>
-                          <td>0.67.0</td>
-                          <td>2020-10-27</td>
-                          <td>
-                              <a href="https://downloads.apache.org/incubator/streampipes/installer/0.67.0/apache-streampipes-installer-0.67.0-incubating-source-release.zip.sha512">SHA</a>
-                              <a href="https://downloads.apache.org/incubator/streampipes/installer/0.67.0/apache-streampipes-installer-0.67.0-incubating-source-release.zip.asc">PGP</a>
-                          </td>
-                      </tr>
-                      </tbody>
-                  </table>
-              <div class="row">
-                  <div class="alert alert-info" role="alert">
-                    The above release file should be verified using the PGP signatures and the <a href="https://downloads.apache.org/incubator/streampipes/KEYS">project release KEYS</a>. See the official ASF <a target="asf" href="https://www.apache.org/dyn/closer.cgi#verify">verification instructions</a> for a description of using the PGP and KEYS files for verification. A SHA512 checksum is also provided as an additional verification method.
-                  </div>
-              </div>
-          </div>
-      </div>
-  </li>
-  <li class="installation-step">
-      <div class="wrapper-container">
-          <div class="wrapper-step">
-              <span class="fa-stack fa-2x">
-                   <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                   <strong class="fa-stack-1x" style="color:white;">2</strong>
-              </span>
-          </div>
-          <div class="wrapper-instruction">
-             <div style="margin-bottom:5px;">In a command prompt, open the folder <code>compose</code> and run <code>docker-compose up -d</code>.
-                <div class="row" style="margin-top:10px;">              
-                    <div class="alert alert-info" role="alert">The folder contains two docker-compose files: The standard file contains the so-called <i>lite</i> installation, which includes less pipeline elements, but also requires for less performant hardware. The <i>full</i> version includes also the Apache Flink wrapper and more pipeline elements, but requires for more memory. See the Github <a href="https://github.com/apache/incubator-streampipes-installer/tree/master/compose">README</a> for complete usage instructions.</div>
-            </div>
-            </div>
-        </div>
-    </div>
-  </li>
-    <li class="installation-step">
-        <div class="wrapper-container" style="align-items: center;justify-content: center;">
-            <div class="wrapper-step">
-                <span class="fa-stack fa-2x">
-                     <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                     <strong class="fa-stack-1x" style="color:white;">3</strong>
-                </span>
-            </div>
-            <div class="wrapper-instruction">
-                Open your browser, navigate to http://localhost:80 (or the domain name of your server) and finish the setup according to the instructions below.
-            </div>
-        </div>
-    </li>
-</ul>
-
-## Setup StreamPipes
-
-Once you've opened the browser at the URL given above, you should see StreamPipes application as shown below. To set up
-the system, enter an email address and a password and click on install. After the installation has finished, continue by clicking on "Go to login
-page", once all components are successfully configured.
-
-On the login page, enter your credentials, then you should be forwarded to the home page.
-
-Congratulations! You've successfully managed to install StreamPipes. Now we're ready to build our first pipeline!
-
-<div class="my-carousel docs-carousel">
-    <img src="/img/01_try-installation/01_register_user.png" alt="Set Up User"/>
-    <img src="/img/01_try-installation/02_user_set_up.png" alt="SetUp StreamPipes Components"/>
-    <img src="/img/01_try-installation/03_login.png" alt="Go to login page"/>
-    <img src="/img/01_try-installation/04_home.png" alt="Home page"/>
-</div>
-
-<div class="admonition error">
-<div class="admonition-title">Errors during the installation process</div>
-<p>In most cases, errors during the installation are due to an under-powered system.<br/>
-If there is a problem with any of the components, please restart the whole system (<code>docker-compose down</code> and eventually also delete the volumes).
-   Please also make sure that your system meets the hardware requirements as mentioned in the first section of the installation guide.</p>
-</div>
-
-## Next Steps
-
-That's it! To ease your first steps with StreamPipes, we've created an [interactive tutorial](01_try-tutorial.md).
diff --git a/website-v2/versioned_docs/version-0.66.0/01_try-overview.md b/website-v2/versioned_docs/version-0.66.0/01_try-overview.md
deleted file mode 100644
index 99af195..0000000
--- a/website-v2/versioned_docs/version-0.66.0/01_try-overview.md
+++ /dev/null
@@ -1,120 +0,0 @@
----
-id: user-guide-introduction
-title: Apache StreamPipes Documentation
-sidebar_label: Overview
-original_id: user-guide-introduction
----
-
-This is the documentation of Apache StreamPipes.
-
-<img class="docs-image docs-image-small" src="/img/01_try-overview/01_streampipes-overview.png" alt="StreamPipes Overview"/>
-
-
-<div class="container grid col-3">
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                🚀 Try
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>Your first steps with Apache StreamPipes.</b></div>
-               <a href="try-installation.html">Install StreamPipes</a>, <a href="try-tutorial.html">Interactive Tutorial</a>
-            </div>
-        </div>
-    </div>
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                💡 Concepts
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>Learn about some general concepts of StreamPipes.</b></div>
-                <a href="concepts-overview.html">Overview</a>
-            </div>
-        </div>
-    </div>
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                🎓 Use
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>Learn how to use the various modules of StreamPipes.</b></div>
-                <a href="use-connect.html">StreamPipes Connect</a>, <a href="use-pipeline-editor.html">Pipeline Editor</a>, 
-                <a href="use-managing-pipelines.html">Managing Pipelines</a>, 
-                <a href="use-live-dashboard.html">Live Dashboard</a>, <a href="use-data-explorer.html">Data Explorer</a>, 
-                <a href="use-notifications.html">Notifications</a>
-            </div>
-        </div>
-    </div>
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                📚 Pipeline Elements
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>Available pipeline elements in StreamPipes.</b></div>
-                <a href="pe/org.apache.streampipes.connect.protocol.stream.kafka.html">Adapters</a>, 
-                <a href="pe/org.apache.streampipes.processors.aggregation.flink.aggregation.html">Data Processors</a>, 
-                <a href="pe/org.apache.streampipes.sinks.databases.jvm.couchdb.html">Data Sinks</a> 
-            </div>
-        </div>
-    </div>
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                ⚡ Deploy 
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>How to set up StreamPipes in test and production environments.</b></div>
-                <a href="deploy-docker.html">Docker</a>, <a href="deploy-kubernetes.html">Kubernetes</a>, <a href="../deploy
-                -use-ssl">Use SSL</a>
-            </div>
-        </div>
-    </div>
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                💻 Extend
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>Write your own pipeline elements for StreamPipes.</b></div>
-                <a href="extend-setup.html">Development Setup</a>, <a href="extend-cli.html">CLI</a>, <a href="../extend
-                -archetypes">Maven Archetypes</a>,
-                <a href="extend-tutorial-data-sources.html">Tutorial Data Sources</a>, <a href="../extend-tutorial-data
-                -processors">Tutorial Data Processors</a>, <a href="extend-tutorial-data-sinks.html">Tutorial Data Sinks
-                </a>,
-                <a href="extend-sdk-event-model.html">Event Model</a>, <a href="extend-sdk-stream-requirements.html">Stream
-                 Requirements</a>, <a href="extend-sdk-static-properties.html">Static Properties</a>,
-                <a href="extend-output-strategies.html">Output Strategies</a>
-            </div>
-        </div>
-    </div>
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                🔧 Technicals
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>Learn about technical concepts behind the curtain.</b></div>
-                <a href="technicals-architecture.html">Architecture</a>, <a href="technicals-user-guidance.html">User
-                 Guidance
-                </a>, <a href="technicals-runtime-wrappers.html">Runtime Wrappers</a>,
-                <a href="technicals-messaging.html">Messaging</a>, <a href="technicals-configuration.html">Configuration</a>
-            </div>
-        </div>
-    </div>
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                👪 Community
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>Get support and learn how to contribute to StreamPipes.</b></div>
-                <a href="community-get-help.html">Get Help</a>, <a href="community-contribute.html">Contribute</a>
-            </div>
-        </div>
-    </div>
-</div>
-
-
diff --git a/website-v2/versioned_docs/version-0.66.0/01_try-tutorial.md b/website-v2/versioned_docs/version-0.66.0/01_try-tutorial.md
deleted file mode 100644
index ba5dee8..0000000
--- a/website-v2/versioned_docs/version-0.66.0/01_try-tutorial.md
+++ /dev/null
@@ -1,21 +0,0 @@
----
-id: try-tutorial
-title: Interactive Tutorial
-sidebar_label: Interactive Tutorial
-original_id: try-tutorial
----
-
-Once you've installed StreamPipes and see the home screen, you'll see a number of modules that are part of the StreamPipes toolbox.
-As a first step, you might be interested in taking the interactive tutorial that helps you create your first pipeline.
-Switch to the **Pipeline Editor** and you will see a dialog that asks you for the start of the interactive tutorial:
-
-<img class="docs-image" src="/img/01_try-tutorial/01_tutorial-welcome.png" alt="Tutorial Welcome Page"/>
-
-Click **Start Tour** to start the tour. In this tour, you'll build a simple pipeline that monitors (simulated) live data from a water tank system.
-Within the tour, perform the actions as recommended and click **Next** to trigger the next steps. Some tour steps won't require to select **Next**, but wait for you to take the recommended action.
-You can cancel the tour anytime by clicking the **Exit Tour** button.
-
-<img class="docs-image" src="/img/01_try-tutorial/02_tutorial-process.png" alt="Tutorial Welcome Page"/>
-
-Now after you've built your first pipeline, you might be interested in reading about some of our core [concepts](02_concepts-overview.md) 
-
diff --git a/website-v2/versioned_docs/version-0.66.0/03_use-configurations.md b/website-v2/versioned_docs/version-0.66.0/03_use-configurations.md
deleted file mode 100644
index 3e7305f..0000000
--- a/website-v2/versioned_docs/version-0.66.0/03_use-configurations.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-id: use-configurations
-title: Configurations
-sidebar_label: Configurations
-original_id: use-configurations
----
-
-tbd
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.66.0/03_use-connect.md b/website-v2/versioned_docs/version-0.66.0/03_use-connect.md
deleted file mode 100644
index b603290..0000000
--- a/website-v2/versioned_docs/version-0.66.0/03_use-connect.md
+++ /dev/null
@@ -1,69 +0,0 @@
----
-id: use-connect
-title: StreamPipes Connect
-sidebar_label: StreamPipes Connect
-original_id: use-connect
----
-
-StreamPipes Connect is the module to connect external data sources with Apache StreamPipes directly from the user interface. 
-StreamPipes Connect offers various adapters for common communication protocols and some specific sensors. Besides connecting data, StreamPipes Connect offers ways to pre-process data without the need to build pipelines and integrates a schema guesser that listens for incoming data and recommends the recognized event schema.
-
-The screenshot below illustrates the data marketplace, which is the start screen of StreamPipes Connect.
-
-<img class="docs-image" src="/img/03_use-connect/01_connect-overview.png" alt="StreamPipes Connect Overview"/>
-
-## Connecting new data sources
-
-### Data Marketplace
-The data marketplace shows a list of all adapters that are currently installed in Apache StreamPipes. Each adapter offers various configuration options which depend on the specifics of the adapter.
-Adapters are distinguished a) by the data source concept they provide (data set or data stream) and b) the adapter type, where we distinguish between _generic adapters_, which usually implement a generic communication protocol such as MQTT or Apache Kafka or a specific sensor interface (e.g., for Netio power sockets).
-Several filter options are available to find a suitable adapter. The configuration of a new adapter starts with selecting one of the available adapters, which starts an assistant that supports the adapter generation.
-
-### Protocol/Basic Settings
-In the first step, basic configurations need to be provided. For instance, for an Apache PLC4X adapter, the IP address of the PLC needs to be provided. After all values are provided, the "Next" button opens the next step.
-
-### Format Specification
-The next step, format generation, is only available for generic adapters which support different message formats to be sent over the corresponding protocol. Think of a message broker that is able to consume messages in both JSON format or binary format.
-Currently supported formats include XML, various JSON representations, images and CSV. After a format has been selected, further format configurations can be provided (depending on the selected format) to further customize the incoming message format.
-
-<img class="docs-image" src="/img/03_use-connect/02_customize-format.png" alt="StreamPipes Connect Format Selection"/>
-
-### Schema Editor
-In the next step, based on the previously provided protocol and format settings, the system will either provide the fixed/pre-defined schema of the adapter or, in case of specific adapters, will connect to the underlying system and try to listen for incoming data. After a few seconds, the schema editor will appear that provides a list of detected fields from the incoming events (the schema).
-
-<img class="docs-image" src="/img/03_use-connect/03_schema-editor.png" alt="StreamPipes Connect Schema Editor"/>
-
-In the toolbar, several configuration options are available which transform the original schema:
-
-* **Add Nested Property**. This option allows to modify the structure of the event by creating a nested structure. The schema can be simply changed by dragging and dropping fields into the nested structure.
-* **Add Static Value**. This option allows to add a field containing a static value (e.g., an identifier) to the event.
-* **Add Timestamp**. This options appends the current timestamp to each incoming event, useful in case the timestamp is not provided by the origin.
-* **Refresh**. Re-triggers the schema guessing.
-* **Delete field**. Select one or more fields by clicking the checkbox on the right and trigger the delete button.
-* **Property scope**. For each field, a property scope can be defined which is either _Measurement_, _Dimension_ or _Header_. These values are later be used in the pipeline editor to assist in configuring pipeline elements and do not have any functional consequence. 
-Use _Measurement_ to indicate the field measures a value (e.g., a temperature value from a sensor), use _Dimension_ for any identifier (e.g., the sensor ID) and use _Header_ for any other metadata such as timestamps.
-
-For each field (also called event property) of the schema, additional configuration options are available by clicking the _Edit_ button:
-
-* **Label**. Used to provide a human-readable label for the field, which will ease the identification of fields when building pipelines.
-* **Runtime Name.** This is the identifier of the field in the underlying message representation format (e.g., the JSON key). Renaming the runtime name will trigger a so-called _transformation rule_ which renames the incoming field name to the new field name before forwarding it to StreamPipes.
-* **Domain Property/Semantic Type**. To help StreamPipes better understand the value which is represented by the field, semantic type information can be given. Up from StreamPipes 0.68.0, the semantic type can be selected from a wide range of available options. Additionally, an URL can be manually provided that indicates the meaning of the value (e.g., http://schema.org/Temperature).
-* **Mark as Timestamp**. Indicates that the selected value represents a timestamp. When selected, a _timestamp converter_ can be configured which will convert incoming timestamps to the UNIX timestamp.
-* **Runtime Type**. Here, the data type can be changed  
-* **Unit**. Allows to specify the unit in which the value is measured. Once selected, you can also automatically convert the unit to a target unit, which will then be inserted into the data stream produced by the adapter (see screenshot below). 
-
-<img class="docs-image" src="/img/03_use-connect/04_schema-editor-conversion.png" alt="StreamPipes Connect Unit Conversion"/>
-
-### Adapter Generation
-Finally, the adapter is ready to be started. In the _Adapter Generation_ page, a name and description for the resulting data stream must be provided.
-Once started, StreamPipes creates your new adapter and displays a preview of the connected data, which refreshes about once per second.
-Afterwards, the newly created data stream is available in the pipeline editor for further usage.
-
-<img class="docs-image" src="/img/03_use-connect/05_adapter-generation.png" alt="StreamPipes Connect Adapter Generation"/>
-
-## Managing adapters
-
-Currently running adapters are available in the "Running adapters" section of StreamPipes Connect. Existing adapters can be stopped and deleted. Currently, there is no mechanism to edit an existing adapter or to stop the adapter without deleting it.
-
-### Adapter Templates
-For frequently used configurations, adapter templates can be created. An adapter template is a pre-configured adapter which can be further customized by users. Created adapter templates are available in the marketplace similar to standard adapters.
diff --git a/website-v2/versioned_docs/version-0.66.0/03_use-dashboard.md b/website-v2/versioned_docs/version-0.66.0/03_use-dashboard.md
deleted file mode 100644
index 469adb5..0000000
--- a/website-v2/versioned_docs/version-0.66.0/03_use-dashboard.md
+++ /dev/null
@@ -1,67 +0,0 @@
----
-id: use-dashboard
-title: Live Dashboard
-sidebar_label: Live Dashboard
-original_id: use-dashboard
----
-
-The live dashboard can be used to visualize live data of data streams using a set of visualizations
-The entry page of the live dashboard lists all created dashboards as in the screenshot below:
-
-<img class="docs-image" src="/img/03_use-dashboard/01_dashboard-overview.png" alt="StreamPipes Dashboard Overview"/>
-
-## Visualizing Data Streams
-
-To visualize data streams in the live dashboard, a pipeline must be created that makes use of the so-called **Dashboard Sink**.
-Any data stream or data processor can serve as an input of the dashboard sink. Switch to the pipeline editor, create a pipeline and configure the dashboard sink. The visualization name is used to identify the sink in case multiple dashboard sinks are used within a single pipeline.
-
-## Managing Dashboards
-Multiple dashboards can be created, e.g., to organize different assets in a single dashboard view.
-
-A new dashboard can be created by clicking the _New Dashboard_ button, which opens a dialog that requires basic dashboard settings such as the title and description of the new dashboard.
-Once created, the dashboard will be shown in the overview. Here, the following dashboard actions are available:
-
-* **Show** opens the dashboard.
-* **Window** opens the dashboard in a new window with reduced controls, e.g., without the StreamPipes navigation and toolbar. This is a useful view for standalone displays that should visualize key parameters.
-* **Settings** allows to modify the basic dashboard settings. 
-* **Edit** opens the dashboard in edit mode, where widgets can be added to the dashboard.
-+ **Delete** deletes the selected dashboard.
-
-## Creating Visualizations
-
-Visualizations can be added to each dashboard in form of widgets. To add new visualizations, switch to the dashboard in _Edit_ mode.
-In edit mode, a button appears that allows to add a new visualization.
-
-Adding a new visualization is supported by a wizard consisting of three steps:
-
-<img class="docs-image" src="/img/03_use-dashboard/02_add-widget.png" alt="StreamPipes Dashboard Pipeline Selection"/>
-
-* **Select pipeline** is the first step where a pipeline is selected on which the visualization is based. In this view, all pipelines are listed that have at least one **Dashboard Sink**. In case a pipeline contains multiple dashboard sinks, the visualization name is listed below the pipeline name which eases discovering of the proper visualization.
-* **Select widget** is the next step where the visualization widget must be selected. StreamPipes automatically filters this list based on input requirements of widgets. For instance, image visualizations are only visible if the input data stream provides an image object.
-* **Configure widget** provides widget-specific settings to configure the visualization. In most cases, colors and titles of widgets can be modified. Additionally, chart-specific settings such as axis value ranges can be configured.
-
-<img class="docs-image" src="/img/03_use-dashboard/03_configure-widget.png" alt="StreamPipes Dashboard Widget Configuration"/>
-
-By clicking _Create_, the new widget is placed on the canvas. Size and positioning of visualizations can be flexibly changed based on the provided grid. To change the widget configuration, the _Settings_ button of each widget can be clicked to re-open the configuration dialog.
-
-Once created, the dashboard provides a live view of all visualizations:
-
-<img class="docs-image" src="/img/03_use-dashboard/04_live-dashboard.png" alt="StreamPipes Live Dashboard"/>
-
-
-Before the dashboard is closed, make sure to click the _Save_ button to persist the updated dashboard. Changes can be discarded by clicking the _Discard_ button.
-
-
-## Available widgets
-
-The following visualizations are available in the latest release:
-
-* Area Chart
-* Gauge
-* HTML page (renders HTML markup)
-* Image  
-* Line Chart
-* Raw (displays the raw JSON input for debugging purposes)
-* Single Value (displays a single measurement)
-* Table
-* Traffic Light
diff --git a/website-v2/versioned_docs/version-0.66.0/03_use-data-explorer.md b/website-v2/versioned_docs/version-0.66.0/03_use-data-explorer.md
deleted file mode 100644
index a1025ea..0000000
--- a/website-v2/versioned_docs/version-0.66.0/03_use-data-explorer.md
+++ /dev/null
@@ -1,19 +0,0 @@
----
-id: use-data-explorer
-title: Data Explorer
-sidebar_label: Data Explorer
-original_id: use-data-explorer
----
-
-The data explorer can be used to visualize and explore data streams that are persisted by using the **Data Lake** sink.
-
-<img class="docs-image" src="/img/03_use-data-explorer/01_data-explorer-overview.png" alt="StreamPipes Data Explorer Overview"/>
-
-It provides a canvas where various visualizations from multiple pipelines can be placed. A global date and time range can be selected for all displayed visualizations.
-
-The data explorer is currently available as an early beta version and features are still subject to change. A more detailed documentation will be available once the data explorer is available in a stable version.
-
-## Using the data explorer
-
-In the data explorer, any pipeline that uses the so-called **Data Lake** sink can be explored in the data explorer. Switch to the pipeline editor and add the data lake sink to a data processor or stream.
-The sink requires an index name as a configuration parameter, which is used as an identifier in the data explorer.
diff --git a/website-v2/versioned_docs/version-0.66.0/03_use-pipeline-editor.md b/website-v2/versioned_docs/version-0.66.0/03_use-pipeline-editor.md
deleted file mode 100644
index cb7c9a2..0000000
--- a/website-v2/versioned_docs/version-0.66.0/03_use-pipeline-editor.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-id: use-pipeline-editor
-title: Pipeline Editor
-sidebar_label: Pipeline Editor
-original_id: use-pipeline-editor
----
-
-The pipeline editor module supports building pipelines that transform a data stream using a set of resuable data processors and data sinks.
-The empty pipeline editor looks similar to the illustration below after a new installation.
-
-<img class="docs-image" src="/img/03_use-pipeline-editor/01_pipeline-editor-overview.png" alt="StreamPipes Pipeline Editor Overview"/>
-
-## Pipeline Elements
-The four main concepts data sets, data streams, data processors and data sinks are available at the top of the pipeline editor. By switching the tabs, the individual pipeline elements for each category can be found.
-By clicking the questionmark symbol, which appears when hovering over an element, additional information can be viewed (e.g., for data streams a live preview of incoming data and the documentation of the pipeline element for data processors and sinks).
-
-<img class="docs-image" src="/img/03_use-pipeline-editor/02_pipeline-element-info.png" alt="StreamPipes Pipeline Element Info"/>
-
-## Creating Pipelines
-Pipelines are built by dragging data streams, processors and sinks into the pipeline assembly area. Typically, a pipeline is built step-by-step starting with a data soure (stream or set). 
-Afterwards, data processors and sinks are subsequently added to the pipeline. Connections between pipeline elements are made by selecting the gray connector of the source and moving it to the target pipeline element.
-Once a connection is made, StreamPipes performs a quick validation step and, in case two pipeline elements are compatible, automatically opens a configuration window.
-
-### Configuring Pipeline Elements
-The configuration depends on the selected pipeline element and looks similar to the screenshot below.
-In general, pipeline elements are configured by providing the required values. Once the pipeline element is fully configured, the _Save_ button activates and can be used to save the configuration for the pipeline element.
-
-<img class="docs-image" src="/img/03_use-pipeline-editor/03_configure-pipeline-element.png" alt="StreamPipes Pipeline Element Configuration"/>
-
-In addition, the following options are available in the pipeline element configuration menu:
-* **Show documentation** extends the view and displays the pipeline element's documentation next to the configuration view.
-* **Show only recommended settings** filters the list of available fields provided by the connected input data stream based on the _property scope_, e.g., so that only measurement values are displayed and dimension fields from the input stream are not available for selection. If deactivated, selections contain the full list of available fields that match the input requirement of the data processor.
-
-### Pipeline Element Options
-Further options for a pipeline element can be displayed by hovering over a pipeline element in the assembly area, so that additional buttons appear around the pipeline element:
-
-* **Configure element** re-opens the configuration view to update the pipeline element configuration (only available for data processors and sinks)
-* **Delete element** removes the pipeline element from the pipeline  
-* **Help** opens the pipeline element's documentation
-* **Compatible element** opens a dialog which shows all pipeline elements that are compatible to the current element's output data stream. The dialog offers an alternative to selecting pipeline elements directly from the pipeline element selection in the top.
-* **Pipeline Element Recommendation** opens a dialog which shows all recommended pipeline elements that are compatible the current element's output data stream. The recommendation is based on previously connected pipeline elements and is displayed below.
-
-<img class="docs-image" src="/img/03_use-pipeline-editor/04_pipeline-element-recommendation.png" alt="StreamPipes Pipeline Element Recommendation"/>
-
-### Pipeline Editor Options
-Several pipeline editor options are available in the menu bar of the pipeline assembly:
-
-<img class="docs-image" src="/img/03_use-pipeline-editor/05_pipeline-editor-options.png" alt="StreamPipes Pipeline Editor Options"/>
-
-* **Save pipeline** opens the save dialog (see below)
-* **Pan** allows to pan within the assembly area, useful for larger pipelines that do not fit in the screen
-* **Select** is visible if pan mode is active and switches back to the default select mode
-* **Zoom in/out** triggers the zoom in the pipeline assembly
-* **Auto Layout** layouts the pipeline in a much more beautiful way than you are able to do by yourself ;-)
-* **All pipeline modification saved** is displayed if the current pipeline has been cached. Cache updates are triggered after every change of the pipeline so that changes are not lost after reloading the window.
-* **Hints** are shown to display current errors (e.g., incomplete pipelines). Details can be opened by clicking the hint button.
-* **Clear assembly** clears the assembly and removes the current pipeline.
-
-### Saving a pipeline
-To save a pipeline, press the _save pipeline_ button. A dialog pops up where a name and description of the pipeline can be entered (only name is mandatory).
-Additionally, a pipeline can be directly started after it has been stored by checking the corresponding button.
-
-<img class="docs-image" src="/img/03_use-pipeline-editor/06_save-pipeline.png" alt="StreamPipes Save Pipeline Dialog"/>
-
-
diff --git a/website-v2/versioned_docs/version-0.66.0/05_deploy-docker.md b/website-v2/versioned_docs/version-0.66.0/05_deploy-docker.md
deleted file mode 100644
index 7dbc33a..0000000
--- a/website-v2/versioned_docs/version-0.66.0/05_deploy-docker.md
+++ /dev/null
@@ -1,74 +0,0 @@
----
-id: deploy-docker
-title: Docker Deployment
-sidebar_label: Docker Deployment
-original_id: deploy-docker
----
-
-StreamPipes Compose is a simple collection of user-friendly `docker-compose` files that easily lets gain first-hand experience with Apache StreamPipes.
-
-> **NOTE**: We recommend StreamPipes Compose to only use for initial try-out and testing. If you are a developer and want to develop new pipeline elements or core feature, use the [StreamPipes CLI](06_extend-cli.md).
-
-#### TL;DR: A one-liner to rule them all :-)
-
-```bash
-docker-compose up -d
-```
-Go to http://localhost to finish the installation in the browser. Once finished, switch to the pipeline editor and start the interactive tour or check the [online tour](https://streampipes.apache.org/docs/docs/user-guide-tour/) to learn how to create your first pipeline!
-
-## Prerequisites
-* Docker >= 17.06.0
-* Docker-Compose >= 1.17.0 (Compose file format: 3.4)
-* Google Chrome (recommended), Mozilla Firefox, Microsoft Edge
-
-Tested on: **macOS, Linux, Windows 10** (CMD, PowerShell, GitBash)
-
-**macOS** and **Windows 10** (Pro, Enterprise, Education) users can easily get Docker and Docker-Compose on their systems by installing **Docker for Mac/Windows** (recommended).
-
-> **NOTE**: On purpose, we disabled all port mappings except of http port **80** to access the StreamPipes UI to provide minimal surface for conflicting ports.
-
-## Usage
-We provide two options to get you going:
-
-- **default**: a light-weight option with few pipeline elements, needs less memory
-- **full**:  contains more pipeline elements, requires **>16 GB RAM** (recommended)
-
-**Starting** the **default** option is as easy as simply running:
-> **NOTE**: Starting might take a while since `docker-compose up` also initially pulls all Docker images from Dockerhub.
-
-```bash
-docker-compose up -d
-# go to after all services are started http://localhost
-```
-After all containers are successfully started just got to your browser and visit http://localhost to finish the installation. Once finished, switch to the pipeline editor and start the interactive tour or check the [online tour](https://streampipes.apache.org/docs/docs/user-guide-tour/) to learn how to create your first pipeline!
-
-**Stopping** the **default** option is similarly easy:
-```bash
-docker-compose down
-# if you want to remove mapped data volumes, run:
-# docker-compose down -v
-```
-
-Starting the **full** option is almost the same, just specify the `docker-compose.full.yml` file:
-```bash
-docker-compose -f docker-compose.full.yml up -d
-# go to after all services are started http://localhost
-```
-Stopping the **full** option:
-```bash
-docker-compose -f docker-compose.full.yml down
-#docker-compose -f docker-compose.full.yml down -v
-```
-
-## Update services
-To actively pull the latest available Docker images use:
-```bash
-docker-compose pull
-# docker-compose -f docker-compose.full.yml pull
-```
-
-## Upgrade
-To upgrade to another StreamPipes version, simply edit the `SP_VERSION` in the `.env` file.
-```
-SP_VERSION=<VERSION>
-```
diff --git a/website-v2/versioned_docs/version-0.66.0/06_extend-archetypes.md b/website-v2/versioned_docs/version-0.66.0/06_extend-archetypes.md
deleted file mode 100644
index 6d6d05a..0000000
--- a/website-v2/versioned_docs/version-0.66.0/06_extend-archetypes.md
+++ /dev/null
@@ -1,144 +0,0 @@
----
-id: extend-archetypes
-title: Maven Archetypes
-sidebar_label: Maven Archetypes
-original_id: extend-archetypes
----
-
-In this tutorial we explain how you can use the Maven archetypes to develop your own StreamPipes processors and sinks.
-We use IntelliJ in this tutorial, but it works with any IDE of your choice.
-
-## Prerequisites
-You need to have Maven installed, further you need an up and running StreamPipes installation on your development computer.
-To ease the configuration of environment variables, we use the IntelliJ [env Plugin](https://plugins.jetbrains.com/plugin/7861-envfile).
-Install this in IntelliJ. The development also works without the plugin, then you have to set the environment variables manually instead of using the env configuration file.
-
-## Create Project
-To create a new project, we provide multiple Maven Archteypes.
-Currently, we have archetypes for the JVM and Flink wrappers, each for processors and sinks.
-The commands required to create a new pipeline element project can be found below. Make sure that you select a version compatible with your StreamPipes installation.
-Copy the command into your terminal to create a new project.
-The project will be created in the current folder.
-First, the ``groupId`` of the resulting Maven artifact must be set.
-We use ``groupId``: ``org.example`` and ``artifactId``: ``ExampleProcessor``.
-You can keep the default values for the other settings, confirm them by hitting enter.
-Now, a new folder with the name ``ExampleProcessor`` is generated.
-
-The current {sp.version} is 0.67.0
-
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.apache.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-processors-jvm  \
-  -DarchetypeVersion={sp.version}
-```
-<details class="info">
-    <summary>Select: [Processors / Sinks] [JVM / Flink]</summary>
-
-## Processors JVM
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.apache.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-processors-jvm  \
-  -DarchetypeVersion={sp.version}
-```
-
-## Processors Flink
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.apache.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-processors-flink  \
-  -DarchetypeVersion={sp.version}
-```
-
-## Sinks JVM
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.apache.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-sinks-jvm  \
-  -DarchetypeVersion={sp.version}
-```
-
-## Sinks Flink
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.apache.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-sinks-flink  \
-  -DarchetypeVersion={sp.version}
-```
-</details>
-
-
-## Edit Processor
-Open the project in your IDE.
-If everything worked, the structure should look similar to the following image.
-The *config* package contains all the configuration parameters of your processors / sinks.
-In the *main* package, it is defined which processors / sinks you want to activate and the *pe.processor.example* package contains three classes with the application logic.
-For details, have a look at the other parts of the Developer Guide, where these classes are explained in more depth.
-
-<img src="/img/archetype/project_structure.png" width="30%" alt="Project Structure"/>
-
-Open the class *Example* and edit the ``onEvent`` method to print the incoming event, log it to the console and send it to the next component without changing it.
-
-```java
-@Override
-public void onEvent(Event event, SpOutputCollector collector) {
-    // Print the incoming event on the console
-    System.out.println(event);
-
-    // Hand the incoming event to the output collector without changing it.
-    collector.collect(event);
-}
-```
-
-## Start Processor
-Before the processor can be started, you need to edit the *env* file in the *development* folder.
-Replace all local hosts in this file with the IP address or DNS name of your computer.
-This is relevant to make the mapping between the services running in Docker and your component running in the local IDE.
-After all updates are updated, this file is used by the envfile plugin to provide configuration parameters to the pipeline element.
-Alternatively, environment variables can also be set on your host or IDE.
-Now start the project by clicking on **(Run -> Edit Configuration)**.
-Add a new configuration in the Configuration menu by clicking on the + sign and select **Application**.
-Name the configuration *ExampleProcessor* and select the *Init* class as the 'Main class'.
-Then set *ExampleProcessor* in 'Use classpath of module'.
-
-
-As the last step, switch to the tab *EnvFile* and load the env file.
-Click on 'Enable EnvFile' to activate it and add the just edited env file by clicking on the + sign.
-Save all the changes by clicking *Apply*.
-Now you can start the processor.
-
-<div class="my-carousel">
-    <img src="/img/archetype/run_configuration.png" alt="Configuration View"/>
-    <img src="/img/archetype/run_env_configuration.png" alt="Environment Configuration View"/>
-</div>
-
-To check if the service is up and running, open the browser on *'localhost:6666'*. The machine-readable description of the processor should be visible as shown below.
-
-<img src="/img/archetype/endpoint.png" width="90%" alt="Project Structure"/>
-
-
-<div class="admonition error">
-<div class="admonition-title">Common Problems</div>
-<p>
-If the service description is not shown on 'localhost:6666', you might have to change the port address.
-This needs to be done in the configuration of your service, further explained in the configurations part of the developer guide.
-
-If the service does not show up in the StreamPipes installation menu, click on 'MANAGE ENDPOINTS' and add 'http://<span></span>YOUR_IP_OR_DNS_NAME:6666'.
-Use the IP or DNS name you provided in the env file.
-After adding the endpoint, a new processor with the name *Example* should show up.
-</p>
-</div>
-
-Now you can go to StreamPipes.
-Your new processor *'Example'* should now show up in the installation menu.
-Install it, then switch to the pipeline view and create a simple pipeline that makes use of your newly created processor.
-In case you opened the StreamPipes installation for the first time, it should have been automatically installed during the setup process.
-
-<img src="/img/archetype/example_pipeline.png" width="80%" alt="Project Structure"/>
-
-Start this pipeline.
-Now you should see logging messages in your console and, once you've created a visualization, you can also see the resulting events of your component in StreamPipes.
-
-Congratulations, you have just created your first processor!
-From here on you can start experimenting and implement your own algorithms.
diff --git a/website-v2/versioned_docs/version-0.66.0/06_extend-cli.md b/website-v2/versioned_docs/version-0.66.0/06_extend-cli.md
deleted file mode 100644
index 9a2eda2..0000000
--- a/website-v2/versioned_docs/version-0.66.0/06_extend-cli.md
+++ /dev/null
@@ -1,187 +0,0 @@
----
-id: extend-cli
-title: StreamPipes CLI
-sidebar_label: StreamPipes CLI
-original_id: extend-cli
----
-
-The StreamPipes command-line interface (CLI) is focused on developers in order to provide an easy entrypoint to set up a suitable dev environment, either planning on developing
-
-* new extensions such as **connect adapters, processors, sinks** or,
-* new core features for **backend** and **ui**.
-
-## TL;DR
-
-```bash
-streampipes env --list
-[INFO] Available StreamPipes environment templates:
-pipeline-element
-...
-streampipes env --set pipeline-element
-streampipes up -d
-```
-> **NOTE**: use `./streampipes` if you haven't add it to the PATH and sourced it (see section "Run `streampipes` from anywhere?").
-
-## Prerequisites
-The CLI is basically a wrapper around multiple `docker` and `docker-compose` commands plus some additional sugar.
-
-* Docker >= 17.06.0
-* Docker-Compose >= 1.26.0 (Compose file format: 3.4)
-* Google Chrome (recommended), Mozilla Firefox, Microsoft Edge
-* For Windows Developer: GitBash only
-
-
-Tested on: **macOS**, **Linux**, **Windows***)
-
-> **NOTE**: *) If you're using Windows the CLI only works in combination with GitBash - CMD, PowerShell won't work.
-
-
-## CLI commands overview
-
-```
-StreamPipes CLI - Manage your StreamPipes environment with ease
-
-Usage: streampipes COMMAND [OPTIONS]
-
-Options:
-  --help, -h      show help
-  --version, -v   show version
-
-Commands:
-  clean       Remove StreamPipes data volumes, dangling images and network
-  down        Stop and remove StreamPipes containers
-  env         Inspect and select StreamPipes environments
-  info        Get information
-  logs        Get container logs for specific container
-  ps          List all StreamPipes container for running environment
-  pull        Download latest images from Dockerhub
-  restart     Restart StreamPipes environment
-  up          Create and start StreamPipes container environment
-
-Run 'streampipes COMMAND --help' for more info on a command.
-```
-
-## Usage: Along dev life-cycle
-
-**List** available environment templates.
-```bash
-streampipes env --list
-```
-
-**Inspect** services in an available environment to know what kind of services it is composed of.
-```bash
-streampipes env --inspect pipeline-element
-```
-
-**Set** environment, e.g. `pipeline-element`, if you want to write a new pipeline element.
-```bash
-streampipes env --set pipeline-element
-```
-
-**Start** environment ( default: `dev` mode). Here the service definition in the selected environment is used to start the multi-container landscape.
-> **NOTE**: `dev` mode is enabled by default since we rely on open ports to core service such as `consul`, `couchdb`, `kafka` etc. to reach from the IDE when developing. If you don't want to map ports (except the UI port), then use the `--no-ports` flag.
-
-```bash
-streampipes up -d
-# start in production mode with unmapped ports
-# streampipes up -d --no-ports
-```
-Now you're good to go to write your new pipeline element :tada: :tada: :tada:
-
-> **HINT for extensions**: Use our [Maven archetypes](https://streampipes.apache.org/docs/docs/dev-guide-archetype/) to setup a project skeleton and use your IDE of choice for development. However, we do recommend using IntelliJ.
-
-> **HINT for core**: To work on `backend` or `ui` features you need to set the template to `backend` and clone the core repository [incubator-streampipes](https://github.com/apache/incubator-streampipes) - check the prerequisites there for more information.
-
-**Stop** environment and remove docker container
-```bash
-streampipes down
-# want to also clean docker data volumes when stopping the environment?
-# streampipes down -v
-```
-
-## Additionally, useful commands
-
-**Start individual services only?** We got you! You chose a template that suits your needs and now you only want to start individual services from it, e.g. only Kafka and Consul.
-
-> **NOTE**: the service names need to be present and match your current `.spenv` environment.
-
-```bash
-streampipes up -d kafka consul
-```
-
-**Get current environment** (if previously set using `streampipes env --set <environment>`).
-```bash
-streampipes env
-```
-
-**Get logs** of specific service and use optional `--follow` flag to stay attached to the logs.
-```bash
-streampipes logs --follow backend
-```
-
-**Update** all services of current environment
-```bash
-streampipes pull
-```
-
-**Restart** all services of current environment or specific services
-```bash
-streampipes restart
-# restart backend & consul
-# streampipes restart backend consul
-```
-
-**Clean** your system and remove created StreamPipes Docker volumes, StreamPipes docker network and dangling StreamPipes images of old image layers.
-```bash
-streampipes clean
-# remove volumes, network and dangling images
-# streampipes clean --volumes
-```
-
-## Modify/Create an environment template
-As of now, this step has to be done **manually**. All environments are located in `environments/`.
-
-```bash
-├── adapter               # developing a new connect adapter
-├── backend               # developing core backend features
-├── basic                 # wanna run core, UI, connect etc from the IDE?
-├── full                  # full version containing more pipeline elements
-├── lite                  # few pipeline elements, less memory  
-├── pipeline-element      # developing new pipeline-elements
-└── ui                    # developing UI features
-```
-**Modifying an existing environment template**. To modify an existing template, you can simply add a `<YOUR_NEW_SERVICE>` to the template.
-> **NOTE**: You need to make sure, that the service your are adding exists in `deploy/standalone/service/<YOUR_NEW_SERVICE>`. If your're adding a completely new service take a look at existing ones, create a new service directory and include a `docker-compose.yml` and `docker-compose.dev.yml` file.
-
-```
-[environment:backend]
-activemq
-kafka
-...
-<YOUR_NEW_SERVICE>
-```
-
-**Creating a new** environment template. To create a new environment template, place a new file `environments/<YOUR_NEW_ENVIRONMENT>` in the template directory. Open the file and use the following schema.
-> **IMPORTANT**: Please make sure to have `[environment:<YOUR_NEW_ENVIRONMENT>]` header in the first line of your new template matching the name of the file. Make sure to use small caps letters (lowercase) only.
-
-```
-[environment:<YOUR_NEW_ENVIRONMENT>]
-<SERVICE_1>
-<SERVICE_2>
-...
-```
-
-## Run `streampipes` from anywhere? No problem
-Simply add the path to this cli directory to your `$PATH` (on macOS, Linux) variable, e.g. in your `.bashrc` or `.zshrc`, or `%PATH%` (on Windows).
-
-For **macOS**, or **Linux**:
-
-```bash
-export PATH="/path/to/incubator-streampipes-installer/cli:$PATH"
-```
-
-For **Windows 10**, e.g. check this [documentation](https://helpdeskgeek.com/windows-10/add-windows-path-environment-variable/).
-
-
-## Upgrade to new version
-To upgrade to a new version, simply edit the version tag `SP_VERSION` in the `.env` file.
diff --git a/website-v2/versioned_docs/version-0.66.0/06_extend-sdk-event-model.md b/website-v2/versioned_docs/version-0.66.0/06_extend-sdk-event-model.md
deleted file mode 100644
index 7158be3..0000000
--- a/website-v2/versioned_docs/version-0.66.0/06_extend-sdk-event-model.md
+++ /dev/null
@@ -1,142 +0,0 @@
----
-id: extend-sdk-event-model
-title: "SDK Guide: Event Model"
-sidebar_label: "SDK: Event Model"
-original_id: extend-sdk-event-model
----
-
-## Introduction
-
-The 0.61.0 release of StreamPipes introduces a new event model that replaces the ``Map`` representation of events at runtime. This guide explains the usage of the new event model to manipulate runtime events for data processors and data sink.
-
-## Reference
-
-This guide assumes that you are already familiar with the basic setup of [data processors](dev-guide-processor-sdk.md) and [data sinks](dev-guide-sink-sdk.md).
-
-### Property Selectors
-
-In most cases, fields that are subject to be transformed by pipeline elements are provided by the assigned ``MappingProperty`` (see the guide on [static properties](dev-guide-static-properties.md)).
-
-Mapping properties return a ``PropertySelector`` that identifies a field based on (i) the **streamIndex** and (ii) the runtime name of the field.
-Let's assume we have an event with the following structure:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "sensor1",
-    "running" : true,
-    "location" : {"latitude" : 34.4, "longitude" : -47},
-    "lastValues" : [45, 22, 21]
-}
-```
-
-In addition, we assume that a data processor exists (with one input node) that converts the temperature value (measured in degrees celsius) to a degree fahrenheit value.
-In this case, a mapping property (selected by the pipeline developer in the StreamPipes UI) would link to the ``temperature`` field of the event.
-
-The mapping property value will be the ``PropertySelector`` of the temperature value, which looks as follows:
-
-```
-s0::temperature
-```
-
-``s0`` identifies the stream (in this case, only one input streams exist, but as data processors might require more than one input stream, a stream identifier is required), while the appendix identifies the runtime name.
-
-Note: If you add a new field to an input event, you don't need to provide the selector, you can just assign the runtime name as defined by the [output strategy](dev-guide-output-strategies.md).
-
-### Reading Fields
-
-You can get a field from an event by providing the corresponding selector:
-
-```java
-
-@Override
-  public void onEvent(Event event, SpOutputCollector out) {
-
-  PrimitiveField temperatureField = event.getFieldBySelector(PROPERTY_SELECTOR).getAsPrimitive();
-  }
-
-```
-
-Similarly, if your mapping property links to a nested property, use
-
-```java
-
-@Override
-  public void onEvent(Event event, SpOutputCollector out) {
-
-  NestedField nestedField = event.getFieldBySelector(PROPERTY_SELECTOR).getAsNested();
-  }
-
-```
-
-and for a list-based field:
-
-```java
-
-@Override
-  public void onEvent(Event event, SpOutputCollector out) {
-
-  ListField listField = event.getFieldBySelector(PROPERTY_SELECTOR).getAsList();
-  }
-
-```
-
-### Parsing Fields
-
-#### Primitive Fields
-
-A ``PrimitiveField`` contains convenience methods to directly cast a field to the target datatype:
-
-```java
-
-// parse the value as a float datatype
-Float temperatureValue = event.getFieldBySelector(temperatureSelector).getAsPrimitive().getAsFloat();
-
-// or do the same with a double datatype
-Double temperatureValue = event.getFieldBySelector(temperatureSelector).getAsPrimitive().getAsDouble();
-
-// extracting a string
-String deviceId = event.getFieldBySelector(deviceIdSelector).getAsPrimitive().getAsString();
-
-// this also works for extracting fields from nested fields:
-Double latitude = event.getFieldBySelector(latitudeSelector).getAsPrimitive().getAsDouble();
-
-// extracting boolean values
-Boolean running = event.getFieldBySelector(runningSelector).getAsPrimitive().getAsBoolean();
-```
-
-In rare cases, you might want to receive a field directly based on the runtime name as follows:
-
-```java
-Double temperature = event.getFieldByRuntimeName("temperature").getAsPrimitive().getAsDouble();
-```
-
-#### List Fields
-
-Lists can also be retrieved by providing the corresponding selector and can automatically be parsed to a list of primitive datatypes:
-
-```java
-
-List<Integer> lastValues = event.getFieldBySelector(lastValueSelector).getAsList().parseAsSimpleType(Integer.class);
-
-```
-
-(coming soon: parsing complex lists)
-
-
-### Adding/Updating Fields
-
-Primitive fields can easily be added to an event by providing the runtime name and the object:
-
-```java
-
-    // add a primitive field with runtime name "city" and value "Karlsruhe"
-    event.addField("city", "Karlsruhe");
-
-    // remove the field "temperature" from the event
-    event.removeFieldBySelector(temperatureSelector);
-
-    // add a new field
-    event.addField("fahrenheit", 48);
-```
diff --git a/website-v2/versioned_docs/version-0.66.0/06_extend-sdk-output-strategies.md b/website-v2/versioned_docs/version-0.66.0/06_extend-sdk-output-strategies.md
deleted file mode 100644
index 8773fd6..0000000
--- a/website-v2/versioned_docs/version-0.66.0/06_extend-sdk-output-strategies.md
+++ /dev/null
@@ -1,349 +0,0 @@
----
-id: extend-sdk-output-strategies
-title: "SDK Guide: Output Strategies"
-sidebar_label: "SDK: Output Strategies"
-original_id: extend-sdk-output-strategies
----
-
-## Introduction
-In StreamPipes, output strategies determine the output of a data processor.
-As the exact input schema of a processor is usually not yet known at development time (as processors can be connected with any stream that matches their requirements), output strategies are a concept to define how an input data stream is transformed to an output data stream.
-
-The following reference describes how output strategies can be defined using the SDK.
-
-<div class="admonition tip">
-<div class="admonition-title">Code on Github</div>
-<p>For all examples, the code can be found on <a href="https://www.github.com/apache/incubator-streampipes-examples
-/tree/dev/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/apache/streampipes/pe/examples/jvm
-/outputstrategy/">Github</a>.</p>
-</div>
-
-## Reference
-
-The methods described below to create static properties are available in the ``ProcessingElementBuilder`` class and are usually used in the ``declareModel`` method of the controller class.
-
-As follows, we will use the following example event to explain how output strategies define the output of a data processor:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "1"
-
-}
-```
-
-### Keep Output
-
-A ``KeepOutputStrategy`` declares that the output event schema will be equal to the input event schema.
-In other terms, the processor does not change the schema, but might change the values of event properties.
-
-A keep output strategy can be defined as follows:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".keep", "Keep output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.anyProperty())
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // declaring a keep output strategy
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-
-```
-
-According to the example above, the expected output event schema of the example input event would be:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "1"
-
-}
-```
-
-Data processors that perform filter operations (e.g., filtering temperature values that are above a given threshold) are a common example for using keep output strategies.
-
-
-### Fixed Output
-
-A ``FixedOutputStrategy`` declares that the data processor itself provides the event schema. The output schema does not depend on the input event.
-
-Fixed output strategies need to provide the event schema they produce at development time:
-
-```java
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".fixed", "Fixed output example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.anyProperty())
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // the fixed output strategy provides the schema
-            .outputStrategy(OutputStrategies.fixed(EpProperties.timestampProperty("timestamp"),
-                    EpProperties.doubleEp(Labels.from("avg", "Average value", ""), "avg", SO.Number)))
-
-            .build();
-  }
-
-```
-
-In this example, we declare that the output schema always consists of two fields (``timestamp`` and ``avg``).
-
-Therefore, an output event should look like:
-
-```json
-{
-    "timestamp" : 1234556,
-    "avg" : 36.0
-}
-```
-
-
-### Append Output
-
-An ``AppendOutputStrategy`` appends additional fields to a schema of an incoming event stream. For instance, data processors that perform enrichment operations usually make use of append output strategies.
-
-Similar to the fixed output strategy, the additional fields must be provided at development time in the controller method as follows:
-
-```java
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".append", "Append output example", "")
-
-            // boilerplate code not relevant here, see above
-
-            // declaring an append output
-            .outputStrategy(OutputStrategies.append(EpProperties.integerEp(Labels.from("avg",
-                    "The average value", ""), "avg", SO.Number)))
-
-            .build();
-  }
-```
-
-In this case, the output event would have an additional field ``avg``:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "1",
-    "avg" : 123.0
-
-}
-```
-
-### Custom Output
-
-In some cases, pipeline developers using the StreamPipes UI should be able to manually select fields from an input event schema. For such use cases, a ``CustomOutputStrategy`` can be used:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".custom", "Custom output example", "")
-
-            // boilerplate code not relevant here, see above
-
-            // declaring a custom output
-            .outputStrategy(OutputStrategies.custom())
-
-            .build();
-  }
-
-```
-
-If a data processor defines a custom output strategy, the customization dialog in the pipeline editor will show a dialog to let users select the fields to keep:
-
-<img src="/img/dev-guide-output-strategies/os-custom.png" width="80%" alt="Number Parameter"/>
-
-Taking our example, and assuming that the user selects both the ``timestamp`` and the ``temperature`` the expected output event should look like this:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0
-}
-```
-
-How do we know which fields were selected once the data processor is invoked? Use the proper method from the extractor in the ``onInvocation`` method:
-
-```java
-@Override
-  public ConfiguredEventProcessor<DummyParameters> onInvocation(DataProcessorInvocation graph, ProcessingElementParameterExtractor extractor) {
-
-    List<String> outputSelectors = extractor.outputKeySelectors();
-
-    return new ConfiguredEventProcessor<>(new DummyParameters(graph), DummyEngine::new);
-  }
-```
-
-### Transform Output
-
-A ``TransformOutputStrategy`` declares that one or more fields of an incoming event stream are transformed. Transformations can be applied to the datatype of the property, the runtime name of the property, or any other scheam-related declaration such as measurement units.
-
-#### Static Transform Operations
-
-Static transform operations do not depend on any user input (at pipeline development time) in order to know how to transform a field of an incoming event schema.
-
-Let's say our data processor transforms strings (that are actually a number) to a number datatype. In this case, we can use a static transform output strategy:
-
-```java
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".transform", "Transform output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.stringReq(), Labels.from
-                            ("str", "The date property as a string", ""), PropertyScope.NONE)
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // static transform operation
-            .outputStrategy(OutputStrategies.transform(TransformOperations
-                    .staticDatatypeTransformation("str", Datatypes.Long)))
-
-            .build();
-  }
-
-```
-
-Note the mapping property that we use to determine which field of the input event should be transformed.
-
-The expected output event would look like this:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : 1
-}
-```
-
-#### Dynamic Transform Operations
-
-Sometimes, user input depends on the exact transform output. Let's take a field renaming processor as an example, which lets the user rename a field from an input event schema to another field name.
-For such use cases, we can use a ``DynamicTransformOperation``:
-
-```java
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".transform", "Transform output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.stringReq(), Labels.from
-                            ("str", "The date property as a string", ""), PropertyScope.NONE)
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // the text input to enter the new runtime name
-            .requiredTextparameter(Labels.from("new-runtime-name", "New Runtime Name", ""))
-
-            // static transform operation
-            .outputStrategy(OutputStrategies.transform(TransformOperations
-                    .dynamicRuntimeNameTransformation("str", "new-runtime-name")))
-
-            .build();
-  }
-
-```
-
-For dynamic transform operations, an additional identifier that links to another static property can be assigned and later be fetched in the ``onInvocation`` method.
-
-Assuming we want to rename the field ``temperature`` to ``temp``, the resulting output event should look like this:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temp" : 37.0,
-    "deviceId" : 1
-}
-```
-
-### Custom Transform Output
-
-Finally, in some cases the output schema cannot be described at pipeline development time. For these (usually rare) cases, a ``CustomTransformOutput`` strategy can be used.
-
-In this case, a callback function will be invoked in the controller class just after a user has filled in any static properties and clicks on ``Save`` in the pipeline editor.
-
-To define a custom transform output, we need to implement an interface in the controller class:
-
-```java
-public class CustomTransformOutputController extends
-        StandaloneEventProcessingDeclarer<DummyParameters> implements
-        ResolvesContainerProvidedOutputStrategy<DataProcessorInvocation, ProcessingElementParameterExtractor> {
-
-
-@Override
-  public EventSchema resolveOutputStrategy(DataProcessorInvocation processingElement, ProcessingElementParameterExtractor parameterExtractor) throws SpRuntimeException {
-
-  }
-}
-```
-
-In addition, the output strategy must be declared in the ``declareModel`` method:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".customtransform", "Custom transform output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.stringReq(), Labels.from
-                            ("str", "The date property as a string", ""), PropertyScope.NONE)
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // declare a custom transform output
-            .outputStrategy(OutputStrategies.customTransformation())
-
-            .build();
-  }
-
-```
-
-Once a new pipeline using this data processor is created and the configuration is saved, the ``resolveOutputStrategy`` method will be called, so that an event schema can be provided based on the given configuration. An extractor instance (see the guide on static properties) is available to extract the selected static properties and the connected event stream.
-
-```java
-@Override
-  public EventSchema resolveOutputStrategy(DataProcessorInvocation processingElement, ProcessingElementParameterExtractor parameterExtractor) throws SpRuntimeException {
-    return new EventSchema(Arrays
-            .asList(EpProperties
-                    .stringEp(Labels.from("runtime", "I was added at runtime", ""), "runtime", SO.Text)));
-  }
-```
-
-In this example, the output event schema should look like this:
-
-```json
-{
-    "runtime" : "Hello world!"
-}
-```
-
diff --git a/website-v2/versioned_docs/version-0.66.0/06_extend-sdk-static-properties.md b/website-v2/versioned_docs/version-0.66.0/06_extend-sdk-static-properties.md
deleted file mode 100644
index 978cc94..0000000
--- a/website-v2/versioned_docs/version-0.66.0/06_extend-sdk-static-properties.md
+++ /dev/null
@@ -1,267 +0,0 @@
----
-id: extend-sdk-static-properties
-title: "SDK Guide: Static Properties"
-sidebar_label: "SDK: Static Properties"
-original_id: extend-sdk-static-properties
----
-
-## Introduction
-Static properties represent user-faced parameters that are provided by pipeline developers.
-Processing elements can specify required static properties, which will render different UI views in the pipeline editor.
-
-The following reference describes how static properties can be defined using the SDK.
-
-<div class="admonition tip">
-<div class="admonition-title">Code on Github</div>
-<p>For all examples, the code can be found on <a href="https://github.com/apache/incubator-streampipes-examples/tree
-/dev/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/apache/streampipes/pe/examples/jvm
-/staticproperty">Github</a>.</p>
-</div>
-
-## Reference
-
-The methods described below to create static properties are available in the ``ProcessingElementBuilder`` and ``DataSinkBuilder`` classes and are usually used in the ``declareModel`` method of the controller class.
-
-### Mapping property
-
-In StreamPipes, processing elements usually operate on fields of an event stream. For instance, a filter processor operates on a specific field from an input stream (e.g., a field measuring the temperature).
-Typically, pipeline developers should select the exact field where the operations is applied upon by themselves.
-As this field is not yet known at pipeline element development time (as it is defined by the pipeline developer in the pipeline editor), mapping properties serve to map a stream requirement to a specific field from the actual input event stream.
-
-### Unary mapping property
-
-A unary mapping property maps a stream requirement to an actual field of an event stream. Therefore, the ``StreamRequirementsBuilder`` provides the opportunity to directly add a mapping property based along with a property requirement:
-
-```java
-.requiredStream(StreamRequirementsBuilder.
-    create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.numberReq(),
-            Labels.from("mp-key", "My Mapping", ""),
-            PropertyScope.NONE)
-    .build())
-```
-
-This leads to a selection dialog in the pipeline element customization which provides the user with a selection of all event properties (fields) from the input stream that match the specified property requirement:
-
-<img src="/img/dev-guide-static-properties/sp-mapping-unary.png" width="80%" alt="Text"/>
-
-At invocation time, the value can be extracted in the ``onInvocation`` method as follows:
-
-```java
-// Extract the mapping property value
-String mappingPropertySelector = extractor.mappingPropertyValue("mp-key");
-```
-
-Note that this method returns a ``PropertySelector``, which can be used by the event model to extract the actual value of this field.
-
-### N-ary mapping property
-
-N-ary mapping properties work similar to unary mapping properties, but allow the mapping of one requirement to multiple event properties matching the requirement:
-
-```java
-.requiredStream(StreamRequirementsBuilder.
-    create()
-    .requiredPropertyWithNaryMapping(EpRequirements.numberReq(),
-            Labels.from("mp-key", "My Mapping", ""),
-            PropertyScope.NONE)
-    .build())
-```
-
-This renders the following selection, where users can select more than one matching event property:
-
-<img src="/img/dev-guide-static-properties/sp-mapping-nary.png" width="80%" alt="Text"/>
-
-The following snippet returns a list containing the property selectors of all event properties that have been selected:
-
-```java
-// Extract the mapping property value
-List<String> mappingPropertySelectors = extractor.mappingPropertyValues("mp-key");
-```
-
-### Free-Text Parameters
-
-A free-text parameter requires the pipeline developer to enter a single value - which can be a string or another primitive data type.
-The input of free-text parameters can be restricted to specific value ranges or can be linked to the value set of a connected input data stream.
-
-#### Text Parameters
-
-A text parameter lets the user enter a string value. The following code line in the controller class
-
-```java
-.requiredTextParameter(Labels.from(SP_KEY, "Example Name", "Example Description"))
-```
-
-leads to the following input dialog in the pipeline editor:
-
-<img src="/img/dev-guide-static-properties/sp-text-parameter.png" width="80%" alt="Text"/>
-
-Users can enter any value that will be converted to a string datatype. To receive the entered value in the ``onInvocation`` method, use the following method from the ``ParameterExtractor``
-
-```java
-String textParameter = extractor.singleValueParameter(SP_KEY, String.class);
-```
-
-#### Number parameters
-
-A number parameter lets the user enter a number value, either a floating-point number or an integer:
-
-```java
-// create an integer parameter
-.requiredIntegerParameter(Labels.from(SP_KEY, "Integer Parameter", "Example Description"))
-
-// create a float parameter
-.requiredFloatParameter(Labels.from("float-key", "Float Parameter", "Example Description"))
-
-```
-
-leads to the following input dialog in the pipeline editor only accepting integer values:
-
-<img src="/img/dev-guide-static-properties/sp-number-parameter.png" width="80%" alt="Number Parameter"/>
-
-The pipeline editor performs type validation and ensures that only numbers can be added by the user. To receive the entered value in the ``onInvocation`` method, use the following method from the ``ParameterExtractor``
-
-```java
-// Extract the integer parameter value
-Integer integerParameter = extractor.singleValueParameter(SP_KEY, Integer.class);
-
-// Extract the float parameter value
-Float floatParameter = extractor.singleValueParameter("float-key", Float.class);
-
-```
-
-#### Numbers with value specification
-
-You can also specify the value range of a number-based free text parameter:
-
-```java
-// create an integer parameter with value range
-.requiredIntegerParameter(Labels.from(SP_KEY, "Integer Parameter", "Example Description"), 0, 100, 1)
-
-```
-
-which renders the following input field:
-
-<img src="/img/dev-guide-static-properties/sp-number-parameter-with-range.png" width="80%" alt="Number Parameter"/>
-
-Receive the entered value in the same way as a standard number parameter.
-
-#### Free-text parameters linked to an event property
-
-
-### Single-Value Selections
-
-Single-value selections let the user select from a pre-defined list of options.
-A single-value selection requires to select exactly one option.
-
-```java
-.requiredSingleValueSelection(Labels.from("id", "Example Name", "Example Description"),
-    Options.from("Option A", "Option B", "Option C"))
-
-```
-
-Single-value selections will be rendered as a set of radio buttons in the pipeline editor:
-
-<img src="/img/dev-guide-static-properties/sp-single-selection.png" width="80%" alt="Number Parameter"/>
-
-To extract the selected value, use the following method from the parameter extractor:
-
-```java
-// Extract the selected value
-String selectedSingleValue = extractor.selectedSingleValue("id", String.class);
-```
-
-<div class="admonition tip">
-<div class="admonition-title">Declaring options</div>
-<p>Sometimes, you may want to use an internal name that differs from the display name of an option.
-For that, you can use the method Options.from(Tuple2{'<'}String, String{'>'}) and the extractor method selectedSingleValueInternalName.</p>
-</div>
-
-
-
-### Multi-Value Selections
-
-Multi-value selections let the user select from a pre-defined list of options, where multiple or no option might be selected.
-
-```java
-.requiredMultiValueSelection(Labels.from("id", "Example Name", "Example Description"),
-    Options.from("Option A", "Option B", "Option C"))
-
-```
-
-Multi-value selections will be rendered as a set of checkboxes in the pipeline editor:
-
-<img src="/img/dev-guide-static-properties/sp-multi-selection.png" width="80%" alt="Number Parameter"/>
-
-To extract the selected value, use the following method from the parameter extractor:
-
-```java
-// Extract the selected value
-List<String> selectedMultiValue = extractor.selectedMultiValues("id", String.class);
-```
-
-### Domain Concepts
-
-(coming soon...)
-
-### Collections
-
-You can also define collections based on other static properties.
-
-```java
-// create a collection parameter
-.requiredParameterAsCollection(Labels.from("collection", "Example Name", "Example " +
-        "Description"), StaticProperties.stringFreeTextProperty(Labels
-        .from("text-property","Text","")))
-```
-
-While the items of the collection can be provided in the same way as the underlying static property, the UI provides buttons to add and remove items to the collections.
-
-<img src="/img/dev-guide-static-properties/sp-collection.png" width="80%" alt="Number Parameter"/>
-
-To extract the selected values from the collection, use the following method from the parameter extractor:
-
-```java
-// Extract the text parameter value
-List<String> textParameters = extractor.singleValueParameterFromCollection("collection", String.class);
-```
-
-### Runtime-resolvable selections
-
-In some cases, the options of selection parameters are not static, but depend on other values or might change at runtime. In this case, you can use runtime-resolvable selections.
-
-First, let your controller class implement ``ResolvesContainerProvidedOptions``:
-
-```java
-public class RuntimeResolvableSingleValue extends
-     StandaloneEventProcessingDeclarer<DummyParameters> implements ResolvesContainerProvidedOptions { ... }
-```
-
-Next, define the parameter in the ``declareModel`` method:
-
-```java
-// create a single value selection parameter that is resolved at runtime
-    .requiredSingleValueSelectionFromContainer(Labels.from("id", "Example Name", "Example " +
-            "Description"))
-```
-
-Finally, implement the method ``resolveOptions``, which will be called at runtime once the processor is used:
-
-```java
-  @Override
-  public List<RuntimeOptions> resolveOptions(String requestId, EventProperty linkedEventProperty) {
-    return Arrays.asList(new RuntimeOptions("I was defined at runtime", ""));
-  }
-```
-
-The UI will render a single-value parameter based on the options provided at runtime:
-
-<img src="/img/dev-guide-static-properties/sp-single-selection-remote.png" width="80%" alt="Number Parameter"/>
-
-The parameter extraction does not differ from the extraction of static single-value parameters.
-
-<div class="admonition info">
-<div class="admonition-title">Multi-value selections</div>
-<p>Although this example shows the usage of runtime-resolvable selections using single value selections, the same also works for multi-value selections!</p>
-</div>
-
-
diff --git a/website-v2/versioned_docs/version-0.66.0/06_extend-sdk-stream-requirements.md b/website-v2/versioned_docs/version-0.66.0/06_extend-sdk-stream-requirements.md
deleted file mode 100644
index ca2c724..0000000
--- a/website-v2/versioned_docs/version-0.66.0/06_extend-sdk-stream-requirements.md
+++ /dev/null
@@ -1,179 +0,0 @@
----
-id: extend-sdk-stream-requirements
-title: "SDK Guide: Stream Requirements"
-sidebar_label: "SDK: Stream Requirements"
-original_id: extend-sdk-stream-requirements
----
-
-## Introduction
-
-Data processors and data sinks can define ``StreamRequirements``. Stream requirements allow pipeline elements to express requirements on an incoming event stream that are needed for the element to work properly.
-Once users create pipelines in the StreamPipes Pipeline Editor, these requirements are verified against the connected event stream.
-By using this feature, StreamPipes ensures that only pipeline elements can be connected that are syntactically and semantically valid.
-
-This guide covers the creation of stream requirements. Before reading this section, we recommend that you make yourself familiar with the SDK guide on [data processors](dev-guide-processor-sdk.md) and [data sinks](dev-guide-sink-sdk.md).
-
-<div class="admonition tip">
-<div class="admonition-title">Code on Github</div>
-<p>For all examples, the code can be found on <a href="https://www.github.com/apache/incubator-streampipes-examples/tree/dev/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/apache/streampipes/pe/examples/jvm/requirements/">Github</a>.</p>
-</div>
-
-## The StreamRequirementsBuilder
-
-Stream requirements can be defined in the ``Controller`` class of the pipeline element. Start with a method body like this:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create(ID, PIPELINE_ELEMENT_NAME, DESCRIPTION)
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-
-                    .build())
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-The ``StreamRequirementsBuilder`` class provides methods to add stream requirements to a pipeline element.
-
-## Requirements on primitive fields
-
-As a very first example, let's assume we would like to create a data processor that filters numerical values that are above a given threshold.
-Consequently, any data stream that is connected to the filter processor needs to provide a numerical value.
-
-The stream requirement would be assigned as follows:
-
-```java
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create(ID, PIPELINE_ELEMENT_NAME, DESCRIPTION)
-            .requiredStream(StreamRequirementsBuilder
-                    .create()
-                    .requiredProperty(EpRequirements.numberReq())
-                    .build())
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-Note the line starting with ``requiredProperty``, which requires any stream to provide a datatype of type ``number``.
-
-In many cases, you'll want to let the user select a specific field from a data stream from all available fields that match the specified requirement. For that, you simply use the method ``requiredPropertyWithUnaryMapping`` as follows:
-
-```java
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create(ID, PIPELINE_ELEMENT_NAME, DESCRIPTION)
-            .requiredStream(StreamRequirementsBuilder
-                    .create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.numberReq(),
-                    Labels.from("number-mapping", "The value that should be filtered", ""), PropertyScope.NONE)
-                    .build())
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-See also the developer guide on [static properties](dev-guide-static-properties.md) to better understand the usage of ``MappingProperties``.
-
-Requirements on primitive fields can be specified for all common datatypes:
-
-```java
- @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.requirements" +
-            ".simple", "Simple requirements specification examples", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.numberReq()) // any number
-                    .requiredProperty(EpRequirements.doubleReq()) // any field of type double
-                    .requiredProperty(EpRequirements.booleanReq()) // any field of type boolean
-                    .requiredProperty(EpRequirements.integerReq()) // any field of type integer
-                    .requiredProperty(EpRequirements.stringReq()) // any field of type string
-
-                    .requiredProperty(EpRequirements.anyProperty()) // any field allowed (no restriction)
-                    .requiredProperty(EpRequirements.timestampReq())  // any timestamp field
-                    .build())
-
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-```
-
-### Specifying semantics
-
-For some algorithms, only specifying the datatype is not sufficient. Let's consider a geofencing algorithm that detects the precense some geospatial coordinate (e.g., from a vehicle) within a given location.
-
-You could specify something like this:
-
-```java
-    StreamRequirementsBuilder
-    .create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.doubleEp(), Labels.from("mapping-latitude", "Latitude", ""), PropertyScope.NONE)
-    .requiredPropertyWithUnaryMapping(EpRequirements.doubleEp(), Labels.from("mapping-longitude", "Longitude", ""), PropertyScope.NONE)
-    .build()
-```
-
-However, this would allow users to create strange pipelines as users could connect any stream containing a double value to our geofencing algorithm.
-To avoid such situations, you can also specify requirements based on the semantics of a field:
-
-```java
-    StreamRequirementsBuilder
-    .create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(SO.Latitude), Labels.from("mapping-latitude", "Latitude", ""), PropertyScope.NONE)
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(SO.Longitude), Labels.from("mapping-longitude", "Longitude", ""), PropertyScope.NONE)
-    .build()
-```
-
-Note that in this case, we make use of Schema.org's ``Latitude`` concept ([https://schema.org/latitude](https://schema.org/latitude)). StreamPipes already includes popular vocabularies for specifying semantics. You are also free to use your own vocabularies.
-
-
-## Requirements on lists
-
-Similarly to primitive requirements, you can define processors that require data streams with list fields, see the following examples:
-
-```java
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.requirements" +
-            ".list", "List requirements specification examples", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.Integer))
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.Double))
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.Boolean))
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.String))
-                    .build())
-
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-## Requirements on nested properties
-
-(coming soon, see the Javadoc for now)
-
-
-
diff --git a/website-v2/versioned_docs/version-0.66.0/06_extend-setup.md b/website-v2/versioned_docs/version-0.66.0/06_extend-setup.md
deleted file mode 100644
index 64c5ea6..0000000
--- a/website-v2/versioned_docs/version-0.66.0/06_extend-setup.md
+++ /dev/null
@@ -1,32 +0,0 @@
----
-id: extend-setup
-title: Development Setup
-sidebar_label: Development Setup
-original_id: extend-setup
----
-
-Pipeline elements in StreamPipes are provided as standalone microservices. New pipeline elements can be easily developed using the provided Maven archetypes and can be installed in StreamPipes at runtime.
-
-In this section, we describe our recommended minimum setup for locally setting up a development instance of StreamPipes needed to develop, run and test new pipeline elements.
-
-## IDE & required dev tools
-StreamPipes does not have specific requirements on the IDE - so feel free to choose the IDE of your choice.
-The only requirements in terms of development tools are that you have Java 8 and Maven installed.
-
-## StreamPipes CLI: Docker-based local StreamPipes instance
-In order to quickly test developed pipeline elements without needing to install all services required by StreamPipes, we provide a CLI tool that allows you to selectively start StreamPipes components.
-The CLI tool allows to switch to several templates (based on docker-compose) depending on the role. 
-
-The documentation on the usage of the CLI tool is available [here](06_extend-cli.md).
-## Starter projects
-
-Now, once you've started the development instance, you are ready to develop your very first pipeline element.
-Instead of starting from scratch, we recommend using our provided maven archetypes:
-
-### Maven archetypes
-
-Create the Maven archetype as described in the [Getting Started](06_extend-archetypes.md) guide.
-
-### Examples
-
-We provide several examples that explain the usage of some concepts in this [Github repo](https://github.com/apache/incubator-streampipes-examples). 
diff --git a/website-v2/versioned_docs/version-0.66.0/06_extend-tutorial-data-processors.md b/website-v2/versioned_docs/version-0.66.0/06_extend-tutorial-data-processors.md
deleted file mode 100644
index 87b9819..0000000
--- a/website-v2/versioned_docs/version-0.66.0/06_extend-tutorial-data-processors.md
+++ /dev/null
@@ -1,500 +0,0 @@
----
-id: extend-tutorial-data-processors
-title: "Tutorial: Data Processors"
-sidebar_label: "Tutorial: Data Processors"
-original_id: extend-tutorial-data-processors
----
-
-In this tutorial, we will add a new data processor using the Apache Flink wrapper.
-
-From an architectural point of view, we will create a self-contained service that includes the description of the data processor and a Flink-compatible implementation.
-Once a pipeline is started that uses this data processor, the implementation is submitted to an Apache Flink cluster.
-
-## Objective
-
-We are going to create a new data processor that realized a simple geofencing algorithm - we detect vehicles that enter a specified radius around a user-defined location.
-This pipeline element will be a generic element that works with any event stream that provides geospatial coordinates in form of a latitude/longitude pair.
-
-The algorithm outputs every location event once the position has entered the geofence.
-
-
-<div class="admonition note">
-<div class="admonition-title">Note</div>
-<p>The implementation in this tutorial is pretty simple - our processor will fire an event every time the GPS location is inside the geofence.
-       In a real-world application, you would probably want to define a pattern that recognizes the _first_ event a vehicle enters the geofence.<br/>
-       This can be easily done using a CEP library, e.g., Apache Flink CEP.</p>
-</div>
-
-
-## Project setup
-
-To create new projects from scratch, several Maven archetypes exist to start developing.
-Enter the following command to create a new project based ongit st the StreamPipes ``Processors-Flink`` archetype:
-
-```
-mvn archetype:generate -DarchetypeGroupId=org.apache.streampipes \
--DarchetypeArtifactId=streampipes-archetype-pe-processors-flink -DarchetypeVersion=0.67.0 \
--DgroupId=org.streampipes.tutorial -DartifactId=geofence-tutorial -DclassNamePrefix=Geofencing -DpackageName=geofencing
-```
-
-Once you've imported the generated project, the project structure should look as follows:
-
-<img src="/img/tutorial-processors/project-structure-processor.PNG" alt="Project Structure Data Processor"/>
-
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Besides the basic project skeleton, the sample project also includes an example Dockerfile you can use to package your application into a Docker container.</p>
-</div>
-
-Now you're ready to create your first data processor for StreamPipes!
-
-## Adding data processor requirements
-
-First, we will add a new stream requirement.
-Open the class `GeofencingController` which should look as follows:
-
-```java
-package org.streampipes.tutorial.pe.processor.geofencing;
-
-import org.streampipes.tutorial.config.Config;
-
-import org.streampipes.model.DataProcessorType;
-import org.streampipes.model.graph.DataProcessorDescription;
-import org.streampipes.model.graph.DataProcessorInvocation;
-import org.streampipes.sdk.builder.ProcessingElementBuilder;
-import org.streampipes.sdk.builder.StreamRequirementsBuilder;
-import org.streampipes.sdk.extractor.ProcessingElementParameterExtractor;
-import org.streampipes.sdk.helpers.EpRequirements;
-import org.streampipes.sdk.helpers.Labels;
-import org.streampipes.sdk.helpers.OutputStrategies;
-import org.streampipes.sdk.helpers.SupportedFormats;
-import org.streampipes.sdk.helpers.SupportedProtocols;
-import org.streampipes.wrapper.flink.FlinkDataProcessorDeclarer;
-import org.streampipes.wrapper.flink.FlinkDataProcessorRuntime;
-
-public class GeofencingController extends
-				FlinkDataProcessorDeclarer<GeofencingParameters> {
-
-	private static final String EXAMPLE_KEY = "example-key";
-
-	@Override
-	public DataProcessorDescription declareModel() {
-		return ProcessingElementBuilder.create("org.streampipes.tutorial-geofencing")
-						.category(DataProcessorType.ENRICH)
-                        .withAssets(Assets.DOCUMENTATION, Assets.ICON)
-						.withLocales(Locales.EN)
-						.requiredStream(StreamRequirementsBuilder
-							.create()
-							.requiredProperty(EpRequirements.anyProperty())
-							.build())
-						.outputStrategy(OutputStrategies.keep())
-						.requiredTextParameter(Labels.from(EXAMPLE_KEY, "Example Text Parameter", "Example " +
-				"Text Parameter Description"))
-						.build();
-	}
-
-	@Override
-	public FlinkDataProcessorRuntime<GeofencingParameters> getRuntime(DataProcessorInvocation
-				graph, ProcessingElementParameterExtractor extractor) {
-
-		String exampleString = extractor.singleValueParameter(EXAMPLE_KEY, String.class);
-
-		GeofencingParameters params = new GeofencingParameters(graph, exampleString);
-
-		return new GeofencingProgram(params, Config.INSTANCE.getDebug());
-	}
-
-}
-
-```
-
-In this class, we need to implement two methods: The `declareModel` method is used to define abstract stream requirements such as event properties that must be present in any input stream that is later connected to the element using the StreamPipes UI.
-The second method, `getRuntime` is used to create and deploy the parameterized Flink program once a pipeline using this element is started.
-
-Similar to data sources, the SDK provides a builder class to generate the description for data processors.
-Delete the content within the ``declareModel`` method and add the following lines to the `declareModel` method:
-
-```java
-return ProcessingElementBuilder.create("org.streampipes.tutorial.geofencing", "Geofencing", "A simple geofencing data processor " +
-            "using the Apache Flink wrapper")
-```
-
-This creates a new data processor with the ID, title and description assigned to the element builder.
-Next, we add some _stream requirements_ to the description. As we'd like to develop a generic pipeline element that works with any event that provides a lat/lng pair, we define two stream requirements as stated below:
-
-```java
-.requiredStream(StreamRequirementsBuilder
-    .create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lat),
-            Labels.from("latitude-field", "Latitude", "The event " +
-            "property containing the latitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lng),
-            Labels.from("longitude-field", "Longitude", "The event " +
-                    "property containing the longitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-    .build())
-```
-
-The first line, `.requiredStream()` defines that we want a data processor with exactly one input stream. Adding more stream requirements would create elements with multiple input connectors in StreamPipes.
-Stream requirements can be assigned by using the `StreamRequirementsBuilder` class.
-In our example, we define two requirements, so-called _domain property requirements_. In contrast to _data type requirements_ where we'd expect an event property with a field of a specific data type (e.g., float), domain property requirements expect a specific domain property, e.g., from a vocabulary such as the WGS84 Geo vocab.
-
-Once a pipeline is deployed, we are interested in the actual field (and its field name) that contains the latitude and longitude values.
-In some cases, there might me more than one field that satisfies a property requirement and we would like users to select the property the geofencing component should operate on.
-Therefore, our example uses the method `requiredPropertyWithUnaryMapping`, which will map a requirement to a real event property of an input stream and  let the user choose the appropriate field in the StreamPipes UI when pipelines are defined.
-
-Finally, the `PropertyScope` indicates that the required property is a measurement value (in contrast to a dimension value). This allows us later to provide improved user guidance in the pipeline editor.
-
-Besides requirements, users should be able to define the center coordinate of the Geofence and the size of the fence defined as a radius around the center in meters.
-The radius can be defined by adding a simple required text field to the description:
-
-```java
-.requiredIntegerParameter("radius", "Geofence Size", "The size of the circular geofence in meters.", 0, 1000, 1)
-```
-
-Similar to mapping properties, text parameters have an internalId (radius), a label and a description.
-In addition, we can assign a _value specification_ to the parameter indicating the value range we support.
-Our example supports a radius value between 0 and 1000 with a granularity of 1.
-In the StreamPipes UI, a required text parameter is rendered as a text input field, in case we provide an optional value specification, a slider input is automatically generated.
-
-Such user-defined parameters are called _static properties_. There are many different types of static properties (see the [Processor SDK](06_extend-sdk-static-properties.md) for an overview).
-
-One example are _DomainProperties_ we use for defining the center of the geofence.
-Our data processor requires a lat/lng pair that marks the center of the geofence.
-However, letting users directly input latitude and longitude coordinates wouldn't be very user-friendly.
-Therefore, we can link required text parameters to _ontology concepts_. By understanding the required input, the StreamPipes UI is able to determine which user interface works best for a specific concept.
-
-Add the following line to the `declareModel` method:
-
-```java
-.requiredOntologyConcept(Labels.from("location", "Geofence Center", "Provide the coordinate of the " +
-    "geofence center"), OntologyProperties.mandatory(Geo.lat), OntologyProperties.mandatory(Geo.lng))
-
-```
-
-We've now defined that we would like to receive an instance that provides a latitude and a longitude coordinate.
-Users can input these values either manually, or they can look up _domain knowledge_, i.e., knowledge stored isolated from the stream definition.
-
-Finally, we need to define technical requirements of the data processor, called _groundings_.
-StreamPipes supports various runtime data formats (e.g., JSON or Thrift) and various protocols (e.g., Kafka or JMS).
-Each component defines supports formats and protocol separately.
-For our example, we'd like to support JSON-based messages and Kafka as input and output broker protocol, so append the following:
-
-```java
-.supportedProtocols(SupportedProtocols.kafka())
-.supportedFormats(SupportedFormats.jsonFormat())
-.build();
-```
-
-Now we need to define the output of our Geofencing pipeline element.
-As explained in the first section, the element should fire every time some geo-located entity arrives within the defined geofence.
-Therefore, the processor outputs the same schema as it receives as an input.
-Although we don't know the exact input right now as it depends on the stream users connect in StreamPipes when creating pipelines, we can define an _output strategy_ as follows:
-
-```java
-.outputStrategy(OutputStrategies.keep())
-```
-
-This defines a _KeepOutputStrategy_, i.e., the input event schema is not modified by the processor.
-There are many more output strategies you can define depending on the functionality you desire, e.g., _AppendOutput_ for defining a processor that enriches events or _CustomOutput_ in case you would like users to select the output by themselves.
-
-That's it! We've now defined input requirements, required user input, technical requirements concerned with data format and protocol and an output strategy.
-In the next section, you will learn how to extract these parameters once the pipeline element is invoked after a pipeline was created.
-
-## Pipeline element invocation
-
-Once users start a pipeline that uses our geofencing component, the _getRuntime_ method in our class is called. The class `DataSinkInovcation` includes a graph that contains information on the configuration parameters a users has selected in the pipeline editor and information on the acutal streams that are connected to the pipeline element.
-
-Before we explain in more detail how to extract these values from the processor invocation, we need to adapt a little helper class.
-Open the file ```GeofencingParameters``` and modify it as follows:
-
-```java
-public class GeofencingParameters extends EventProcessorBindingParams {
-
-  private String latitudeFieldName;
-  private String longitudeFieldName;
-
-  private Float centerLatitude;
-  private Float centerLongitude;
-
-  private Integer radius;
-
-  public GeofencingParameters(DataProcessorInvocation graph, String latitudeFieldName, String longitudeFieldName,
-                              Float centerLatitude, Float centerLongitude, Integer radius) {
-    super(graph);
-    this.latitudeFieldName = latitudeFieldName;
-    this.longitudeFieldName = longitudeFieldName;
-    this.centerLatitude = centerLatitude;
-    this.centerLongitude = centerLongitude;
-    this.radius = radius;
-  }
-
-  public String getLatitudeFieldName() {
-    return latitudeFieldName;
-  }
-
-  public String getLongitudeFieldName() {
-    return longitudeFieldName;
-  }
-
-  public Float getCenterLatitude() {
-    return centerLatitude;
-  }
-
-  public Float getCenterLongitude() {
-    return centerLongitude;
-  }
-
-  public Integer getRadius() {
-    return radius;
-  }
-```
-
-This simple Pojo class will later serve to store user-defined parameters in a single object.
-
-Now we go back to the controller class and extract these values from the invocation object.
-
-The ``ProcessingElementParameterExtractor``  provides convenience methods to extract the relevant information from the `DataProcessorInvocation` object.
-
-Next, we are interested in the fields of the input event stream that contains the latitude and longitude value we would like to compute against the geofence center location as follows:
-
-```java
-String latitudeFieldName = extractor.mappingPropertyValue("latitude-field");
-String longitudeFieldName = extractor.mappingPropertyValue("longitude-field");
-```
-
-We use the same `internalId` we've used to define the mapping property requirements in the `declareModel` method.
-
-Next, for extracting the geofence center coordinates, we use the following statements:
-
-```java
-Float centerLatitude = extractor.supportedOntologyPropertyValue("location", Geo.lat, Float.class);
-Float centerLongitude = extractor.supportedOntologyPropertyValue("location", Geo.lng, Float.class);
-```
-
-The radius value can be extracted as follows:
-
-```java
-Integer radius = extractor.singleValueParameter("radius", Integer.class);
-```
-
-Now we can create a new instance of our previously created parameter class:
-
-```java
-GeofencingParameters params = new GeofencingParameters(dataProcessorInvocation, latitudeFieldName,
-            longitudeFieldName, centerLatitude, centerLongitude, radius);
-```
-
-Finally, return an instance of the class ```GeofencingProgram```:
-
-```java
-return new GeofencingProgram(params, true);
-```
-
-<div class="admonition tip">
-<div class="admonition-title">Info</div>
-<p>The line above uses the Flink MiniCluster to start the Flink program for debugging purposes.
-       Before you build the project and use it in a real environment, replace the line as follows, which triggers cluster execution:
-       <code>return new GeofencingProgram(params, new FlinkDeploymentConfig(Config.JAR_FILE, Config.INSTANCE.getFlinkHost(), Config.INSTANCE.getFlinkPort())</code></p>
-</div>
-
-
-Great! That's all we need to describe a data processor for usage in StreamPipes. Your controller class should look as follows:
-
-```java
-import org.streampipes.model.graph.DataProcessorDescription;
-import org.streampipes.model.graph.DataProcessorInvocation;
-import org.streampipes.model.schema.PropertyScope;
-import org.streampipes.sdk.builder.ProcessingElementBuilder;
-import org.streampipes.sdk.builder.StreamRequirementsBuilder;
-import org.streampipes.sdk.extractor.ProcessingElementParameterExtractor;
-import org.streampipes.sdk.helpers.EpRequirements;
-import org.streampipes.sdk.helpers.Labels;
-import org.streampipes.sdk.helpers.OntologyProperties;
-import org.streampipes.sdk.helpers.OutputStrategies;
-import org.streampipes.sdk.helpers.SupportedFormats;
-import org.streampipes.sdk.helpers.SupportedProtocols;
-import org.streampipes.vocabulary.Geo;
-import org.streampipes.wrapper.flink.FlinkDataProcessorDeclarer;
-import org.streampipes.wrapper.flink.FlinkDataProcessorRuntime;
-
-public class GeofencingController extends FlinkDataProcessorDeclarer<GeofencingParameters> {
-
-  @Override
-  protected FlinkDataProcessorRuntime<GeofencingParameters> getRuntime(DataProcessorInvocation dataProcessorInvocation) {
-    ProcessingElementParameterExtractor extractor = ProcessingElementParameterExtractor.from(dataProcessorInvocation);
-
-    String latitudeFieldName = extractor.mappingPropertyValue("latitude-field");
-    String longitudeFieldName = extractor.mappingPropertyValue("longitude-field");
-
-    Float centerLatitude = extractor.supportedOntologyPropertyValue("location", Geo.lat, Float.class);
-    Float centerLongitude = extractor.supportedOntologyPropertyValue("location", Geo.lng, Float.class);
-
-    Integer radius = extractor.singleValueParameter("radius", Integer.class);
-
-    GeofencingParameters params = new GeofencingParameters(dataProcessorInvocation, latitudeFieldName,
-            longitudeFieldName, centerLatitude, centerLongitude, radius);
-
-    return new GeofencingProgram(params);
-  }
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("geofencing-flink", "Geofencing", "A simple geofencing data processor " +
-            "using the Apache Flink wrapper")
-            .requiredStream(StreamRequirementsBuilder
-                    .create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lat),
-                            Labels.from("latitude-field", "Latitude", "The event " +
-                            "property containing the latitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-                    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lng),
-                            Labels.from("longitude-field", "Longitude", "The event " +
-                                    "property containing the longitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-                    .build())
-            .requiredIntegerParameter("radius", "Geofence Size", "The size of the circular geofence in meters.",
-                    0, 1000, 1)
-            .requiredOntologyConcept(Labels.from("location", "Geofence Center", "Provide the coordinate of the " +
-                    "geofence center"), OntologyProperties.mandatory(Geo.lat), OntologyProperties.mandatory(Geo.lng))
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-            .build();
-  }
-}
-
-```
-
-## Adding an implementation
-
-Everything we need to do now is to add an implementation which does not differ from writing an Apache Flink topology.
-
-Open the class `GeofencingProcessor.java` and add the following piece of code, which realizes the Geofencing functionality:
-
-```java
-public class GeofencingProcessor implements FlatMapFunction<Map<String, Object>, Map<String, Object>> {
-
-  private String latitudeFieldName;
-  private String longitudeFieldName;
-
-  private Float centerLatitude;
-  private Float centerLongitude;
-
-  private Integer radius;
-
-  public GeofencingProcessor(String latitudeFieldName, String longitudeFieldName, Float centerLatitude, Float centerLongitude, Integer radius) {
-    this.latitudeFieldName = latitudeFieldName;
-    this.longitudeFieldName = longitudeFieldName;
-    this.centerLatitude = centerLatitude;
-    this.centerLongitude = centerLongitude;
-    this.radius = radius;
-  }
-
-  @Override
-  public void flatMap(Event in, Collector<Event> out) throws Exception {
-    Float latitude = in.getFieldBySelector(latitudeFieldName).getAsPrimitive().getAsFloat();
-    Float longitude = in.getFieldBySelector(longitudeFieldName).getAsPrimitive().getAsFloat();
-
-    Float distance = distFrom(latitude, longitude, centerLatitude, centerLongitude);
-
-    if (distance <= radius) {
-      out.collect(in);
-    }
-  }
-
-  public static Float distFrom(float lat1, float lng1, float lat2, float lng2) {
-    double earthRadius = 6371000;
-    double dLat = Math.toRadians(lat2-lat1);
-    double dLng = Math.toRadians(lng2-lng1);
-    double a = Math.sin(dLat/2) * Math.sin(dLat/2) +
-            Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) *
-                    Math.sin(dLng/2) * Math.sin(dLng/2);
-    double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
-    return (float) (earthRadius * c);
-  }
-
-}
-```
-
-We won't go into details here as this isn't StreamPipes-related code, but in general the class extracts latitude and longitude fields from the input event (which is provided as a map data type) and calculates the distance between the geofence center and these coordinates.
-If the distance is below the given radius, the event is forwarded to the next operator.
-
-Finally, we need to connect this program to the Flink topology. StreamPipes automatically adds things like the Kafka consumer and producer, so that you only need to invoke the actual geofencing processor.
-Open the file `GeofencingProgram` and append the following line inside the `getApplicationLogic()` method:
-
-```java
-return dataStreams[0].flatMap(new GeofencingProcessor(params.getLatitudeFieldName(), params.getLongitudeFieldName(),
-    params.getCenterLatitude(), params.getCenterLongitude(), params.getRadius()));
-```
-
-## Preparing the container
-The final step is to define the deployment type of our new data source. In this tutorial, we will create a so-called `StandaloneModelSubmitter`.
-This client will start an embedded web server that provides the description of our data source and automatically submits the program to the registered Apache Flink cluster.
-
-Go to the class `Init` that extends `StandaloneModelSubmitter` and should look as follows:
-```java
-package org.streampipes.tutorial.main;
-
-import org.streampipes.container.init.DeclarersSingleton;
-import org.streampipes.container.standalone.init.StandaloneModelSubmitter;
-
-import org.streampipes.tutorial.config.Config;
-import org.streampipes.tutorial.pe.processor.geofencing.GeofencingController;
-
-public class Init extends StandaloneModelSubmitter {
-
-  public static void main(String[] args) throws Exception {
-    DeclarersSingleton.getInstance()
-            .add(new GeofencingController());
-
-    new Init().init(Config.INSTANCE);
-
-  }
-}
-```
-
-<div class="admonition info">
-<div class="admonition-title">Info</div>
-<p>In the example above, we make use of a class `Config`.
-       This class contains both mandatory and additional configuration parameters required by a pipeline element container.
-       These values are stored in the Consul-based key-value store of your StreamPipes installation.
-       The SDK guide contains a detailed manual on managing container configurations.
-</p>
-</div>
-
-## Starting the container
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>By default, the container registers itself using the hostname later used by the Docker container, leading to a 404 error when you try to access an RDF description.
-       For local development, we provide an environment file in the ``development`` folder. You can add your hostname here, which will override settings from the Config class.
-       For instance, use the IntelliJ ``EnvFile`` plugin to automatically provide the environment variables upon start.
-</p>
-</div>
-
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p> The default port of all pipeline element containers as defined in the `Config` file is port 8090.
-       If you'd like to run mutliple containers at the same time on your development machine, change the port in the environment file.
-</p>
-</div>
-
-Now we are ready to start our container!
-
-Execute the main method in the class `Main` we've just created, open a web browser and navigate to http://localhost:8090 (or the port you have assigned in the environment file).
-
-You should see something as follows:
-
-<img src="/img/tutorial-processors/pe-overview-flink.PNG" alt="Pipeline Element Container Overview (Flink)"/>
-
-Click on the link of the data source to see the RDF description of the pipeline element.
-
-<img src="/img/tutorial-processors/pe-rdf-geofencing.PNG" alt="Geofencing RDF description"/>
-
-The container automatically registers itself in the Consul installation of StreamPipes.
-To install the just created element, open the StreamPipes UI and follow the manual provided in the [user guide](03_use-install-pipeline-elements.md).
-
-## Read more
-
-Congratulations! You've just created your first data processor for StreamPipes.
-There are many more things to explore and data processors can be defined in much more detail using multiple wrappers.
-Follow our [SDK guide](06_extend-sdk-static-properties.md) to see what's possible!
diff --git a/website-v2/versioned_docs/version-0.66.0/06_extend-tutorial-data-sinks.md b/website-v2/versioned_docs/version-0.66.0/06_extend-tutorial-data-sinks.md
deleted file mode 100644
index 0b19da5..0000000
--- a/website-v2/versioned_docs/version-0.66.0/06_extend-tutorial-data-sinks.md
+++ /dev/null
@@ -1,247 +0,0 @@
----
-id: extend-tutorial-data-sinks
-title: "Tutorial: Data Sinks"
-sidebar_label: "Tutorial: Data Sinks"
-original_id: extend-tutorial-data-sinks
----
-
-In this tutorial, we will add a new data sink using the standalone wrapper.
-
-From an architectural point of view, we will create a self-contained service that includes the description of the data sink and a corresponding implementation.
-
-## Objective
-
-We are going to create a new data sink that calls an external HTTP endpoint to forward data to an external service.
-
-For each incoming event, an external service is invoked using an HTTP POST request. In this example, we'll call an endpoint provided by [RequestBin](https://requestbin.com/).
-To setup your own endpoint, go to [https://requestbin.com/](https://requestbin.com/) and click "Create a request bin". Copy the URL of the newly created endpoint.
-
-
-## Project setup
-
-We'll create a new project using the provided sinks-standalone-jvm Maven archetype.
-Enter the following command to create a new project based on the StreamPipes ``Sinks-JVM`` archetype:
-
-```
-mvn archetype:generate -DarchetypeGroupId=org.streampipes \
--DarchetypeArtifactId=streampipes-archetype-pe-sinks-jvm -DarchetypeVersion=0.67.0 \
--DgroupId=org.streampipes.tutorial -DartifactId=sink-tutorial -DclassNamePrefix=Rest -DpackageName=geofencing
-```
-
-Once you've imported the generated project, the project structure should look as follows:
-
-<img src="/img/tutorial-sinks/project-structure-sinks.png" alt="Project Structure Data Sink"/>
-
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Besides the basic project skeleton, the sample project also includes an example Dockerfile you can use to package your application into a Docker container.</p>
-</div>
-
-Now you're ready to create your first data sink for StreamPipes!
-
-## Adding data sink requirements
-
-First, we will add a new stream requirement.
-Open the class `RestController` which should look as follows:
-
-```java
-package org.streampipes.tutorial.pe.sink.rest;
-
-import org.streampipes.model.DataSinkType;
-import org.streampipes.model.graph.DataSinkDescription;
-import org.streampipes.model.graph.DataSinkInvocation;
-import org.streampipes.sdk.builder.DataSinkBuilder;
-import org.streampipes.sdk.builder.StreamRequirementsBuilder;
-import org.streampipes.sdk.extractor.DataSinkParameterExtractor;
-import org.streampipes.sdk.helpers.EpRequirements;
-import org.streampipes.sdk.helpers.Labels;
-import org.streampipes.sdk.helpers.SupportedFormats;
-import org.streampipes.sdk.helpers.SupportedProtocols;
-import org.streampipes.wrapper.standalone.ConfiguredEventSink;
-import org.streampipes.wrapper.standalone.declarer.StandaloneEventSinkDeclarer;
-import org.streampipes.sdk.helpers.*;
-import org.streampipes.sdk.utils.Assets;
-
-public class RestController extends StandaloneEventSinkDeclarer<RestParameters> {
-
-	private static final String EXAMPLE_KEY = "example-key";
-
-	@Override
-	public DataSinkDescription declareModel() {
-		return DataSinkBuilder.create("org.streampipes.tutorial.pe.sink.rest")
-						.category(DataSinkType.NOTIFICATION)
-						.withAssets(Assets.DOCUMENTATION, Assets.ICON)
-						.withLocales(Locales.EN)
-						.requiredStream(StreamRequirementsBuilder
-                                            .create()
-                                            .requiredPropertyWithNaryMapping(EpRequirements.anyProperty(), Labels.withId(
-                                                    "fields-to-send"), PropertyScope.NONE)
-                                            .build())
-						.build();
-	}
-
-	@Override
-	public ConfiguredEventSink<RestParameters> onInvocation(DataSinkInvocation graph, DataSinkParameterExtractor extractor) {
-
-		 List<String> fieldsToSend = extractor.mappingPropertyValues("fields-to-send");
-        
-         RestParameters params = new RestParameters(graph, fieldsToSend);
-
-		return new ConfiguredEventSink<>(params, Rest::new);
-	}
-
-}
-
-```
-
-In this class, we need to implement two methods: The `declareModel` method is used to define abstract stream requirements such as event properties that must be present in any input stream that is later connected to the element using the StreamPipes UI.
-The second method, `onInvocation` is used to create and deploy program once a pipeline using this sink is started.
-
-The ``declareModel`` method describes the properties of our data sink:
-* ``category`` defines a category for this sink.
-* ``withAssets`` denotes that we will provide an external documentation file and an icon, which can be found in the ``resources`` folder
-* ``withLocales`` defines that we will provide an external language file, also available in the ``resources`` folder
-* ``requiredStream`` defines requirements any input stream connected to this sink must provide. In this case, we do not have any specific requirements, we just forward all incoming events to the REST sink. However, we want to let the user display a list of available fields from the connected input event, where users can select a subset. This is defined by defining a Mapping from the empty requirement. This will later on render a selection dialog in the pipeline editor.
-
-The ``onInvocation`` method is called when a pipeline containing the sink is started. Once a pipeline is started, we would like to extract user-defined parameters.
-In this example, we simply extract the fields selected by users that should be forwarded to the REST sink. Finally, we return a new configured event sink containing the parameters.
-
-## Pipeline element invocation
-
-Once users start a pipeline that uses our geofencing component, the _getRuntime_ method in our class is called. The class `DataSinkInovcation` includes a graph that contains information on the configuration parameters a users has selected in the pipeline editor and information on the acutal streams that are connected to the pipeline element.
-
-Before we explain in more detail how to extract these values from the processor invocation, we need to adapt a little helper class.
-Open the file ```RestParameters``` and modify it as follows:
-
-```java
-public class RestParameters extends EventSinkBindingParams {
-
-  private List<String> fieldsToSend;
-
-  public RestParameters(DataSinkInvocation graph, List<String> fieldsToSend) {
-    super(graph);
-    this.fieldsToSend = fieldsToSend;
-  }
-
-  public List<String> getFieldsToSend() {
-    return fieldsToSend;
-  }
-}
-```
-
-This file will later provide information on the configured pipeline element.
-
-## Adding an implementation
-
-Now open the class ``Rest`` to add the proper implementation (i.e., the Rest call executed for every incoming event).
-
-Our final class should look as follows:
-
-```java
-private static Logger LOG = LoggerFactory.getLogger(Rest.class.getCanonicalName());
-
-  private static final String REST_ENDPOINT_URI = YOUR_REQUEST_BIN_URL;
-  private List<String> fieldsToSend;
-  private SpDataFormatDefinition dataFormatDefinition;
-
-  public Rest() {
-    this.dataFormatDefinition = new JsonDataFormatDefinition();
-  }
-
-  @Override
-  public void onInvocation(RestParameters parameters, EventSinkRuntimeContext runtimeContext) {
-    this.fieldsToSend = parameters.getFieldsToSend();
-  }
-
-  @Override
-  public void onEvent(Event event) {
-    Map<String, Object> outEventMap = event.getSubset(fieldsToSend).getRaw();
-    try {
-      String json = new String(dataFormatDefinition.fromMap(outEventMap));
-      Request.Post(REST_ENDPOINT_URI).body(new StringEntity(json, Charsets.UTF_8)).execute();
-    } catch (SpRuntimeException e) {
-      LOG.error("Could not parse incoming event");
-    } catch (IOException e) {
-      LOG.error("Could not reach endpoint at {}", REST_ENDPOINT_URI);
-    }
-  }
-
-  @Override
-  public void onDetach() {
-
-  }
-```
-The only class variable you need to change right now is the REST_ENDPOINT_URL. Change this url to the URL provided by your request bin.
-We'll ignore the other class variables and the constructor for now. Important are three methods, ``onInvocation``, ``onEvent`` and ``onDetach``.
-
-The ``onInvocation`` method is called once a pipeline containing our REST data sink is started. The ``onEvent`` method is called for each incoming event. Finally, ``onDetach`` is called when a pipeline is stopped.
-
-In the ``onInvocation`` method, we can extract the selected fields to be forwarded to the REST endpoint.
-In the ``ònEvent`` method, we use a helper method to get a subset of the incoming event.
-Finally, we convert the resulting ``Map`` to a JSON string and call the endpoint.
-
-
-## Preparing the container
-The final step is to define the deployment type of our new data source. In this tutorial, we will create a so-called `StandaloneModelSubmitter`.
-This client will start an embedded web server that provides the description of our data source and automatically starts the program in an embedded container.
-
-Go to the class `Init` that extends `StandaloneModelSubmitter` and should look as follows:
-```java
-
-public static void main(String[] args) throws Exception {
-    DeclarersSingleton.getInstance()
-            .add(new RestController());
-
-    DeclarersSingleton.getInstance().setPort(Config.INSTANCE.getPort());
-    DeclarersSingleton.getInstance().setHostName(Config.INSTANCE.getHost());
-
-    DeclarersSingleton.getInstance().registerDataFormats(new JsonDataFormatFactory(),
-            new CborDataFormatFactory(),
-            new SmileDataFormatFactory(),
-            new FstDataFormatFactory());
-
-    DeclarersSingleton.getInstance().registerProtocols(new SpKafkaProtocolFactory(),
-            new SpJmsProtocolFactory());
-
-    new Init().init(Config.INSTANCE);
-```
-
-<div class="admonition info">
-<div class="admonition-title">Info</div>
-<p>In the example above, we make use of a class `Config`.
-       This class contains both mandatory and additional configuration parameters required by a pipeline element container.
-       These values are stored in the Consul-based key-value store of your StreamPipes installation.
-       The SDK guide contains a detailed manual on managing container configurations.
-</p>
-</div>
-
-## Starting the container
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>By default, the container registers itself using the hostname later used by the Docker container, leading to a 404 error when you try to access an RDF description.
-       For local development, we provide an environment file in the ``development`` folder. You can add your hostname here, which will override settings from the Config class.
-       For instance, use the IntelliJ ``EnvFile`` plugin to automatically provide the environment variables upon start.
-</p>
-</div>
-
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p> The default port of all pipeline element containers as defined in the `Config` file is port 8090.
-       If you'd like to run mutliple containers at the same time on your development machine, change the port in the environment file.
-</p>
-</div>
-
-Now we are ready to start our container!
-
-Execute the main method in the class `Main` we've just created.
-
-The container automatically registers itself in the Consul installation of StreamPipes.
-To install the just created element, open the StreamPipes UI and follow the manual provided in the [user guide](03_use-install-pipeline-elements.md).
-
-## Read more
-
-Congratulations! You've just created your first data sink for StreamPipes.
-There are many more things to explore and data sinks can be defined in much more detail using multiple wrappers.
-Follow our [SDK guide](06_extend-sdk-static-properties.md) to see what's possible!
diff --git a/website-v2/versioned_docs/version-0.66.0/06_extend-tutorial-data-sources.md b/website-v2/versioned_docs/version-0.66.0/06_extend-tutorial-data-sources.md
deleted file mode 100644
index a4b6854..0000000
--- a/website-v2/versioned_docs/version-0.66.0/06_extend-tutorial-data-sources.md
+++ /dev/null
@@ -1,282 +0,0 @@
----
-id: extend-tutorial-data-sources
-title: "Tutorial: Data Sources"
-sidebar_label: "Tutorial: Data Sources"
-original_id: extend-tutorial-data-sources
----
-
-In this tutorial, we will add a new data source consisting of a single data stream. The source will be provided as a standalone component (i.e., the description will be accessible through an integrated web server).
-
-## Objective
-
-We are going to create a new data stream that is produced by a GPS sensor installed in a delivery vehicle.
-The sensor produces a continuous stream of events that contain the current timestamp, the current lat/lng position of the vehicle and the plate number of the vehicle.
-Events are published in a JSON format as follows:
-```json
-{
-  "timestamp" : 145838399,
-  "latitude" : 37.04,
-  "longitude" : 17.04,
-  "plateNumber" : "KA-AB 123"
-}
-```
-
-These events are published to a Kafka broker using the topic `org.streampipes.tutorial.vehicle`.
-
-In the following section, we show how to describe this stream in a form that allows you to import and use it in StreamPipes.
-
-## Project setup
-
-Instead of creating a new project from scratch, we recommend to use the Maven archetype to create a new project skeleton.
-Enter the following command in a command line of your choice (Apache Maven needs to be installed):
-
-```
-mvn archetype:generate \
--DarchetypeGroupId=org.apache.streampipes -DarchetypeArtifactId=streampipes-archetype-pe-sources \
--DarchetypeVersion=0.67.0 -DgroupId=my.groupId \
--DartifactId=my-source -DclassNamePrefix=MySource -DpackageName=mypackagename
-```
-
-Configure the variables ``artifactId`` (which will be the Maven artifactId), ``classNamePrefix`` (which will be the class name of your data stream) and ``packageName``.
-
-For this tutorial, use ``Vehicle`` as ``classNamePrefix``.
-
-Your project will look as follows:
-
-<img src="/img/tutorial-sources/project-structure.PNG" alt="Project Structure"/>
-
-That's it, go to the next section to learn how to create your first data stream!
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Besides the basic project skeleton, the sample project also includes an example Dockerfile you can use to package your application into a Docker container.
-</p>
-</div>
-
-## Adding a data stream description
-
-Now we will add a new data stream definition.
-First, open the class `VehicleStream` which should look as follows:
-
-```java
-
-package my.groupId.pe.mypackagename;
-
-import org.streampipes.model.SpDataStream;
-import org.streampipes.model.graph.DataSourceDescription;
-import org.streampipes.sdk.builder.DataStreamBuilder;
-import org.streampipes.sdk.helpers.EpProperties;
-import org.streampipes.sdk.helpers.Formats;
-import org.streampipes.sdk.helpers.Protocols;
-import org.streampipes.sources.AbstractAdapterIncludedStream;
-
-
-public class MySourceStream extends AbstractAdapterIncludedStream {
-
-  @Override
-  public SpDataStream declareModel(DataSourceDescription sep) {
-    return DataStreamBuilder.create("my.groupId-mypackagename", "MySource", "")
-            .property(EpProperties.timestampProperty("timestamp"))
-
-            // configure your stream here
-
-            .format(Formats.jsonFormat())
-            .protocol(Protocols.kafka("localhost", 9092, "TOPIC_SHOULD_BE_CHANGED"))
-            .build();
-  }
-
-  @Override
-  public void executeStream() {
-
-  }
-}
-```
-
-This class extends the class ``AbstractAdapterIncludedStream``, which indicates that this source continuously produces data (configured in the ``executeStream()`` method.
-In contrast, the class `AbstractAlreadyExistingStream` indicates that we only want to describe an already existing stream (e.g., a stream that already sends data to an existing Kafka broker).
-
-Next, we will add the definition of the data stream. Add the following code inside of the `declareModel` method:
-```java
-return DataStreamBuilder.create("org.streampipes.tutorial.vehicle.position", "Vehicle Position", "An event stream " +
-          "that produces current vehicle positions")
-```
-
-This line creates a new instance of the SDK's `DataStreamBuilder` by providing three basic parameters:
-The first parameter must be a unique identifier of your data stream.
-The second and third parameters indicate a label and a description of your stream.
-These values will later be used in the StreamPipes UI to display stream details in a human-readable manner.
-
-Next, we will add the properties as stated above to the stream definition by adding the following lines:
-```java
-.property(EpProperties.timestampProperty("timestamp"))
-.property(EpProperties.stringEp(Labels.from("plate-number", "Plate Number", "Denotes the plate number of the vehicle"), "plateNumber", "http://my.company/plateNumber"))
-.property(EpProperties.doubleEp(Labels.from("latitude", "Latitude", "Denotes the latitude value of the vehicle's position"), "latitude", Geo.lat))
-.property(EpProperties.doubleEp(Labels.from("longitude", "Longitude", "Denotes the longitude value of the vehicle's position"), "longitude", Geo.lng))
-```
-These four _event properties_ compose our _event schema_. An event property must, at least, provide the following attributes:
-
-* **Runtime Name**. The runtime name indicates the key of the property at runtime, e.g., if our JSON message contains a structure such as `{"plateNumber" : "KA-F 123"}`, the runtime name must be `plateNumber`.
-* **Runtime Type**. An event property must have a primitive type (we will later see how to model more complex properties such as lists and nested properties).
-  The type must be an instance of `XMLSchema` primitives, however, the SDK provides convenience methods to provide the property type.
-* **Domain Property**. The domain property indicates the semantics of the event property. For instance, the `latitude` property is linked to the `http://www.w3.org/2003/01/geo/wgs84_pos#lat` property of the WGS84 vocabulary.
-  The domain property should be an URI as part of an existing or domain-specific vocabulary. The SDK provides convenience methods for popuplar vocabularies (e.g., Schema.org, Dolce or WGS84).
-
-In order to complete the minimum required specification of an event stream, we need to provide information on the transport format and protocol of the data stream at runtime.
-
-This can be achieved by extending the builder with the respective properties (which should already have been auto-generated):
-```java
-.format(Formats.jsonFormat())
-.protocol(Protocols.kafka("localhost", 9092, "TOPIC_SHOULD_BE_CHANGED"))
-.build();
-```
-
-Set ``org.streampipes.tutorial.vehicle`` as your new topic by replacing the term ``TOPIC_SHOULD_BE_CHANGED`.
-
-In this example, we defined that the data stream consists of events in a JSON format and that Kafka is used as a message broker to transmit events.
-The last build() method call triggers the construction of the RDF-based data stream definition.
-
-That's it! In the next section, we will connect the data stream to a source and inspect the generated RDF description.
-
-## Creating some dummy data
-
-Let's assume our stream should produce some random values that are sent to StreamPipes. We'll add a very simple data simulator to the ``executeStream`` method as follows:
-
-```java
-@Override
-  public void executeStream() {
-
-    SpKafkaProducer producer = new SpKafkaProducer("localhost:9092", "TOPIC_SHOULD_BE_CHANGED");
-    Random random = new Random();
-    Runnable runnable = new Runnable() {
-      @Override
-      public void run() {
-        for (;;) {
-          JsonObject jsonObject = new JsonObject();
-          jsonObject.addProperty("timestamp", System.currentTimeMillis());
-          jsonObject.addProperty("plateNumber", "KA-FZ 1");
-          jsonObject.addProperty("latitude", random.nextDouble());
-          jsonObject.addProperty("longitude", random.nextDouble());
-
-          producer.publish(jsonObject.toString());
-
-          try {
-            Thread.sleep(1000);
-          } catch (InterruptedException e) {
-            e.printStackTrace();
-          }
-
-        }
-      }
-    };
-
-    new Thread(runnable).start();
-  }
-```
-
-Change the topic and the URL of your Kafka broker (as stated in the controller).
-
-## Adding a source description
-
-A data source can be seen like a container for a set of data streams. Usually, a data source includes events that are logically or physically connected.
-For instance, in our example we would add other streams produced by vehicle sensors (such as fuel consumption) to the same data source description.
-
-Open the class `DataSource` which should look as follows:
-```java
-
-package my.groupId.pe.mypackagename;
-
-import org.streampipes.container.declarer.DataStreamDeclarer;
-import org.streampipes.container.declarer.SemanticEventProducerDeclarer;
-import org.streampipes.model.graph.DataSourceDescription;
-import org.streampipes.sdk.builder.DataSourceBuilder;
-
-import java.util.Arrays;
-import java.util.List;
-
-
-public class DataSource implements SemanticEventProducerDeclarer {
-
-  public DataSourceDescription declareModel() {
-    return DataSourceBuilder.create("my.groupId.mypackagename.source", "MySource " +
-        "Source", "")
-            .build();
-  }
-
-  public List<DataStreamDeclarer> getEventStreams() {
-    return Arrays.asList(new MySourceStream());
-  }
-}
-```
-First, we need to define the source. Similar to data streams, a source consists of an id, a human-readable name and a description.
-Replace the content defined in the `declareModel` method with the following code:
-```java
-return DataSourceBuilder.create("org.streampipes.tutorial.source.vehicle", "Vehicle Source", "A data source that " +
-    "holds event streams produced by vehicles.")
-    .build();
-```
-
-## Preparing the container
-
-The final step is to define the deployment type of our new data source. In this tutorial, we will create a so-called `StandaloneModelSubmitter`.
-This client will start an embedded web server that provides the description of our data source.
-
-Go to the class `Init` that implements `StandaloneModelSubmitter`, which should look as follows:
-```java
-package my.groupId.main;
-
-import org.streampipes.container.init.DeclarersSingleton;
-import org.streampipes.container.standalone.init.StandaloneModelSubmitter;
-import my.groupId.config.Config;
-import my.groupId.pe.mypackagename.DataSource;
-
-public class Init extends StandaloneModelSubmitter {
-
-  public static void main(String[] args) throws Exception {
-    DeclarersSingleton.getInstance()
-            .add(new DataSource());
-
-    new Init().init(Config.INSTANCE);
-
-  }
-}
-```
-This code adds the `VehicleSource`. Finally, the `init` method is called
-which triggers the generation of the corresponding RDF description and startup of the web server.
-
-<div class="admonition info">
-<div class="admonition-title">Info</div>
-<p>In the example above, we make use of a class `Config`.
-       This class contains both mandatory and additional configuration parameters required by a pipeline element container.
-       These values are stored in the Consul-based key-value store of your StreamPipes installation.
-       The SDK guide contains a detailed manual on managing container configurations.</p>
-</div>
-
-## Starting the container
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>By default, the container registers itself using the hostname later used by the Docker container, leading to a 404 error when you try to access an RDF description.
-       For local development, we provide an environment file in the ``development`` folder. You can add your hostname here, which will override settings from the Config class.
-       For instance, use the IntelliJ ``EnvFile`` plugin to automatically provide the environment variables upon start.
-</p>
-</div>
-
-Now we are ready to start our first container!
-
-Execute the main method in the class `Main` we've just created, open a web browser and navigate to http://localhost:8090, or change the port according to the value of the ``SP_PORT`` variable in the env file.
-
-You should see something as follows:
-
-<img src="/img/tutorial-sources/pe-overview.PNG" alt="Pipeline Element Container Overview"/>
-
-Click on the link of the data source to see the RDF description of the pipeline element.
-
-<img src="/img/tutorial-sources/pe-rdf.PNG" alt="Pipeline Element RDF description"/>
-
-The container automatically registers itself in the Consul installation of StreamPipes.
-To install the just created element, open the StreamPipes UI and follow the manual provided in the [user guide](user-guide-introduction).
-
-## Read more
-
-Congratulations! You've just created your first pipeline element for StreamPipes.
-There are many more things to explore and data sources can be defined in much more detail.
diff --git a/website-v2/versioned_docs/version-0.66.0/07_technicals-configuration.md b/website-v2/versioned_docs/version-0.66.0/07_technicals-configuration.md
deleted file mode 100644
index 57f16b3..0000000
--- a/website-v2/versioned_docs/version-0.66.0/07_technicals-configuration.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: technicals-configuration
-title: Configuration
-sidebar_label: Configuration
-original_id: technicals-configuration
----
-
-On this page we explain how the StreamPipes configuration works.
-StreamPipes allows the individual services (pipeline element containers and third-party services) to store configuration parameters in a distributed key-value store.
-This has the advantage that individual services do not need to store any configurations on the local file system, enabling us to run containers anywhere.
-As a key-value store we use [Consul](https://www.consul.io/), which is an essential service for all our services.
-
-<img src="/img/configuration/consul.png" width="50%" alt="Semantic description of data processor"/>
-
-
-## Edit Configurations
-All services in StreamPipes can have configuration parameters.
-You can either change them in the consul user interface (which is by default running on port 8500) or directly in the StreamPipes Configurations Page.
-Once a new  pipeline element container is started, it is registered in Consul and the parameters can be edited in the configuration page, as shown below.
-To store changes in Consul, the update button must be clicked.
-
-<div class="my-carousel">
-    <img src="/img/configuration/configuration_1.png" alt="Configuration View"/>
-</div>
-
-## Configuration for Developers
-We provide a Configurations API for the use of configuration parameters in your services.
-Each processing element project has a “config” package [[Example]](https://github.com/apache/incubator-streampipes-extensions/tree/dev/streampipes-sinks-internal-jvm/src/main/java/org/streampipes/sinks/internal/jvm/config).
-This package usually contains two classes.
-One containing unique keys for the configuration values and one containing the getter and setter methods to access these values.
-For the naming of configuration keys, we recommend to use “SP” as a prefix.
-As we explain later, it is possible to set default configurations as environment variables, this prefix makes them unique on your server.
-A configuration entry needs a unique config key. For this key, a value can be specified containing the configuration, like for example the port number of the service.
-For each configuration, a description explaining the parameter can be provided, further the data type must be specified and whether it is a password or not.
-Below, the schema of a configuration item is shown on the left and an example of a port configuration on the right.
-
-<img src="/img/configuration/config_key.png" width="80%" alt="Semantic description of data processor"/>
-
-As a developer, you can add as many new configurations to services as you wish, but there are some that are required for all processing element containers.
-Those are **the host**, **the port**, and **the name** of the service.
-
-## Default Values
-You can provide default values for the configurations, which are used when a configuration is read for the first time.
-The first option is to register a configuration parameter in the Config class.
-This is a fallback value, which is used if nothing else is defined.
-Since this value is static, we offer a second option.
-It is possible to provide a default value by setting an environment variable.
-In this case, the convention is that the key of a configuration parameter must be used as the environment variable.
-Now, this value is used instead of the value defined in the Config class.
-During development, the configuration values often need to be changed for debugging purposes, therefore we provide an .env file in all processing element projects and archetypes.
-This file can be used by your IDE to set the environment variables. (e.g., [Intellij Plugin](https://plugins.jetbrains.com/plugin/7861-envfile))
-When you need to change the variable at runtime, you can do this in the StreamPipes configurations as explained before.
-Those changes take effect immediately without the need of a container restart.
-
-<div class="admonition warning">
-<div class="admonition-title">Installed pipeline elements</div>
-<p>Be cautious, when the configuration is used in the semantic description of a processing element which is already installed in StreamPipes, you have to reload this element in StreamPipes (my elements -> reload).
-   In addition, changes might affect already running pipelines.</p>
-</div>
diff --git a/website-v2/versioned_docs/version-0.66.0/09_contribute.md b/website-v2/versioned_docs/version-0.66.0/09_contribute.md
deleted file mode 100644
index 656947f..0000000
--- a/website-v2/versioned_docs/version-0.66.0/09_contribute.md
+++ /dev/null
@@ -1,18 +0,0 @@
----
-id: community-contribute
-title: Contribute
-sidebar_label: Contribute
-original_id: community-contribute
----
-
-## Contribute
-
-We welcome contributions to StreamPipes. If you are interested in contributing to StreamPipes, let us know! You'll
-get to know an open-minded and motivated team working together to build the next IIoT analytics toolbox.
-
-Here are some first steps in case you want to contribute:
-* Subscribe to our dev mailing list [dev-subscribe@streampipes.apache.org](dev-subscribe@streampipes.apache.org)
-* Send an email, tell us about your interests and which parts of Streampipes you'd like to contribute (e.g., core or UI)!
-* Ask for a mentor who helps you understanding the code base and guides you through the first setup steps
-* Find an issue in our [Jira](https://issues.apache.org/jira/projects/STREAMPIPES) which is tagged with a _newbie_ tag
-* Have a look at our **developer wiki** at [https://cwiki.apache.org/confluence/display/STREAMPIPES](https://cwiki.apache.org/confluence/display/STREAMPIPES) to learn more about StreamPipes development.
diff --git a/website-v2/versioned_docs/version-0.66.0/09_get-help.md b/website-v2/versioned_docs/version-0.66.0/09_get-help.md
deleted file mode 100644
index 53a59ec..0000000
--- a/website-v2/versioned_docs/version-0.66.0/09_get-help.md
+++ /dev/null
@@ -1,27 +0,0 @@
----
-id: community-get-help
-title: Get Help
-sidebar_label: Get Help
-original_id: community-get-help
----
-
-The Apache StreamPipes community is happy to help with any questions or problems you might have.
-
-## Questions
-Subscribe to our user mailing list to ask a question.
-
-[Mailing Lists](https://streampipes.apache.org/mailinglists.html)
-
-To subscribe to the user list, send an email to [users-subscribe@streampipes.apache.org](users-subscribe@streampipes.apache.org)
-
-We also maintain a Slack channel which might be a good way for problems that require interaction:
-
-[Slack Channel](http://slack.streampipes.org)
-
-## Bugs and Feature Requests
-
-If you've found a bug or have a feature that you'd love to see in StreamPipes, feel free to create an issue in our Jira:
-[https://issues.apache.org/jira/projects/STREAMPIPES](https://issues.apache.org/jira/projects/STREAMPIPES)
-
-
-
diff --git a/website-v2/versioned_docs/version-0.66.0/dev-guide-archetype.md b/website-v2/versioned_docs/version-0.66.0/dev-guide-archetype.md
deleted file mode 100644
index 6c3c63b..0000000
--- a/website-v2/versioned_docs/version-0.66.0/dev-guide-archetype.md
+++ /dev/null
@@ -1,144 +0,0 @@
----
-id: dev-guide-archetype
-title: Start Developing
-sidebar_label: Start Developing
-original_id: dev-guide-archetype
----
-
-In this tutorial we explain how you can use the Maven archetypes to develop your own StreamPipes processors and sinks.
-We use IntelliJ in this tutorial, but it works with any IDE of your choice.
-
-## Prerequisites
-You need to have Maven installed, further you need an up and running StreamPipes installation on your development computer.
-To ease the configuration of environment variables, we use the IntelliJ [env Plugin](https://plugins.jetbrains.com/plugin/7861-envfile).
-Install this in IntelliJ. The development also works without the plugin, then you have to set the environment variables manually instead of using the env configuration file.
-
-## Create Project
-To create a new project, we provide multiple Maven Archteypes.
-Currently, we have archetypes for the JVM and Flink wrappers, each for processors and sinks.
-The commands required to create a new pipeline element project can be found below. Make sure that you select a version compatible with your StreamPipes installation.
-Copy the command into your terminal to create a new project.
-The project will be created in the current folder.
-First, the ``groupId`` of the resulting Maven artifact must be set.
-We use ``groupId``: ``org.example`` and ``artifactId``: ``ExampleProcessor``.
-You can keep the default values for the other settings, confirm them by hitting enter.
-Now, a new folder with the name ``ExampleProcessor`` is generated.
-
-The current {sp.version} is 0.66.0
-
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.apache.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-processors-jvm  \
-  -DarchetypeVersion={sp.version}
-```
-<details class="info">
-    <summary>Select: [Processors / Sinks] [JVM / Flink]</summary>
-
-## Processors JVM
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.apache.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-processors-jvm  \
-  -DarchetypeVersion={sp.version}
-```
-
-## Processors Flink
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.apache.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-processors-flink  \
-  -DarchetypeVersion={sp.version}
-```
-
-## Sinks JVM
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.apache.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-sinks-jvm  \
-  -DarchetypeVersion={sp.version}
-```
-
-## Sinks Flink
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.apache.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-sinks-flink  \
-  -DarchetypeVersion={sp.version}
-```
-</details>
-
-
-## Edit Processor
-Open the project in your IDE.
-If everything worked, the structure should look similar to the following image.
-The *config* package contains all the configuration parameters of your processors / sinks.
-In the *main* package, it is defined which processors / sinks you want to activate and the *pe.processor.example* package contains three classes with the application logic.
-For details, have a look at the other parts of the Developer Guide, where these classes are explained in more depth.
-
-<img src="/img/archetype/project_structure.png" width="30%" alt="Project Structure"/>
-
-Open the class *Example* and edit the ``onEvent`` method to print the incoming event, log it to the console and send it to the next component without changing it.
-
-```java
-@Override
-public void onEvent(Event event, SpOutputCollector collector) {
-    // Print the incoming event on the console
-    System.out.println(event);
-
-    // Hand the incoming event to the output collector without changing it.
-    collector.collect(event);
-}
-```
-
-## Start Processor
-Before the processor can be started, you need to edit the *env* file in the *development* folder.
-Replace all local hosts in this file with the IP address or DNS name of your computer.
-This is relevant to make the mapping between the services running in Docker and your component running in the local IDE.
-After all updates are updated, this file is used by the envfile plugin to provide configuration parameters to the pipeline element.
-Alternatively, environment variables can also be set on your host or IDE.
-Now start the project by clicking on **(Run -> Edit Configuration)**.
-Add a new configuration in the Configuration menu by clicking on the + sign and select **Application**.
-Name the configuration *ExampleProcessor* and select the *Init* class as the 'Main class'.
-Then set *ExampleProcessor* in 'Use classpath of module'.
-
-
-As the last step, switch to the tab *EnvFile* and load the env file.
-Click on 'Enable EnvFile' to activate it and add the just edited env file by clicking on the + sign.
-Save all the changes by clicking *Apply*.
-Now you can start the processor.
-
-<div class="my-carousel">
-    <img src="/img/archetype/run_configuration.png" alt="Configuration View"/>
-    <img src="/img/archetype/run_env_configuration.png" alt="Environment Configuration View"/>
-</div>
-
-To check if the service is up and running, open the browser on *'localhost:6666'*. The machine-readable description of the processor should be visible as shown below.
-
-<img src="/img/archetype/endpoint.png" width="90%" alt="Project Structure"/>
-
-
-<div class="admonition error">
-<div class="admonition-title">Common Problems</div>
-<p>
-If the service description is not shown on 'localhost:6666', you might have to change the port address.
-This needs to be done in the configuration of your service, further explained in the configurations part of the developer guide.
-
-If the service does not show up in the StreamPipes installation menu, click on 'MANAGE ENDPOINTS' and add 'http://<span></span>YOUR_IP_OR_DNS_NAME:6666'.
-Use the IP or DNS name you provided in the env file.
-After adding the endpoint, a new processor with the name *Example* should show up.
-</p>
-</div>
-
-Now you can go to StreamPipes.
-Your new processor *'Example'* should now show up in the installation menu.
-Install it, then switch to the pipeline view and create a simple pipeline that makes use of your newly created processor.
-In case you opened the StreamPipes installation for the first time, it should have been automatically installed during the setup process.
-
-<img src="/img/archetype/example_pipeline.png" width="80%" alt="Project Structure"/>
-
-Start this pipeline.
-Now you should see logging messages in your console and, once you've created a visualization, you can also see the resulting events of your component in StreamPipes.
-
-Congratulations, you have just created your first processor!
-From here on you can start experimenting and implement your own algorithms.
diff --git a/website-v2/versioned_docs/version-0.66.0/dev-guide-configuration.md b/website-v2/versioned_docs/version-0.66.0/dev-guide-configuration.md
deleted file mode 100644
index 76dec12..0000000
--- a/website-v2/versioned_docs/version-0.66.0/dev-guide-configuration.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: dev-guide-configuration
-title: Configuration
-sidebar_label: Configuration
-original_id: dev-guide-configuration
----
-
-On this page we explain how the StreamPipes configuration works.
-StreamPipes allows the individual services (pipeline element containers and third-party services) to store configuration parameters in a distributed key-value store.
-This has the advantage that individual services do not need to store any configurations on the local file system, enabling us to run containers anywhere.
-As a key-value store we use [Consul](https://www.consul.io/), which is an essential service for all our services.
-
-<img src="/img/configuration/consul.png" width="50%" alt="Semantic description of data processor"/>
-
-
-## Edit Configurations
-All services in StreamPipes can have configuration parameters.
-You can either change them in the consul user interface (which is by default running on port 8500) or directly in the StreamPipes Configurations Page.
-Once a new  pipeline element container is started, it is registered in Consul and the parameters can be edited in the configuration page, as shown below.
-To store changes in Consul, the update button must be clicked.
-
-<div class="my-carousel">
-    <img src="/img/configuration/configuration_1.png" alt="Configuration View"/>
-</div>
-
-## Configuration for Developers
-We provide a Configurations API for the use of configuration parameters in your services.
-Each processing element project has a “config” package [[Example]](https://github.com/apache/incubator-streampipes-extensions/tree/dev/streampipes-sinks-internal-jvm/src/main/java/org/streampipes/sinks/internal/jvm/config).
-This package usually contains two classes.
-One containing unique keys for the configuration values and one containing the getter and setter methods to access these values.
-For the naming of configuration keys, we recommend to use “SP” as a prefix.
-As we explain later, it is possible to set default configurations as environment variables, this prefix makes them unique on your server.
-A configuration entry needs a unique config key. For this key, a value can be specified containing the configuration, like for example the port number of the service.
-For each configuration, a description explaining the parameter can be provided, further the data type must be specified and whether it is a password or not.
-Below, the schema of a configuration item is shown on the left and an example of a port configuration on the right.
-
-<img src="/img/configuration/config_key.png" width="80%" alt="Semantic description of data processor"/>
-
-As a developer, you can add as many new configurations to services as you wish, but there are some that are required for all processing element containers.
-Those are **the host**, **the port**, and **the name** of the service.
-
-## Default Values
-You can provide default values for the configurations, which are used when a configuration is read for the first time.
-The first option is to register a configuration parameter in the Config class.
-This is a fallback value, which is used if nothing else is defined.
-Since this value is static, we offer a second option.
-It is possible to provide a default value by setting an environment variable.
-In this case, the convention is that the key of a configuration parameter must be used as the environment variable.
-Now, this value is used instead of the value defined in the Config class.
-During development, the configuration values often need to be changed for debugging purposes, therefore we provide an .env file in all processing element projects and archetypes.
-This file can be used by your IDE to set the environment variables. (e.g., [Intellij Plugin](https://plugins.jetbrains.com/plugin/7861-envfile))
-When you need to change the variable at runtime, you can do this in the StreamPipes configurations as explained before.
-Those changes take effect immediately without the need of a container restart.
-
-<div class="admonition warning">
-<div class="admonition-title">Installed pipeline elements</div>
-<p>Be cautious, when the configuration is used in the semantic description of a processing element which is already installed in StreamPipes, you have to reload this element in StreamPipes (my elements -> reload).
-   In addition, changes might affect already running pipelines.</p>
-</div>
diff --git a/website-v2/versioned_docs/version-0.66.0/dev-guide-environment.md b/website-v2/versioned_docs/version-0.66.0/dev-guide-environment.md
deleted file mode 100644
index b573cbb..0000000
--- a/website-v2/versioned_docs/version-0.66.0/dev-guide-environment.md
+++ /dev/null
@@ -1,113 +0,0 @@
----
-id: dev-guide-development-environment
-title: Development Environment
-sidebar_label: Development Environment
-original_id: dev-guide-development-environment
----
-
-In this section, we describe our recommended minimum setup for locally setting up a development instance of StreamPipes needed to develop, run and test new pipeline elements.
-
-## IDE & required dev tools
-StreamPipes does not have specific requirements on the IDE - so feel free to choose the IDE of your choice.
-The only requirements in terms of development tools are that you have Java 8 and Maven installed.
-
-## Docker-based local StreamPipes instance
-In order to quickly test developed pipeline elements without needing to install all services required by StreamPipes, we provide a CLI tool that allows you to selectively start StreamPipes components.
-The CLI tool allows to switch to several templates (based on docker-compose) depending on the role. For instance, if you are developing a pipeline element, use the template ``pe-developer``. This will start backend and ui components in a Docker container, while you can easily test your pipeline element in your IDE.
-
-For now, we refer to the Github Readme for instructions on how to use the CLI tool: [https://github.com/apache/incubator-streampipes-installer](https://github.com/apache/incubator-streampipes-installer)
-
-## Starter projects
-
-Now, once you've started the development instance, you are ready to develop your very first pipeline element.
-Instead of starting from scratch, we recommend using our provided maven archetypes:
-
-### Maven archetypes
-
-Create the Maven archetype as described in the [Getting Started](/docs/dev-guide-archetype) guide.
-
-### Starting from scratch
-
-In order to develop a new pipeline element from scratch, you need to create a new Maven project and import the following dependencies:
-
-<details class="info">
-<summary>pom.xml</summary>
-```
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-container-standalone</artifactId>
-    <version>0.64.0</version>
-</dependency>
-
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-sdk</artifactId>
-    <version>0.64.0</version>
-</dependency>
-
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-vocabulary</artifactId>
-    <version>0.64.0</version>
-</dependency>
-
-<!-- This dependency needs to be imported if you plan to develop a new data processor or data sink using the Apache Flink wrapper -->
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-wrapper-flink</artifactId>
-    <version>0.64.0</version>
-</dependency>
-
-<!-- This dependency needs to be imported if you plan to develop a new data processor or data sink which is running directly on the JVM -->
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-wrapper-standalone</artifactId>
-    <version>0.64.0</version>
-</dependency>
-
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-dataformat-json</artifactId>
-    <version>0.64.0</version>
-</dependency>
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-dataformat-smile</artifactId>
-     <version>0.64.0</version>
-</dependency>
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-dataformat-cbor</artifactId>
-     <version>0.64.0</version>
-</dependency>
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-dataformat-fst</artifactId>
-     <version>0.64.0</version>
-</dependency>
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-messaging-jms</artifactId>
-     <version>0.64.0</version>
-</dependency>
-<dependency>
-    <groupId>org.streampipes</groupId>
-    <artifactId>streampipes-messaging-kafka</artifactId>
-     <version>0.64.0</version>
-</dependency>
-```
-</details>
-
-The following three dependencies are mandatory:
-
-* `streampipes-container-standalone`, defines that we are going to create a new pipeline element where the description will be accessible through an embedded web server.
-* `streampipes-sdk` imports the SDK which provides many convencience functions to create new pipeline elements.
-* `streampipes-vocabulary` imports various RDF vocabularies which are used by the SDK to auto-generate the semantic description of pipeline elements.
-
-The following three dependencies might be optional depending on the pipeline element type you plan to create:
-
-*  `streampipes-wrapper-flink` should be used in case you plan to connect a new data processor or data sink that uses Apache Flink for processing events at runtime.
-*  `streampipes-wrapper-standalone` should be used in case you plan to connect a new data processor or data sink that does not use an external processing engine. Events are directly processed in a single-host fashion.
-
-
-Finally, this dependency will provide abstract classes to define data sources and streams.
diff --git a/website-v2/versioned_docs/version-0.66.0/dev-guide-output-strategies.md b/website-v2/versioned_docs/version-0.66.0/dev-guide-output-strategies.md
deleted file mode 100644
index 81c6395..0000000
--- a/website-v2/versioned_docs/version-0.66.0/dev-guide-output-strategies.md
+++ /dev/null
@@ -1,347 +0,0 @@
----
-id: dev-guide-output-strategies
-title: "SDK Guide: Output Strategies"
-sidebar_label: Output Strategies
-original_id: dev-guide-output-strategies
----
-
-## Introduction
-In StreamPipes, output strategies determine the output of a data processor.
-As the exact input schema of a processor is usually not yet known at development time (as processors can be connected with any stream that matches their requirements), output strategies are a concept to define how an input data stream is transformed to an output data stream.
-
-The following reference describes how output strategies can be defined using the SDK.
-
-<div class="admonition tip">
-<div class="admonition-title">Code on Github</div>
-<p>For all examples, the code can be found on <a href="https://www.github.com/apache/incubator-streampipes-examples/tree/dev/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/streampipes/pe/examples/jvm/outputstrategy/">Github</a>.</p>
-</div>
-
-## Reference
-
-The methods described below to create static properties are available in the ``ProcessingElementBuilder`` class and are usually used in the ``declareModel`` method of the controller class.
-
-As follows, we will use the following example event to explain how output strategies define the output of a data processor:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "1"
-
-}
-```
-
-### Keep Output
-
-A ``KeepOutputStrategy`` declares that the output event schema will be equal to the input event schema.
-In other terms, the processor does not change the schema, but might change the values of event properties.
-
-A keep output strategy can be defined as follows:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".keep", "Keep output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.anyProperty())
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // declaring a keep output strategy
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-
-```
-
-According to the example above, the expected output event schema of the example input event would be:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "1"
-
-}
-```
-
-Data processors that perform filter operations (e.g., filtering temperature values that are above a given threshold) are a common example for using keep output strategies.
-
-
-### Fixed Output
-
-A ``FixedOutputStrategy`` declares that the data processor itself provides the event schema. The output schema does not depend on the input event.
-
-Fixed output strategies need to provide the event schema they produce at development time:
-
-```java
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".fixed", "Fixed output example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.anyProperty())
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // the fixed output strategy provides the schema
-            .outputStrategy(OutputStrategies.fixed(EpProperties.timestampProperty("timestamp"),
-                    EpProperties.doubleEp(Labels.from("avg", "Average value", ""), "avg", SO.Number)))
-
-            .build();
-  }
-
-```
-
-In this example, we declare that the output schema always consists of two fields (``timestamp`` and ``avg``).
-
-Therefore, an output event should look like:
-
-```json
-{
-    "timestamp" : 1234556,
-    "avg" : 36.0
-}
-```
-
-
-### Append Output
-
-An ``AppendOutputStrategy`` appends additional fields to a schema of an incoming event stream. For instance, data processors that perform enrichment operations usually make use of append output strategies.
-
-Similar to the fixed output strategy, the additional fields must be provided at development time in the controller method as follows:
-
-```java
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".append", "Append output example", "")
-
-            // boilerplate code not relevant here, see above
-
-            // declaring an append output
-            .outputStrategy(OutputStrategies.append(EpProperties.integerEp(Labels.from("avg",
-                    "The average value", ""), "avg", SO.Number)))
-
-            .build();
-  }
-```
-
-In this case, the output event would have an additional field ``avg``:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "1",
-    "avg" : 123.0
-
-}
-```
-
-### Custom Output
-
-In some cases, pipeline developers using the StreamPipes UI should be able to manually select fields from an input event schema. For such use cases, a ``CustomOutputStrategy`` can be used:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".custom", "Custom output example", "")
-
-            // boilerplate code not relevant here, see above
-
-            // declaring a custom output
-            .outputStrategy(OutputStrategies.custom())
-
-            .build();
-  }
-
-```
-
-If a data processor defines a custom output strategy, the customization dialog in the pipeline editor will show a dialog to let users select the fields to keep:
-
-<img src="/img/dev-guide-output-strategies/os-custom.png" width="80%" alt="Number Parameter"/>
-
-Taking our example, and assuming that the user selects both the ``timestamp`` and the ``temperature`` the expected output event should look like this:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0
-}
-```
-
-How do we know which fields were selected once the data processor is invoked? Use the proper method from the extractor in the ``onInvocation`` method:
-
-```java
-@Override
-  public ConfiguredEventProcessor<DummyParameters> onInvocation(DataProcessorInvocation graph, ProcessingElementParameterExtractor extractor) {
-
-    List<String> outputSelectors = extractor.outputKeySelectors();
-
-    return new ConfiguredEventProcessor<>(new DummyParameters(graph), DummyEngine::new);
-  }
-```
-
-### Transform Output
-
-A ``TransformOutputStrategy`` declares that one or more fields of an incoming event stream are transformed. Transformations can be applied to the datatype of the property, the runtime name of the property, or any other scheam-related declaration such as measurement units.
-
-#### Static Transform Operations
-
-Static transform operations do not depend on any user input (at pipeline development time) in order to know how to transform a field of an incoming event schema.
-
-Let's say our data processor transforms strings (that are actually a number) to a number datatype. In this case, we can use a static transform output strategy:
-
-```java
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".transform", "Transform output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.stringReq(), Labels.from
-                            ("str", "The date property as a string", ""), PropertyScope.NONE)
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // static transform operation
-            .outputStrategy(OutputStrategies.transform(TransformOperations
-                    .staticDatatypeTransformation("str", Datatypes.Long)))
-
-            .build();
-  }
-
-```
-
-Note the mapping property that we use to determine which field of the input event should be transformed.
-
-The expected output event would look like this:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : 1
-}
-```
-
-#### Dynamic Transform Operations
-
-Sometimes, user input depends on the exact transform output. Let's take a field renaming processor as an example, which lets the user rename a field from an input event schema to another field name.
-For such use cases, we can use a ``DynamicTransformOperation``:
-
-```java
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".transform", "Transform output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.stringReq(), Labels.from
-                            ("str", "The date property as a string", ""), PropertyScope.NONE)
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // the text input to enter the new runtime name
-            .requiredTextparameter(Labels.from("new-runtime-name", "New Runtime Name", ""))
-
-            // static transform operation
-            .outputStrategy(OutputStrategies.transform(TransformOperations
-                    .dynamicRuntimeNameTransformation("str", "new-runtime-name")))
-
-            .build();
-  }
-
-```
-
-For dynamic transform operations, an additional identifier that links to another static property can be assigned and later be fetched in the ``onInvocation`` method.
-
-Assuming we want to rename the field ``temperature`` to ``temp``, the resulting output event should look like this:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temp" : 37.0,
-    "deviceId" : 1
-}
-```
-
-### Custom Transform Output
-
-Finally, in some cases the output schema cannot be described at pipeline development time. For these (usually rare) cases, a ``CustomTransformOutput`` strategy can be used.
-
-In this case, a callback function will be invoked in the controller class just after a user has filled in any static properties and clicks on ``Save`` in the pipeline editor.
-
-To define a custom transform output, we need to implement an interface in the controller class:
-
-```java
-public class CustomTransformOutputController extends
-        StandaloneEventProcessingDeclarer<DummyParameters> implements
-        ResolvesContainerProvidedOutputStrategy<DataProcessorInvocation, ProcessingElementParameterExtractor> {
-
-
-@Override
-  public EventSchema resolveOutputStrategy(DataProcessorInvocation processingElement, ProcessingElementParameterExtractor parameterExtractor) throws SpRuntimeException {
-
-  }
-}
-```
-
-In addition, the output strategy must be declared in the ``declareModel`` method:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".customtransform", "Custom transform output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.stringReq(), Labels.from
-                            ("str", "The date property as a string", ""), PropertyScope.NONE)
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // declare a custom transform output
-            .outputStrategy(OutputStrategies.customTransformation())
-
-            .build();
-  }
-
-```
-
-Once a new pipeline using this data processor is created and the configuration is saved, the ``resolveOutputStrategy`` method will be called, so that an event schema can be provided based on the given configuration. An extractor instance (see the guide on static properties) is available to extract the selected static properties and the connected event stream.
-
-```java
-@Override
-  public EventSchema resolveOutputStrategy(DataProcessorInvocation processingElement, ProcessingElementParameterExtractor parameterExtractor) throws SpRuntimeException {
-    return new EventSchema(Arrays
-            .asList(EpProperties
-                    .stringEp(Labels.from("runtime", "I was added at runtime", ""), "runtime", SO.Text)));
-  }
-```
-
-In this example, the output event schema should look like this:
-
-```json
-{
-    "runtime" : "Hello world!"
-}
-```
-
diff --git a/website-v2/versioned_docs/version-0.66.0/dev-guide-static-properties.md b/website-v2/versioned_docs/version-0.66.0/dev-guide-static-properties.md
deleted file mode 100644
index 2f990bb..0000000
--- a/website-v2/versioned_docs/version-0.66.0/dev-guide-static-properties.md
+++ /dev/null
@@ -1,265 +0,0 @@
----
-id: dev-guide-static-properties
-title: "SDK Guide: Static Properties"
-sidebar_label: Static Properties
-original_id: dev-guide-static-properties
----
-
-## Introduction
-Static properties represent user-faced parameters that are provided by pipeline developers.
-Processing elements can specify required static properties, which will render different UI views in the pipeline editor.
-
-The following reference describes how static properties can be defined using the SDK.
-
-<div class="admonition tip">
-<div class="admonition-title">Code on Github</div>
-<p>For all examples, the code can be found on <a href="https://github.com/apache/incubator-streampipes-examples/tree/dev/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/streampipes/pe/examples/jvm/staticproperty">Github</a>.</p>
-</div>
-
-## Reference
-
-The methods described below to create static properties are available in the ``ProcessingElementBuilder`` and ``DataSinkBuilder`` classes and are usually used in the ``declareModel`` method of the controller class.
-
-### Mapping property
-
-In StreamPipes, processing elements usually operate on fields of an event stream. For instance, a filter processor operates on a specific field from an input stream (e.g., a field measuring the temperature).
-Typically, pipeline developers should select the exact field where the operations is applied upon by themselves.
-As this field is not yet known at pipeline element development time (as it is defined by the pipeline developer in the pipeline editor), mapping properties serve to map a stream requirement to a specific field from the actual input event stream.
-
-### Unary mapping property
-
-A unary mapping property maps a stream requirement to an actual field of an event stream. Therefore, the ``StreamRequirementsBuilder`` provides the opportunity to directly add a mapping property based along with a property requirement:
-
-```java
-.requiredStream(StreamRequirementsBuilder.
-    create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.numberReq(),
-            Labels.from("mp-key", "My Mapping", ""),
-            PropertyScope.NONE)
-    .build())
-```
-
-This leads to a selection dialog in the pipeline element customization which provides the user with a selection of all event properties (fields) from the input stream that match the specified property requirement:
-
-<img src="/img/dev-guide-static-properties/sp-mapping-unary.png" width="80%" alt="Text"/>
-
-At invocation time, the value can be extracted in the ``onInvocation`` method as follows:
-
-```java
-// Extract the mapping property value
-String mappingPropertySelector = extractor.mappingPropertyValue("mp-key");
-```
-
-Note that this method returns a ``PropertySelector``, which can be used by the event model to extract the actual value of this field.
-
-### N-ary mapping property
-
-N-ary mapping properties work similar to unary mapping properties, but allow the mapping of one requirement to multiple event properties matching the requirement:
-
-```java
-.requiredStream(StreamRequirementsBuilder.
-    create()
-    .requiredPropertyWithNaryMapping(EpRequirements.numberReq(),
-            Labels.from("mp-key", "My Mapping", ""),
-            PropertyScope.NONE)
-    .build())
-```
-
-This renders the following selection, where users can select more than one matching event property:
-
-<img src="/img/dev-guide-static-properties/sp-mapping-nary.png" width="80%" alt="Text"/>
-
-The following snippet returns a list containing the property selectors of all event properties that have been selected:
-
-```java
-// Extract the mapping property value
-List<String> mappingPropertySelectors = extractor.mappingPropertyValues("mp-key");
-```
-
-### Free-Text Parameters
-
-A free-text parameter requires the pipeline developer to enter a single value - which can be a string or another primitive data type.
-The input of free-text parameters can be restricted to specific value ranges or can be linked to the value set of a connected input data stream.
-
-#### Text Parameters
-
-A text parameter lets the user enter a string value. The following code line in the controller class
-
-```java
-.requiredTextParameter(Labels.from(SP_KEY, "Example Name", "Example Description"))
-```
-
-leads to the following input dialog in the pipeline editor:
-
-<img src="/img/dev-guide-static-properties/sp-text-parameter.png" width="80%" alt="Text"/>
-
-Users can enter any value that will be converted to a string datatype. To receive the entered value in the ``onInvocation`` method, use the following method from the ``ParameterExtractor``
-
-```java
-String textParameter = extractor.singleValueParameter(SP_KEY, String.class);
-```
-
-#### Number parameters
-
-A number parameter lets the user enter a number value, either a floating-point number or an integer:
-
-```java
-// create an integer parameter
-.requiredIntegerParameter(Labels.from(SP_KEY, "Integer Parameter", "Example Description"))
-
-// create a float parameter
-.requiredFloatParameter(Labels.from("float-key", "Float Parameter", "Example Description"))
-
-```
-
-leads to the following input dialog in the pipeline editor only accepting integer values:
-
-<img src="/img/dev-guide-static-properties/sp-number-parameter.png" width="80%" alt="Number Parameter"/>
-
-The pipeline editor performs type validation and ensures that only numbers can be added by the user. To receive the entered value in the ``onInvocation`` method, use the following method from the ``ParameterExtractor``
-
-```java
-// Extract the integer parameter value
-Integer integerParameter = extractor.singleValueParameter(SP_KEY, Integer.class);
-
-// Extract the float parameter value
-Float floatParameter = extractor.singleValueParameter("float-key", Float.class);
-
-```
-
-#### Numbers with value specification
-
-You can also specify the value range of a number-based free text parameter:
-
-```java
-// create an integer parameter with value range
-.requiredIntegerParameter(Labels.from(SP_KEY, "Integer Parameter", "Example Description"), 0, 100, 1)
-
-```
-
-which renders the following input field:
-
-<img src="/img/dev-guide-static-properties/sp-number-parameter-with-range.png" width="80%" alt="Number Parameter"/>
-
-Receive the entered value in the same way as a standard number parameter.
-
-#### Free-text parameters linked to an event property
-
-
-### Single-Value Selections
-
-Single-value selections let the user select from a pre-defined list of options.
-A single-value selection requires to select exactly one option.
-
-```java
-.requiredSingleValueSelection(Labels.from("id", "Example Name", "Example Description"),
-    Options.from("Option A", "Option B", "Option C"))
-
-```
-
-Single-value selections will be rendered as a set of radio buttons in the pipeline editor:
-
-<img src="/img/dev-guide-static-properties/sp-single-selection.png" width="80%" alt="Number Parameter"/>
-
-To extract the selected value, use the following method from the parameter extractor:
-
-```java
-// Extract the selected value
-String selectedSingleValue = extractor.selectedSingleValue("id", String.class);
-```
-
-<div class="admonition tip">
-<div class="admonition-title">Declaring options</div>
-<p>Sometimes, you may want to use an internal name that differs from the display name of an option.
-For that, you can use the method Options.from(Tuple2{'<'}String, String{'>'}) and the extractor method selectedSingleValueInternalName.</p>
-</div>
-
-
-
-### Multi-Value Selections
-
-Multi-value selections let the user select from a pre-defined list of options, where multiple or no option might be selected.
-
-```java
-.requiredMultiValueSelection(Labels.from("id", "Example Name", "Example Description"),
-    Options.from("Option A", "Option B", "Option C"))
-
-```
-
-Multi-value selections will be rendered as a set of checkboxes in the pipeline editor:
-
-<img src="/img/dev-guide-static-properties/sp-multi-selection.png" width="80%" alt="Number Parameter"/>
-
-To extract the selected value, use the following method from the parameter extractor:
-
-```java
-// Extract the selected value
-List<String> selectedMultiValue = extractor.selectedMultiValues("id", String.class);
-```
-
-### Domain Concepts
-
-(coming soon...)
-
-### Collections
-
-You can also define collections based on other static properties.
-
-```java
-// create a collection parameter
-.requiredParameterAsCollection(Labels.from("collection", "Example Name", "Example " +
-        "Description"), StaticProperties.stringFreeTextProperty(Labels
-        .from("text-property","Text","")))
-```
-
-While the items of the collection can be provided in the same way as the underlying static property, the UI provides buttons to add and remove items to the collections.
-
-<img src="/img/dev-guide-static-properties/sp-collection.png" width="80%" alt="Number Parameter"/>
-
-To extract the selected values from the collection, use the following method from the parameter extractor:
-
-```java
-// Extract the text parameter value
-List<String> textParameters = extractor.singleValueParameterFromCollection("collection", String.class);
-```
-
-### Runtime-resolvable selections
-
-In some cases, the options of selection parameters are not static, but depend on other values or might change at runtime. In this case, you can use runtime-resolvable selections.
-
-First, let your controller class implement ``ResolvesContainerProvidedOptions``:
-
-```java
-public class RuntimeResolvableSingleValue extends
-     StandaloneEventProcessingDeclarer<DummyParameters> implements ResolvesContainerProvidedOptions { ... }
-```
-
-Next, define the parameter in the ``declareModel`` method:
-
-```java
-// create a single value selection parameter that is resolved at runtime
-    .requiredSingleValueSelectionFromContainer(Labels.from("id", "Example Name", "Example " +
-            "Description"))
-```
-
-Finally, implement the method ``resolveOptions``, which will be called at runtime once the processor is used:
-
-```java
-  @Override
-  public List<RuntimeOptions> resolveOptions(String requestId, EventProperty linkedEventProperty) {
-    return Arrays.asList(new RuntimeOptions("I was defined at runtime", ""));
-  }
-```
-
-The UI will render a single-value parameter based on the options provided at runtime:
-
-<img src="/img/dev-guide-static-properties/sp-single-selection-remote.png" width="80%" alt="Number Parameter"/>
-
-The parameter extraction does not differ from the extraction of static single-value parameters.
-
-<div class="admonition info">
-<div class="admonition-title">Multi-value selections</div>
-<p>Although this example shows the usage of runtime-resolvable selections using single value selections, the same also works for multi-value selections!</p>
-</div>
-
-
diff --git a/website-v2/versioned_docs/version-0.66.0/dev-guide-stream-requirements.md b/website-v2/versioned_docs/version-0.66.0/dev-guide-stream-requirements.md
deleted file mode 100644
index 70c5551..0000000
--- a/website-v2/versioned_docs/version-0.66.0/dev-guide-stream-requirements.md
+++ /dev/null
@@ -1,179 +0,0 @@
----
-id: dev-guide-stream-requirements
-title: "SDK Guide: Stream Requirements"
-sidebar_label: Stream Requirements
-original_id: dev-guide-stream-requirements
----
-
-## Introduction
-
-Data processors and data sinks can define ``StreamRequirements``. Stream requirements allow pipeline elements to express requirements on an incoming event stream that are needed for the element to work properly.
-Once users create pipelines in the StreamPipes Pipeline Editor, these requirements are verified against the connected event stream.
-By using this feature, StreamPipes ensures that only pipeline elements can be connected that are syntactically and semantically valid.
-
-This guide covers the creation of stream requirements. Before reading this section, we recommend that you make yourself familiar with the SDK guide on [data processors](dev-guide-processor-sdk.md) and [data sinks](dev-guide-sink-sdk.md).
-
-<div class="admonition tip">
-<div class="admonition-title">Code on Github</div>
-<p>For all examples, the code can be found on <a href="https://www.github.com/apache/incubator-streampipes-examples/tree/dev/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/streampipes/pe/examples/jvm/requirements/">Github</a>.</p>
-</div>
-
-## The StreamRequirementsBuilder
-
-Stream requirements can be defined in the ``Controller`` class of the pipeline element. Start with a method body like this:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create(ID, PIPELINE_ELEMENT_NAME, DESCRIPTION)
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-
-                    .build())
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-The ``StreamRequirementsBuilder`` class provides methods to add stream requirements to a pipeline element.
-
-## Requirements on primitive fields
-
-As a very first example, let's assume we would like to create a data processor that filters numerical values that are above a given threshold.
-Consequently, any data stream that is connected to the filter processor needs to provide a numerical value.
-
-The stream requirement would be assigned as follows:
-
-```java
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create(ID, PIPELINE_ELEMENT_NAME, DESCRIPTION)
-            .requiredStream(StreamRequirementsBuilder
-                    .create()
-                    .requiredProperty(EpRequirements.numberReq())
-                    .build())
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-Note the line starting with ``requiredProperty``, which requires any stream to provide a datatype of type ``number``.
-
-In many cases, you'll want to let the user select a specific field from a data stream from all available fields that match the specified requirement. For that, you simply use the method ``requiredPropertyWithUnaryMapping`` as follows:
-
-```java
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create(ID, PIPELINE_ELEMENT_NAME, DESCRIPTION)
-            .requiredStream(StreamRequirementsBuilder
-                    .create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.numberReq(),
-                    Labels.from("number-mapping", "The value that should be filtered", ""), PropertyScope.NONE)
-                    .build())
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-See also the developer guide on [static properties](dev-guide-static-properties.md) to better understand the usage of ``MappingProperties``.
-
-Requirements on primitive fields can be specified for all common datatypes:
-
-```java
- @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.requirements" +
-            ".simple", "Simple requirements specification examples", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.numberReq()) // any number
-                    .requiredProperty(EpRequirements.doubleReq()) // any field of type double
-                    .requiredProperty(EpRequirements.booleanReq()) // any field of type boolean
-                    .requiredProperty(EpRequirements.integerReq()) // any field of type integer
-                    .requiredProperty(EpRequirements.stringReq()) // any field of type string
-
-                    .requiredProperty(EpRequirements.anyProperty()) // any field allowed (no restriction)
-                    .requiredProperty(EpRequirements.timestampReq())  // any timestamp field
-                    .build())
-
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-```
-
-### Specifying semantics
-
-For some algorithms, only specifying the datatype is not sufficient. Let's consider a geofencing algorithm that detects the precense some geospatial coordinate (e.g., from a vehicle) within a given location.
-
-You could specify something like this:
-
-```java
-    StreamRequirementsBuilder
-    .create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.doubleEp(), Labels.from("mapping-latitude", "Latitude", ""), PropertyScope.NONE)
-    .requiredPropertyWithUnaryMapping(EpRequirements.doubleEp(), Labels.from("mapping-longitude", "Longitude", ""), PropertyScope.NONE)
-    .build()
-```
-
-However, this would allow users to create strange pipelines as users could connect any stream containing a double value to our geofencing algorithm.
-To avoid such situations, you can also specify requirements based on the semantics of a field:
-
-```java
-    StreamRequirementsBuilder
-    .create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(SO.Latitude), Labels.from("mapping-latitude", "Latitude", ""), PropertyScope.NONE)
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(SO.Longitude), Labels.from("mapping-longitude", "Longitude", ""), PropertyScope.NONE)
-    .build()
-```
-
-Note that in this case, we make use of Schema.org's ``Latitude`` concept ([https://schema.org/latitude](https://schema.org/latitude)). StreamPipes already includes popular vocabularies for specifying semantics. You are also free to use your own vocabularies.
-
-
-## Requirements on lists
-
-Similarly to primitive requirements, you can define processors that require data streams with list fields, see the following examples:
-
-```java
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.requirements" +
-            ".list", "List requirements specification examples", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.Integer))
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.Double))
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.Boolean))
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.String))
-                    .build())
-
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-## Requirements on nested properties
-
-(coming soon, see the Javadoc for now)
-
-
-
diff --git a/website-v2/versioned_docs/version-0.66.0/dev-guide-tutorial-sources.md b/website-v2/versioned_docs/version-0.66.0/dev-guide-tutorial-sources.md
deleted file mode 100644
index 07816d2..0000000
--- a/website-v2/versioned_docs/version-0.66.0/dev-guide-tutorial-sources.md
+++ /dev/null
@@ -1,283 +0,0 @@
----
-id: dev-guide-tutorial-sources
-title: "Tutorial: Data Sources"
-sidebar_label: "Tutorial: Data Sources"
-original_id: dev-guide-tutorial-sources
----
-
-In this tutorial, we will add a new data source consisting of a single data stream. The source will be provided as a standalone component (i.e., the description will be accessible through an integrated web server).
-
-## Objective
-
-We are going to create a new data stream that is produced by a GPS sensor installed in a delivery vehicle.
-The sensor produces a continuous stream of events that contain the current timestamp, the current lat/lng position of the vehicle and the plate number of the vehicle.
-Events are published in a JSON format as follows:
-```json
-{
-  "timestamp" : 145838399,
-  "latitude" : 37.04,
-  "longitude" : 17.04,
-  "plateNumber" : "KA-AB 123"
-}
-```
-
-These events are published to a Kafka broker using the topic `org.streampipes.tutorial.vehicle`.
-
-In the following section, we show how to describe this stream in a form that allows you to import and use it in StreamPipes.
-
-## Project setup
-
-Instead of creating a new project from scratch, we recommend to use the Maven archetype to create a new project skeleton.
-Enter the following command in a command line of your choice (Apache Maven needs to be installed):
-
-```
-mvn archetype:generate \
--DarchetypeGroupId=org.streampipes -DarchetypeArtifactId=streampipes-archetype-pe-sources \
--DarchetypeVersion=0.65.0 -DgroupId=my.groupId \
--DartifactId=my-source -DclassNamePrefix=MySource -DpackageName=mypackagename
-```
-
-Configure the variables ``artifactId`` (which will be the Maven artifactId), ``classNamePrefix`` (which will be the class name of your data stream) and ``packageName``.
-
-For this tutorial, use ``Vehicle`` as ``classNamePrefix``.
-
-Your project will look as follows:
-
-<img src="/img/tutorial-sources/project-structure.PNG" alt="Project Structure"/>
-
-That's it, go to the next section to learn how to create your first data stream!
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Besides the basic project skeleton, the sample project also includes an example Dockerfile you can use to package your application into a Docker container.
-</p>
-</div>
-
-## Adding a data stream description
-
-Now we will add a new data stream definition.
-First, open the class `VehicleStream` which should look as follows:
-
-```java
-
-package my.groupId.pe.mypackagename;
-
-import org.streampipes.model.SpDataStream;
-import org.streampipes.model.graph.DataSourceDescription;
-import org.streampipes.sdk.builder.DataStreamBuilder;
-import org.streampipes.sdk.helpers.EpProperties;
-import org.streampipes.sdk.helpers.Formats;
-import org.streampipes.sdk.helpers.Protocols;
-import org.streampipes.sources.AbstractAdapterIncludedStream;
-
-
-public class MySourceStream extends AbstractAdapterIncludedStream {
-
-  @Override
-  public SpDataStream declareModel(DataSourceDescription sep) {
-    return DataStreamBuilder.create("my.groupId-mypackagename", "MySource", "")
-            .property(EpProperties.timestampProperty("timestamp"))
-
-            // configure your stream here
-
-            .format(Formats.jsonFormat())
-            .protocol(Protocols.kafka("localhost", 9092, "TOPIC_SHOULD_BE_CHANGED"))
-            .build();
-  }
-
-  @Override
-  public void executeStream() {
-
-  }
-}
-```
-
-This class extends the class ``AbstractAdapterIncludedStream``, which indicates that this source continuously produces data (configured in the ``executeStream()`` method.
-In contrast, the class `AbstractAlreadyExistingStream` indicates that we only want to describe an already existing stream (e.g., a stream that already sends data to an existing Kafka broker).
-
-Next, we will add the definition of the data stream. Add the following code inside of the `declareModel` method:
-```java
-return DataStreamBuilder.create("org.streampipes.tutorial.vehicle.position", "Vehicle Position", "An event stream " +
-          "that produces current vehicle positions")
-```
-
-This line creates a new instance of the SDK's `DataStreamBuilder` by providing three basic parameters:
-The first parameter must be a unique identifier of your data stream.
-The second and third parameters indicate a label and a description of your stream.
-These values will later be used in the StreamPipes UI to display stream details in a human-readable manner.
-
-Next, we will add the properties as stated above to the stream definition by adding the following lines:
-```java
-.property(EpProperties.timestampProperty("timestamp"))
-.property(EpProperties.stringEp(Labels.from("plate-number", "Plate Number", "Denotes the plate number of the vehicle"), "plateNumber", "http://my.company/plateNumber"))
-.property(EpProperties.doubleEp(Labels.from("latitude", "Latitude", "Denotes the latitude value of the vehicle's position"), "latitude", Geo.lat))
-.property(EpProperties.doubleEp(Labels.from("longitude", "Longitude", "Denotes the longitude value of the vehicle's position"), "longitude", Geo.lng))
-```
-These four _event properties_ compose our _event schema_. An event property must, at least, provide the following attributes:
-
-* **Runtime Name**. The runtime name indicates the key of the property at runtime, e.g., if our JSON message contains a structure such as `{"plateNumber" : "KA-F 123"}`, the runtime name must be `plateNumber`.
-* **Runtime Type**. An event property must have a primitive type (we will later see how to model more complex properties such as lists and nested properties).
-The type must be an instance of `XMLSchema` primitives, however, the SDK provides convenience methods to provide the property type.
-* **Domain Property**. The domain property indicates the semantics of the event property. For instance, the `latitude` property is linked to the `http://www.w3.org/2003/01/geo/wgs84_pos#lat` property of the WGS84 vocabulary.
-The domain property should be an URI as part of an existing or domain-specific vocabulary. The SDK provides convenience methods for popuplar vocabularies (e.g., Schema.org, Dolce or WGS84).
-
-In order to complete the minimum required specification of an event stream, we need to provide information on the transport format and protocol of the data stream at runtime.
-
-This can be achieved by extending the builder with the respective properties (which should already have been auto-generated):
-```java
-.format(Formats.jsonFormat())
-.protocol(Protocols.kafka("localhost", 9092, "TOPIC_SHOULD_BE_CHANGED"))
-.build();
-```
-
-Set ``org.streampipes.tutorial.vehicle`` as your new topic by replacing the term ``TOPIC_SHOULD_BE_CHANGED`.
-
-In this example, we defined that the data stream consists of events in a JSON format and that Kafka is used as a message broker to transmit events.
-The last build() method call triggers the construction of the RDF-based data stream definition.
-
-That's it! In the next section, we will connect the data stream to a source and inspect the generated RDF description.
-
-## Creating some dummy data
-
-Let's assume our stream should produce some random values that are sent to StreamPipes. We'll add a very simple data simulator to the ``executeStream`` method as follows:
-
-```java
-@Override
-  public void executeStream() {
-
-    SpKafkaProducer producer = new SpKafkaProducer("localhost:9092", "TOPIC_SHOULD_BE_CHANGED");
-    Random random = new Random();
-    Runnable runnable = new Runnable() {
-      @Override
-      public void run() {
-        for (;;) {
-          JsonObject jsonObject = new JsonObject();
-          jsonObject.addProperty("timestamp", System.currentTimeMillis());
-          jsonObject.addProperty("plateNumber", "KA-FZ 1");
-          jsonObject.addProperty("latitude", random.nextDouble());
-          jsonObject.addProperty("longitude", random.nextDouble());
-
-          producer.publish(jsonObject.toString());
-
-          try {
-            Thread.sleep(1000);
-          } catch (InterruptedException e) {
-            e.printStackTrace();
-          }
-
-        }
-      }
-    };
-
-    new Thread(runnable).start();
-  }
-```
-
-Change the topic and the URL of your Kafka broker (as stated in the controller).
-
-## Adding a source description
-
-A data source can be seen like a container for a set of data streams. Usually, a data source includes events that are logically or physically connected.
-For instance, in our example we would add other streams produced by vehicle sensors (such as fuel consumption) to the same data source description.
-
-Open the class `DataSource` which should look as follows:
-```java
-
-package my.groupId.pe.mypackagename;
-
-import org.streampipes.container.declarer.DataStreamDeclarer;
-import org.streampipes.container.declarer.SemanticEventProducerDeclarer;
-import org.streampipes.model.graph.DataSourceDescription;
-import org.streampipes.sdk.builder.DataSourceBuilder;
-
-import java.util.Arrays;
-import java.util.List;
-
-
-public class DataSource implements SemanticEventProducerDeclarer {
-
-  public DataSourceDescription declareModel() {
-    return DataSourceBuilder.create("my.groupId.mypackagename.source", "MySource " +
-        "Source", "")
-            .build();
-  }
-
-  public List<DataStreamDeclarer> getEventStreams() {
-    return Arrays.asList(new MySourceStream());
-  }
-}
-```
-First, we need to define the source. Similar to data streams, a source consists of an id, a human-readable name and a description.
-Replace the content defined in the `declareModel` method with the following code:
-```java
-return DataSourceBuilder.create("org.streampipes.tutorial.source.vehicle", "Vehicle Source", "A data source that " +
-    "holds event streams produced by vehicles.")
-    .build();
-```
-
-## Preparing the container
-
-The final step is to define the deployment type of our new data source. In this tutorial, we will create a so-called `StandaloneModelSubmitter`.
-This client will start an embedded web server that provides the description of our data source.
-
-Go to the class `Init` that implements `StandaloneModelSubmitter`, which should look as follows:
-```java
-package my.groupId.main;
-
-import org.streampipes.container.init.DeclarersSingleton;
-import org.streampipes.container.standalone.init.StandaloneModelSubmitter;
-import my.groupId.config.Config;
-import my.groupId.pe.mypackagename.DataSource;
-
-public class Init extends StandaloneModelSubmitter {
-
-  public static void main(String[] args) throws Exception {
-    DeclarersSingleton.getInstance()
-            .add(new DataSource());
-
-    new Init().init(Config.INSTANCE);
-
-  }
-}
-```
-This code adds the `VehicleSource`. Finally, the `init` method is called
-which triggers the generation of the corresponding RDF description and startup of the web server.
-
-<div class="admonition info">
-<div class="admonition-title">Info</div>
-<p>In the example above, we make use of a class `Config`.
-       This class contains both mandatory and additional configuration parameters required by a pipeline element container.
-       These values are stored in the Consul-based key-value store of your StreamPipes installation.
-       The SDK guide contains a detailed manual on managing container configurations.</p>
-</div>
-
-## Starting the container
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>By default, the container registers itself using the hostname later used by the Docker container, leading to a 404 error when you try to access an RDF description.
-       For local development, we provide an environment file in the ``development`` folder. You can add your hostname here, which will override settings from the Config class.
-       For instance, use the IntelliJ ``EnvFile`` plugin to automatically provide the environment variables upon start.
-</p>
-</div>
-
-Now we are ready to start our first container!
-
-Execute the main method in the class `Main` we've just created, open a web browser and navigate to http://localhost:8090, or change the port according to the value of the ``SP_PORT`` variable in the env file.
-
-You should see something as follows:
-
-<img src="/img/tutorial-sources/pe-overview.PNG" alt="Pipeline Element Container Overview"/>
-
-Click on the link of the data source to see the RDF description of the pipeline element.
-
-<img src="/img/tutorial-sources/pe-rdf.PNG" alt="Pipeline Element RDF description"/>
-
-The container automatically registers itself in the Consul installation of StreamPipes.
-To install the just created element, open the StreamPipes UI and follow the manual provided in the [user guide](user-guide-introduction).
-
-## Read more
-
-Congratulations! You've just created your first pipeline element for StreamPipes.
-There are many more things to explore and data sources can be defined in much more detail.
-Follow our [SDK guide](dev-guide-source-sdk) to see what's possible!
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md
deleted file mode 100644
index 09e0d91..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-id: version-0.68.0-org.apache.streampipes.connect.adapters.flic.mqtt
-title: Flic MQTT
-sidebar_label: Flic MQTT
-original_id: org.apache.streampipes.connect.adapters.flic.mqtt
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.flic.mqtt/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Connect Flic Smart Button over MQTT
-
-***
-
-## Required input
-
-This adapter uses the MQTT protocol and requires the data in following exemplary JSON format:
-{ "timestamp": 1584973344615, "click_type": SINGLE, "button_id": button1 }.
-***
-
-## Configuration
-
-### Broker URL 
-
-Example: tcp://test-server.com:1883 (Protocol required. Port required)
-
-### Access Mode
-
-The user can choose between unauthenticated or authenticated access.
-
-### TOPIC
-The topic the MQTT broker publishes to.
-
-## Output
-
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.opcua.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.opcua.md
deleted file mode 100644
index 1d87660..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.opcua.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.opcua
-title: OPC UA
-sidebar_label: OPC UA
-original_id: org.apache.streampipes.connect.adapters.opcua
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.opcua/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Read values from an OPC-UA server
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md
deleted file mode 100644
index c153ee4..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: version-0.68.0-org.apache.streampipes.connect.adapters.plc4x.modbus
-title: PLC4X MODBUS
-sidebar_label: PLC4X MODBUS
-original_id: org.apache.streampipes.connect.adapters.plc4x.modbus
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.modbus/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Shows the live position of the International Space Station (ISS), updated every two seconds.
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.machine.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.machine.md
deleted file mode 100644
index d05c1b1..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.machine.md
+++ /dev/null
@@ -1,41 +0,0 @@
----
-id: version-0.68.0-org.apache.streampipes.connect.adapters.simulator.machine
-title: Machine Data Simulator
-sidebar_label: Machine Data Simulator
-original_id: org.apache.streampipes.connect.adapters.simulator.machine
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.simulator.machine/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes various simulated machine sensor data in a configurable time interval (in milliseconds).
-Sensors are:
-* flowrate
-* pressure
-* waterlevel
-***
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md
deleted file mode 100644
index c84b865..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: version-0.68.0-org.apache.streampipes.connect.protocol.stream.httpserver
-title: HTTP Server
-sidebar_label: HTTP Server
-original_id: org.apache.streampipes.connect.protocol.stream.httpserver
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.httpserver/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Continuously fetched events from an HTTP REST endpoint.
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md
deleted file mode 100644
index d2f83e4..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.jvm.geocoding
-title: Google Maps Geocoder
-sidebar_label: Google Maps Geocoder
-original_id: org.apache.streampipes.processor.geo.jvm.geocoding
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-</p>
-
-***
-
-## Description
-
-This processor computes the latitude and longitude values from a location (a place name such as "Karlsruhe, Germany
-") and adds the result to the event.
-
-***
-
-## Required input
-
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md
deleted file mode 100644
index 0df01ce..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.jvm.reversegeocoding
-title: Reverse Geocoder
-sidebar_label: Reverse Geocoder
-original_id: org.apache.streampipes.processor.geo.jvm.reversegeocoding
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-</p>
-
-***
-
-## Description
-
-This processor computes place name based on given lat/lng coordinates that are transmitted as fields from an event.
-
-This processor automatically downloads the file cities1000.zip from Geonames (http://download.geonames.org/export/dump/cities1000.zip). This file is provided under the CC BY 4.0 license, see https://creativecommons.org/licenses/by/4.0/ for license details.
-
-***
-
-## Required input
-
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md
deleted file mode 100644
index 050f362..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.jvm.staticgeocoding
-title: Static Google Maps Geocoder
-sidebar_label: Static Google Maps Geocoder
-original_id: org.apache.streampipes.processor.geo.jvm.staticgeocoding
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-</p>
-
-***
-
-## Description
-
-This processor computes the latitude and longitude values from a fixed location (a place name such as "Karlsruhe
-, Germany
-") and adds the result to the event.
-
-***
-
-## Required input
-
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md
deleted file mode 100644
index 04b3b87..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification
-title: Generic Image Classification
-sidebar_label: Generic Image Classification
-original_id: org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Image  + Classification Description (Generic Model)
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md
deleted file mode 100644
index 180a1c1..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-id: org.apache.streampipes.processor.imageclassification.jvm.image-enricher
-title: Image Enricher
-sidebar_label: Image Enricher
-original_id: org.apache.streampipes.processor.imageclassification.jvm.image-enricher
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Image Enrichment: Enriches an  + image with  + given bounding box coordinates
-
-## Required input
-An image and an array with bounding boxes.
-A box consists of the x and y coordinates in the image as well as the height and width 
-
-## Output
-A new event containing the image with bounding boxes rendered according to the boxes of the input event 
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.qrcode.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.qrcode.md
deleted file mode 100644
index 6865caa..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.qrcode.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processor.imageclassification.qrcode
-title: QR Code Reader
-sidebar_label: QR Code Reader
-original_id: org.apache.streampipes.processor.imageclassification.qrcode
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.imageclassification.qrcode/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-QR Code Reader: Detects a QR Code in an image
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md
deleted file mode 100644
index 4976da9..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.aggregation
-title: Aggregation
-sidebar_label: Aggregation
-original_id: org.apache.streampipes.processors.aggregation.flink.aggregation
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.aggregation/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs different aggregation functions based on a sliding time window (e.g., average, sum, min, max)
-
-***
-
-## Required input
-
-The aggregation processor requires a data stream that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Group by
-The aaggregation function can be calculated separately (partitioned) by the selected field value. 
-
-### Output every
-The frequency in which aggregated values are sent in seconds.
-
-### Time window
-The size of the time window in seconds
-
-### Aggregated Value
-The field used for calculating the aggregation value.
-
-## Output
-
-This processor appends the latest aggregated value to every input event that arrives.
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.count.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.count.md
deleted file mode 100644
index d4a87ec..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.count.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.count
-title: Count Aggregation
-sidebar_label: Count Aggregation
-original_id: org.apache.streampipes.processors.aggregation.flink.count
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.count/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs an aggregation based on a given field and outputs the number of occurrences.
-Example: Count the number of vehicle positions per vehicleId.
-The Count aggregation requires a time window, used to perform the count aggregation and a field used to aggregate
- values.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md
deleted file mode 100644
index c9dc8c7..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.eventcount
-title: Event Counter
-sidebar_label: Event Counter
-original_id: org.apache.streampipes.processors.aggregation.flink.eventcount
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-
-
-***
-
-## Description
-
-Counts the number of events arriving within a time window. An event is emitted every time the time window expires.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Time Window: The scale and size of the time window.
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.rate.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.rate.md
deleted file mode 100644
index f012002..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.aggregation.flink.rate.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.rate
-title: Event Rate
-sidebar_label: Event Rate
-original_id: org.apache.streampipes.processors.aggregation.flink.rate
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.rate/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Computes the current event rate. Output is a number representing events per second.
-
-***
-
-## Required input
-
-The event rate processor works with any stream and does not have any specific requirements.
-
-***
-
-## Configuration
-
-### Time Baseline
-Time window size used for calculating the rate in seconds, also defines the output rate
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md
deleted file mode 100644
index 29fdaa1..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md
+++ /dev/null
@@ -1,66 +0,0 @@
----
-id: version-0.68.0-org.apache.streampipes.processors.changedetection.jvm.cusum
-title: Cusum
-sidebar_label: Cusum
-original_id: org.apache.streampipes.processors.changedetection.jvm.cusum
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<!--
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.changedetection.jvm.cusum/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
--->
-
-***
-
-## Description
-
-Performs change detection on a single dimension of the incoming data stream. A change is detected if the cumulative deviation from the mean exceeds a certain threshold. This implementation tracks the mean and the standard deviation using Welford's algorithm, which is well suited for data streams.
-
-***
-
-## Required input
-
-The cusum processor requires a data stream that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Value to observe
-Specify the dimension of the data stream (e.g. the temperature) on which to perform change detection. 
-
-### Parameter `k`
-`k` controls the sensitivity of the change detector. Its unit are standard deviations. For an observation `x_n`, the Cusum value is `S_n = max(0, S_{n-1} - z-score(x_n) - k)`. Thus, the cusum-score `S` icnreases if `S_{n-1} - z-score(x_n) > k`. 
-
-### Parameter `h`
-The alarm theshold in standard deviations. An alarm occurs if `S_n > h` 
-
-## Output
-
-This processor outputs the original data stream plus 
-
-- `cusumLow`: The cusum value for negative changes
-- `cusumHigh`: The cusum value for positive changes
-- `changeDetectedLow`: Boolean indicating if a negative change was detected
-- `changeDetectedHigh`: Boolean indicating if a positive change was detected
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.limit.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.limit.md
deleted file mode 100644
index dda1af1..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.limit.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-id: version-0.68.0-org.apache.streampipes.processors.filters.jvm.limit
-title: Rate Limit
-sidebar_label: Rate Limit
-original_id: org.apache.streampipes.processors.filters.jvm.limit
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.limit/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-This limits the number of events emitted based on a specified criterion such as time, and number of events.
-
-***
-
-## Required input
-The processor works with any input event.
-
-***
-
-## Configuration
-
-### Enable Grouping
-Enabling this will use grouping with rate-limiting (note: disabling this will ignore `Grouping Field` property).
-
-### Grouping Field
-Runtime field to be used as the grouping key. If grouping is disabled, this setting will be ignored.
-
-### Window Type
-This specifies the type of window to be used (time / length / cron).
-
-### Length Window Size
-Length window size in event count (note: only works with length window type).
-
-### Time Window Size
-Time window size in milliseconds (note: only works with time window type).
-
-### Cron Window Expression
-Cron expression [Link](https://www.freeformatter.com/cron-expression-generator-quartz.html) to trigger and emit events (i.e `0 * * ? * *` for every minute) (note: only works with cron window type).
-
-### Output Event Selection
-This specifies the event(s) that are selected to be emitted.
-- First: emit first event of the window.
-- Last: emit last event of the window.
-- All: emit all events of the window.
-
-## Output
-The processor outputs events which satisfies rate-limiting conditions.
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.merge.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.merge.md
deleted file mode 100644
index 8c71ff4..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.merge.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.merge
-title: Merge By Time
-sidebar_label: Merge By Time
-original_id: org.apache.streampipes.processors.filters.jvm.merge
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.merge/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Merges two event streams by their timestamp.
-Two events of the different streams are merged when they occure to the same time
-
-The following figure shows how the events of the two data streams will be mergrged:
-
-<p align="center"> 
-    <img width="300px;" src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.merge/merge_description.png" class="pe-image-documentation"/>
-</p>
-***
-
-## Required input
-Each of the data streams needs a timestamp.
-***
-
-## Configuration
-
-* For each stream a the timestamp property on which the merger is performed has to be selected
-* The Time Interval describes the maximum value between two events to decide whether they are a match. To be a valid match the following function must be true: | timestamp_stream_1 - timestamp_stream_2 | < interval
-
-## Output
-The compose processor has a configurable output that can be selected by the user at pipeline modeling time.
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md
deleted file mode 100644
index b0e76f1..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.geo.jvm.processor.distancecalculator
-title: Distance Calculator
-sidebar_label: Distance Calculator
-original_id: org.apache.streampipes.processors.geo.jvm.processor.distancecalculator
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Calculates the distance between two latitude/longitude pairs in a single event.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md
deleted file mode 100644
index fdf1408..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator
-title: Static Distance Calculator
-sidebar_label: Static Distance Calculator
-original_id: org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-***
-
-## Description
-
-Calculates the distance (in km) between a fixed location (e.g., a place) and a latitude/longitude pair of an input
- event.
-
-***
-
-## Required input
-
-Requires a data stream that provides latitude and longitude values.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md
deleted file mode 100644
index 2717859..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.pattern-detection.flink.absence
-title: Absence
-sidebar_label: Absence
-original_id: org.apache.streampipes.processors.pattern-detection.flink.absence
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.absence/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects whether an event does not arrive within a specified time after the occurrence of another event.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md
deleted file mode 100644
index 4886783..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.pattern-detection.flink.and
-title: And
-sidebar_label: And
-original_id: org.apache.streampipes.processors.pattern-detection.flink.and
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.and/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects whether an event co-occurs with another event within a given time.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md
deleted file mode 100644
index 9bf3f3c..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.pattern-detection.flink.peak-detection
-title: Peak Detection
-sidebar_label: Peak Detection
-original_id: org.apache.streampipes.processors.pattern-detection.flink.peak-detection
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detect peaks in time series data
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md
deleted file mode 100644
index c98b46f..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.pattern-detection.flink.sequence
-title: Sequence
-sidebar_label: Sequence
-original_id: org.apache.streampipes.processors.pattern-detection.flink.sequence
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.sequence/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects a sequence of events in the following form: Event A followed by Event B within X seconds. In addition, both streams can be matched by a common property value (e.g., a.machineId = b.machineId)
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.frequency.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.frequency.md
deleted file mode 100644
index 7d0ecf2..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.frequency.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.frequency
-title: Frequency Calculation
-sidebar_label: Frequency Calculation
-original_id: org.apache.streampipes.processors.siddhi.frequency
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.frequency/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Calculates the frequency of the event stream.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.frequencychange.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.frequencychange.md
deleted file mode 100644
index dd2bd42..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.frequencychange.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.frequencychange
-title: Frequency Change
-sidebar_label: Frequency Change
-original_id: org.apache.streampipes.processors.siddhi.frequencychange
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.frequencychange/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects when the frequency of the event stream changes
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.increase.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.increase.md
deleted file mode 100644
index 0b3ef35..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.increase.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.increase
-title: Trend
-sidebar_label: Trend
-original_id: org.apache.streampipes.processors.siddhi.increase
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.increase/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects the increase of a numerical field over a customizable time window. Example: A temperature value increases by 10 percent within 5 minutes.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md
deleted file mode 100644
index 3c4ad39..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.numericalfilter
-title: Numerical Filter (Siddhi)
-sidebar_label: Numerical Filter (Siddhi)
-original_id: org.apache.streampipes.processors.siddhi.numericalfilter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.numericalfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.stop.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.stop.md
deleted file mode 100644
index 5028a9b..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.stop.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.stop
-title: Stream Stop Detection
-sidebar_label: Stream Stop Detection
-original_id: org.apache.streampipes.processors.siddhi.stop
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.stop/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Triggers an event when the input data stream stops sending events
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md
deleted file mode 100644
index 7c2367f..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.flink.languagedetection
-title: Language Detection
-sidebar_label: Language Detection
-original_id: org.apache.streampipes.processors.textmining.flink.languagedetection
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.flink.languagedetection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects the language of a written text.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md
deleted file mode 100644
index 53d3333..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.flink.wordcount
-title: Word Count
-sidebar_label: Word Count
-original_id: org.apache.streampipes.processors.textmining.flink.wordcount
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.flink.wordcount/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Counts words on continuous text-based streams
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md
deleted file mode 100644
index 6c663b0..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.field-converter
-title: Field Converter
-sidebar_label: Field Converter
-original_id: org.apache.streampipes.processors.transformation.flink.field-converter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-converter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Converts a string value to a number data type
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md
deleted file mode 100644
index 513c3d2..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.field-renamer
-title: Field Renamer
-sidebar_label: Field Renamer
-original_id: org.apache.streampipes.processors.transformation.flink.field-renamer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-renamer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Replaces the runtime name of an event property with a custom defined name. Useful for data ingestion purposes where a specific event schema is needed.
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md
deleted file mode 100644
index 80bb10f..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.fieldhasher
-title: Field Hasher
-sidebar_label: Field Hasher
-original_id: org.apache.streampipes.processors.transformation.flink.fieldhasher
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.fieldhasher/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-The Field Hasher uses an algorithm to encode values in a field. The Field Hasher can use MD5, SHA1 or SHA2 to hash field values.
-Add a detailed description here
-
-***
-
-## Required input
-Any field of type string
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md
deleted file mode 100644
index 6e48329..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.measurement-unit-converter
-title: Measurement Unit Converter
-sidebar_label: Measurement Unit Converter
-original_id: org.apache.streampipes.processors.transformation.flink.measurement-unit-converter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Converts a unit of measurement to another one
-Add a detailed description here
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md
deleted file mode 100644
index a46f78b..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.booloperator.counter
-title: Boolean Counter
-sidebar_label: Boolean Counter
-original_id: org.apache.streampipes.processors.transformation.jvm.booloperator.counter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor monitors a boolean value and counts how often the value of the boolean changes. 
-A user can configure whether the changes from FALSE to TRUE, TRUE to FALSE, or BOTH changes should be counted.
-
-***
-
-## Required input
-
-A boolean value is required in the data stream and can be selected with the field mapping.
-
-### Boolean Field
-
-The boolean value to be monitored.
-
-***
-
-## Configuration
-
-A user can configure whether the changes from TRUE to FALSE, FALSE to TRUE, or all changes of the boolean value should be counted.
-
-### Flank parameter
-
-Either:
-* TRUE -> FALSE: Increase counter on a true followed by a false 
-* FALSE -> TRUE: Increase counter on a false followed by a true
-* BOTH: Increas counter on each change of the boolean value on two consecutive events
-
-## Output
-
-Adds an additional numerical field with the current count value to the event. Events are just emitted when the counter changes.
-Runtime Name: countField
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md
deleted file mode 100644
index 1605d75..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-id: version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge
-title: Signal Edge Filter
-sidebar_label: Signal Edge Filter
-original_id: org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Observes a boolean value and forwards the event when a signal edge is detected
-
-***
-
-## Required input
-
-### Boolean Field
-Boolean field that is observed
-
-***
-
-## Configuration
-### Kind of edge
-* Detect rising edges 
-* Detect falling edges 
-* Detect both
-    
-### Delay
-Defines for how many events the signal must be stable before result is emitted.
-(E.g. if set to 2, the result is not emitted if value toggles between true and false, it fires when two consecutive events are detected after the flank)
-
-## Output
-Emits input event, when the signal edge is detected
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md
deleted file mode 100644
index 4747afc..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state
-title: Boolean To State
-sidebar_label: Boolean To State
-original_id: org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Converts boolean fields to a state string representing the current state of the system.
-This processor requires one or multiple boolean values in the data stream.
-For the selected value which is true, the runtime name is added as the state field.
-***
-
-## Required input
-
-### Boolean Fields
-Boolean fields that are converted to the state when true
-
-### Default State
-When all boolean values are false, a default  state can be defined
-
-### Mapping Configuration
-Configuration to provide a string mapping for each possible value.
-On the left ist the value of the runtime name and on the right the new value (e.g. {"runtimeName": "newValue"}).
-
-***
-
-## Configuration
-No further configuration required
-
-## Output
-The output contains a new value with the string values of the state
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md
deleted file mode 100644
index 9a88a7b..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.buffer
-title: State Buffer
-sidebar_label: State Buffer
-original_id: org.apache.streampipes.processors.transformation.jvm.processor.state.buffer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Buffers values of a sensor, while state does not change.
-Select a state field in the event. Events are buffered as long as state field does not change. When it changes result event is emitted.
-
-***
-
-## Required input
-
-Define the state and sensor value field
-
-### Timestamp
-A mapping  property for a timestamp field
-
-### State
-Select the field representing the state 
-
-### Sensor value to cache
-Select the field with the numerical values to buffer
-
-## Output
-Emits a new event on state change, with the fields `timestamp`, `state`, and a list containing all `sensor values`.
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md
deleted file mode 100644
index 2c2a482..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md
+++ /dev/null
@@ -1,70 +0,0 @@
----
-id: version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer
-title: State Buffer Labeler
-sidebar_label: State Buffer Labeler
-original_id: org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Apply a rule to a time-series recorded during a state of a machine. (E.g. when minimum value is lower then 10, add label `not ok` else add label `ok`)
-
-
-***
-
-## Required input
-
-Requires a list with sensor values and a field defining the state
-
-### Sensor values
-
-An array representing sensor values recorded during the state.
-
-### State field
-
-A field representing the state when the sensor values where recorded.
-
-***
-
-## Configuration
-
-### Select a specific state
-When you are interested in the values of a specific state add it here. All other states will be ignored. To get results of all states enter `*`
-
-### Operation
-Operation that will be performed on the sensor values (calculate `maximim`, or `average`, or `minimum`) 
-
-### Condition
-Define a rule which label to add. Example: `<;5;nok` means when the calculated value is smaller then 5 add label ok.
-The default label can be defined with `*;nok`.
-The first rule that is true defines the label. Rules are applied in the same order as defined here.
-
-
-## Output
-Appends a new field  with the label defined in the Condition Configuration
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md
deleted file mode 100644
index ee9bfcb..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number
-title: Number Labeler
-sidebar_label: Number Labeler
-original_id: org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Apply a rule to a value of a field. (E.g. when minimum value is lower then 10, add label `not ok` else add label `ok`)
-
-***
-
-## Required input
-
-Requires a sensor value
-
-### Sensor value
-
-A number representing the current sensor value.
-
-***
-
-## Configuration
-
-### Condition
-Define a rule which label to add. Example: `<;5;nok` means when the calculated value is smaller then 5 add label ok.
-The default label can be defined with `*;nok`.
-The first rule that is true defines the label. Rules are applied in the same order as defined here.
-
-
-## Output
-Appends a new field  with the label defined in the Condition Configuration
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md
deleted file mode 100644
index 061d6a1..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: version-0.68.0-org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state
-title: String To State
-sidebar_label: String To State
-original_id: org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Convert string fields to a state representing the current state of the system.
-This processor requires one or multiple string values in the data stream.
-For each of the selected values is added to the states field.
-***
-
-## Required input
-
-### String Fields
-String fields that are added to the state array
-
-***
-
-## Configuration
-No further configuration required
-
-## Output
-The output contains a new value with the string values of the state
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md
deleted file mode 100644
index 6a0d5e3..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.split-array
-title: Split Array
-sidebar_label: Split Array
-original_id: org.apache.streampipes.processors.transformation.jvm.split-array
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.split-array/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor takes an array of event properties and creates an event for each of them. Further property of the events can be added to each element
-Add a detailed description here
-
-***
-
-## Required input
-
-This processor works with any event that has a field of type ``list``.
-
-***
-
-## Configuration
-
-### Keep Fields
-
-Fields of the event that should be kept in each resulting event.
-
-### List field
-
-The name of the field that contains the list values that should be split.
-
-
-## Output
-
-This data processor produces an event with all fields selected by the ``Keep Fields`` parameter and all fields of the
- selected list field.
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md
deleted file mode 100644
index c4eaf92..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.stringoperator.timer
-title: String Timer
-sidebar_label: String Timer
-original_id: org.apache.streampipes.processors.transformation.jvm.stringoperator.timer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor measures how long a value of a string field does not change. Once the value is changes the event with the measured time and the corresponding string value is emitted.
-
-
-***
-
-## Required input
-
-A string field is required in the data stream.
-
-### Field
-
-The string field which is monitored for any value changes.
-
-***
-
-## Configuration
-
-(no further configuration required)
-
-## Output
-The following two fields are appended to the event:
-* [measured_time] the measured time for the string value to not change
-* [field_value] the corresponding string value 
-
-The event is emitted whenever the value of the string field changes.
-
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md
deleted file mode 100644
index 5323e4e..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md
+++ /dev/null
@@ -1,79 +0,0 @@
----
-id: version-0.68.0-org.apache.streampipes.sinks.brokers.jvm.nats
-title: NATS Publisher
-sidebar_label: NATS Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.nats
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.nats/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes events to NATS broker.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### NATS Subject
-
-The subject (topic) where events should be sent to.
-
-### NATS Broker URL
-
-The URL to connect to the NATS broker. It can be provided multiple urls separated by commas(,).
- (e.g., nats://localhost:4222,nats://localhost:4223)
- 
-### Username
-
-The username to authenticate the client with NATS broker.
-
-It is an optional configuration.  
-
-### NATS Broker URL
-
-The password to authenticate the client with NATS broker. 
-
-It is an optional configuration.
-
-### NATS Connection Properties
-
-All other possible connection configurations that the nats client can be created with.
-It can be provided as key value pairs separated by colons(:) and commas(,).
- (e.g., io.nats.client.reconnect.max:1, io.nats.client.timeout:1000)
-
-It is an optional configuration.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md
deleted file mode 100644
index d718bdf..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md
+++ /dev/null
@@ -1,75 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.rabbitmq
-title: RabbitMQ Publisher
-sidebar_label: RabbitMQ Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.rabbitmq
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Forwards events to a RabbitMQ broker
-Add a detailed description here
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Host
-
-The hostname of the RabbitMQ broker.
-
-### Port
-
-The port of the RabbitMQ broker.
-
-### User
-
-The username used to connect to the RabbitMQ broker.
-
-### Password
-
-The password used to connect to the RabbitMQ broker.
-
-### Exchange Name
-
-The name of the exchange.
-
-### RabbitMQ Topic
-
-The topic where events should be sent to.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.ditto.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.ditto.md
deleted file mode 100644
index 9f902b0..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.ditto.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.ditto
-title: Eclipse Ditto
-sidebar_label: Eclipse Ditto
-original_id: org.apache.streampipes.sinks.databases.ditto
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.ditto/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Forwards events to the Eclipse Ditto API.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-(tbd)
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md
deleted file mode 100644
index 4669362..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md
+++ /dev/null
@@ -1,75 +0,0 @@
----
-id: version-0.68.0-org.apache.streampipes.sinks.databases.jvm.mysql
-title: MySQL Database
-sidebar_label: MySQL Database
-original_id: org.apache.streampipes.sinks.databases.jvm.mysql
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.mysql/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events to a MySQL Database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname of the MySQL Server.
-
-### Port
-
-The port of the MySQL Server (default: 3306).
-
-### Database
-
-The database of the MySQL Server the data is written to.
-
-### Table
-
-The table name of the MySQL Server the data is written to.
-
-### Username
-
-The username for the MySQL Server.
-
-### Password
-
-The password for the MySQL Server.
-
-## Output
-
-(not applicable for data sinks)
-
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.notification.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.notification.md
deleted file mode 100644
index 2ef1349..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.notification.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: org.apache.streampipes.sinks.internal.jvm.notification
-title: Notification
-sidebar_label: Notification
-original_id: org.apache.streampipes.sinks.internal.jvm.notification
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.internal.jvm.notification/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Displays a notification in the UI panel of StreamPipes.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-This sink does not have any requirements and works with any incoming event type.
-
-### Notification Title
-
-The title of the notification.
-
-### Content
-
-The notification message.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md
deleted file mode 100644
index 3af32a0..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md
+++ /dev/null
@@ -1,69 +0,0 @@
----
-id: org.apache.streampipes.sinks.notifications.jvm.slack
-title: Slack Notification
-sidebar_label: Slack Notification
-original_id: org.apache.streampipes.sinks.notifications.jvm.slack
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.notifications.jvm.slack/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Slack bot to send notifications directly into your slack
-
-Before you use this sink, the Slack token needs to be configured.
-After you've installed the element, navigate to ``Settings``, open the panel ``Sinks Notifications JVM`` and add your
-Slack API token.
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Receiver
-
-The receiver of the Slack message.
-
-### Channel Type
-
-The channel type, should be "User" or "Channel"
-
-### Content
-
-The message that should be sent.
-
-### 2nd parameter
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md b/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md
deleted file mode 100644
index 26207df..0000000
--- a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-id: version-0.68.0-org.apache.streampipes.sinks.notifications.jvm.telegram
-title: Telegram Publisher
-sidebar_label: Telegram Publisher
-original_id: org.apache.streampipes.sinks.notifications.jvm.telegram
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.notifications.jvm.telegram/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publisher to send notifications to a Telegram channel.
-
-In order to be able to do so, you will have first to:
-* Create a Telegram public [channel](https://telegram.org/tour/channels).
-> Private channels/groups: also supported.
-* Create a Telegram BOT via [@BotFather](https://core.telegram.org/bots#3-how-do-i-create-a-bot) and get an API key.
-* Set the bot as [administrator](https://www.wikihow.com/Make-Someone-an-Admin-on-Telegram) in your channel.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here.
-
-### Bot API Key
-
-The API Key generated by `@BotFather` when you created your bot.
-
-### Channel Name or Chat Id
-
-The handle name of your public channel (e.g. `@channel_name`). 
-> For private channels/groups: handle name only available for public channels. Use `chat_id` instead.
-
-### Content
-
-The message to be sent.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.66.0/user-guide-first-steps.md b/website-v2/versioned_docs/version-0.66.0/user-guide-first-steps.md
deleted file mode 100644
index 7dba88f..0000000
--- a/website-v2/versioned_docs/version-0.66.0/user-guide-first-steps.md
+++ /dev/null
@@ -1,210 +0,0 @@
----
-id: user-guide-first-steps
-title: First steps
-sidebar_label: First steps
-original_id: user-guide-first-steps
----
-
-In this section, you'll learn how to create and run pipelines in StreamPipes.
-Before starting with this guide, all steps from the installation guide must be finished successfully and StreamPipes must be up and running.
-
-This guide consists of three steps:
-First, you'll learn how to create your first pipeline using the interactive tutorial.
-Afterwards, this section contains two examples on how to create pipelines based on the built-in data simulator.
- 
-## Interactive Tutorial
-The easiest way to get started with StreamPipes is the interactive tutorial. Once you open the pipeline editor for the first time, you'll see a splash screen as shown below.
-Click **Start tour** to start the interactive tutorial, which will guide you through your first steps with StreamPipes.
- 
-![Interactive Tutorial](/img/quickstart/interactive-tutorial.png)  
-
-If the splash screen does not show up, make sure you've installed the following pipeline elements:
-* Flow rate (data stream)
-* Numerical Filter (processing element)
-* Dashboard (data sink)
-
-After you've finished this very first tour, try the following tours to learn more about other features of StreamPipes:
-* Open the Live Dashboard and start the dashboard tour (by clicking the school icon in the top menu bar) to learn how to create real-time visualizations
-* Open StreamPipes Connect and start the tour to learn how to connect new data sources with StreamPipes.
- 
-## First Examples
-
-In this tutorial, you will create two simple pipelines that demonstrate the basic functionality of StreamPipes.
-The first example deals with monitoring a flow rate sensor.
-This pipeline ensures that everything works properly and data is sent through the whole system.
-In the second example we model a more complex situation detection pipeline that triggers a notification.
-Let's start with our first pipeline.
-If you have problems with any of the examples, please send us an email.
-We are happy to help you.
-
-## Data Simulation
-All the data sources that we have integrated in the StreamPipes demonstrator are simulated according to real world sensors.
-For example a flow rate sensor in a water pipe, which measures how much water flows in that pipe or a water level sensor in a water tank, that reports how high the water level is in the tank.
-In the next section you will use the flow rate sensor to build your first pipeline.
-
-## Flow Rate Visualization
-In the first example, we create a live line chart to monitor the value of the mass flow from a flow rate sensor.
-
-### Create Pipeline
-* As a first step go to the pipeline editor
-* Select the **FRS1** (Flow Rate Source 1)source
-* Then navigate to the **Data Sink** tab
-* Select the **DS** (Dashboard Sink) and connect the source with the sink
-* After connecting the elements save the pipeline by clicking on the save button on the top left corner
-* In the save menu add a name *Flow Rate Monitoring* and a description *This is my very first pipeline!*
-* Also select the **Start pipeline immediatly** checkbox
-* Then click the button **Save and go to pipeline view**
-* You are navigated to the pipeline view and a confirmation that the pipeline was started successfully should be shown
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/01_PipelineEditor_DataStreams.png" alt="Show Pipeline Editor Streams"/>
-    <img src="/img/quickstart/examples_master/02_example1_source.png" alt="Sources"/>
-    <img src="/img/quickstart/examples_master/03_example1_pipeline_finished.png" alt="Pipeline Finished"/>
-    <img src="/img/quickstart/examples_master/04_example1_save.png" alt="Saved Pipeline"/>
-    <img src="/img/quickstart/examples_master/05_example1_pipeline_started.png" alt="Pipeline 01 Started"/>
-</div>
-
-### Create Visualization
-* After we have created the pipeline we must create the line chart
-* Navigate to the **Live Dashboard** of StreamPipes
-* Click on the **Add visualization** button
-* Select the just created pipeline **Flow Rate Monitoring** and click the **next** button
-* For the visualization select the **Line Chart** and click **next** again
-* Now you have to enter the configuration for the line chart
-    * Select time mapping: **timestamp**
-    * Select number mapping: **mass_flow**
-    * Range Minimum: **0** 
-    * Range Maximum: **10**
-* When all parameters are set correctly click the next button again.
-* Congratulation you created the first pipeline and should now see the line chart
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/06_example01_live_visualisation.png" alt="Visualize Pipeline"/>
-    <img src="/img/quickstart/examples_master/07_example01_first_step.png" alt="Configure Visualization Step 1"/>
-    <img src="/img/quickstart/examples_master/08_example01_second_step.png" alt="Configure Visualization Step 2"/>
-    <img src="/img/quickstart/examples_master/09_example01_third_step.png" alt="Configure Visualization Step 3"/>
-    <img src="/img/quickstart/examples_master/10_example1_finished.png" alt="Pipeline 01 Done"/>
-</div>
-
-
-## Condition monitoring of a water tank
-In our second example we are going to create a more complex pipeline.
-This pipeline has two sources, the flow rate sensor from the previous example and a source measuring the water level in a tank.
-Our goal is to send a notification when the flow rate stops and the water level in the water tank sinks too fast.
-In this case a service technician should check the system as soon as possible.
-This example should just illustrate how the individual components work.
-Since the system currently uses simulated data each time the situation occurs a notification is triggered.
-
-Now lets start!
-
-
-### Build the pipeline
-* First we have to select the **FRS1** (Flow Rate Sensor 1) and **WL1** (Water Level) form the sources tab
-* In a first step we want to detect when the flow rate stops
-* Use the **NF** (Numerical Filter) from the processing elements tab and connect it to the **FRS1** source
-* Configure the **Numerical Filter**:
-    * Field name for filter operator: **mass_flow**
-    * Filter Operation: **<**
-    * Threshold value: **1**
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/11_example2_start.png" alt="Start Example 2"/>
-    <img src="/img/quickstart/examples_master/12_example2_numerical.png" alt="Select Numericl Filter"/>
-    <img src="/img/quickstart/examples_master/13_example2_configure_numerical.png" alt="Configure Numerical Filter"/>
-</div>
-
-* As a next step we add an aggregation to the water level. This reduces the inaccuracies we have because the water moves in the tank. 
-* Select the **A** (Aggregation) processing element
-* Connect the **WL1** with **A**
-* Configure **Aggregation**:
-    * Property Selection: **level**
-    * Operation: **Average**
-    * Time Window Size: **10**
-    * Output Frequency: **1**
-    * Groupe By: **None**
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/14_example2_aggregate.png" alt="Select Aggregation"/>
-    <img src="/img/quickstart/examples_master/15_example2_configure_aggregate.png" alt="Configure Aggregation"/>
-        <img src="/img/quickstart/examples_master/15_example2_configure_aggregate_2.png" alt="Configure Aggregation"/>
-
-</div>
-
-* With the next processing element we check if the water level decreases too fast
-* Select **I** (Trend) and connect it to **A**
-* Configure **Trend**:
-    * Timestamp field: **timestamp**
-    * Value to observe: **aggregatedValue** (This value is created by previous element)
-    * Group by: **sensorId**
-    * Increase / Decrease: **Decrease**
-    * Percentage of Increase / Decrease: **20**
-    * Time Window Length: **10**
-    * Select Output: **All**
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/16_example2_increase.png" alt="Select Increase"/>
-    <img src="/img/quickstart/examples_master/17_example2_configure1_increase.png" alt="Configute 01 Increase"/>
-</div>
-
-* Now we connect the two stream with the sequence element, which checks if both events occur in a certain time
-* Select **S** (Sequence) and connect both data streams to it
-* Configure **Sequence**:
-    * Time Window Size: **1**
-    * Time Unit: **sec**
-    
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/19_example2_sequence.png" alt="Select Sequence Detection"/>
-    <img src="/img/quickstart/examples_master/20_example2_configure_sequence.png" alt="ConfigureSequence Detection"/>
-</div>
-
-* Now we create a notification for the service technician that something is wrong with the system
-* Select **N** (Notification) from the data sink tab
-* Connect **S**  with **N**
-* Configure **Notification**: 
-    * Notification title: **Alarm**
-    * Content: **One notification was triggered by our first complex pipeline. Yeahhhh!**
-    
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/21_example2_notification.png" alt="Select Notification"/>
-    <img src="/img/quickstart/examples_master/22_example2_configure_notification.png" alt="Configure Notification"/>
-</div>
-
-* Add the dashboard sink to the increase element to monitor the preliminary results
-* Select **DS** and connect to **I**
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/23_example2_dashboard_sink.png" alt="Select Dashboard"/>
-</div>
-
-* Save the pipeline 
-* Save configuration:
-    * Pipeline Name: **Second Pipeline**
-    * Description: **Complex monitorung rule**
-    * Start pipeline immediately: **CHECK**
-* Click **Save and go to pipeline view**
-* All pipeline elements should be started successfully 
-* It can be seen that the elements run on different technologies, in flink and a java container
-    * http://pe-flink-examples:8090
-    * http://pe-jvm-examples:8090
-* Go to visualization and create **Raw Data** visualization for the new pipeline   
-    
-<div class="my-carousel">
-    <img src="/img/quickstart/examples_master/25_example2_started.png" alt="Pipeline Started Sucessfull"/>
-    <img src="/img/quickstart/examples/26_example2_visualisation.png" alt="Add Visualization"/>
-</div>
-
-* Every time you can see output in the **Raw Data** visualization of the new pipeline and the **Line Chart** from the first example are zero, a Notification is triggered by the pipeline.
-* Go to the **Notifications** view and have a look at the notification
-
-<div class="my-carousel">
-    <img src="/img/quickstart/examples/27_example2_notification.png" alt="Show Notification"/>
-</div>
-
-
-Congratulation you finished the quick start!
-It is recommended to stop the last pipeline, because it will keep creating notifications ;)
-
-We hope we gave you an easy quick start into StreamPipes.
-If you have any questions or suggestions, just send us an email.
-From here on you can explore all features in the [User Guide](user-guide-introduction.md) or go to the [Developer Guide](dev-guide-introduction.md) to learn how to write your own StreamPipes processing elements.
-
diff --git a/website-v2/versioned_docs/version-0.66.0/user-guide-installation.md b/website-v2/versioned_docs/version-0.66.0/user-guide-installation.md
deleted file mode 100644
index cdbe9e1..0000000
--- a/website-v2/versioned_docs/version-0.66.0/user-guide-installation.md
+++ /dev/null
@@ -1,140 +0,0 @@
----
-id: user-guide-installation
-title: Installation
-sidebar_label: Installation
-original_id: user-guide-installation
----
-## Prerequisites
-
-### Hardware
-
-* Docker (latest version, see instructions below)
-* Docker Compose (latest version., see instructions below)
-
-### Supported operating systems
-We rely on Docker and support three operating systems for the StreamPipes system
-
-* Linux
-* OSX
-* Windows 10
-    * Please note that older Windows versions are not compatible with Docker. Also Linux VMs under Windows might not work, due to network problems with docker.
-
-### Web Browser
-StreamPipes is a modern web application, therefore you need a recent version of Chrome (recommended), Firefox or Edge.
-
-### Docker
-You need to have Docker installed on your system before you continue with the installation guide.
-
-
-<div class="admonition info">
-<div class="admonition-title">Install Docker</div>
-<p>Go to https://docs.docker.com/installation/ and follow the instructions to install Docker for your OS. Make sure docker can be started as a non-root user (described in the installation manual, don’t forget to log out and in again) and check that Docker is installed correctly by executing docker-run hello-world</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Configure Docker</div>
-<p>By default, Docker uses only a limited number of CPU cores and memory.
-       If you run StreamPipes on Windows or on a Mac you need to adjust the default settings.
-       To do that, click on the Docker icon in your tab bar and open the preferences.
-       Go to the advanced preferences and set the **number of CPUs to 6** (recommended) and the **Memory to 4GB**.
-       After changing the settings, Docker needs to be restarted.</p></div>
-
-
-## Install StreamPipes
-
-<div class="tab-content" id="myTabContent">
-    <div class="tab-pane fade show active" id="linux" role="tabpanel" aria-labelledby="linux-tab">
-        <ul style="padding-left:0">
-            <li class="installation-step">
-                <div class="wrapper-container" style="align-items: center;justify-content: center;">
-                    <div class="wrapper-step">
-                        <span class="fa-stack fa-2x">
-                             <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                             <strong class="fa-stack-1x" style="color:white;">1</strong>
-                        </span>
-                    </div>
-                    <div class="wrapper-instruction">
-                        <a href="https://www.apache.org/dyn/mirrors/mirrors.cgi?action=download&filename=incubator/streampipes/installer/0.66.0/apache-streampipes-installer-0.66.0-incubating-source-release.zip">Download</a>
-                        the latest Apache StreamPipes release and extract the zip file to a directory of your choice.
-                    </div>
-                </div>
-            </li>
-            <li class="installation-step">
-                <div class="wrapper-container" style="align-items: center;justify-content: center;">
-                    <div class="wrapper-step">
-                        <span class="fa-stack fa-2x">
-                             <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                             <strong class="fa-stack-1x" style="color:white;">2</strong>
-                        </span>
-                    </div>
-                    <div class="wrapper-instruction">
-                       <div style="margin-bottom:5px;"><b>Linux/Mac:</b> In a command prompt, open the folder <code>installer/osx_linux</code> and run <code>./streampipes
-                            start</code>.<br/>
-                        </div>
-                        <div style="margin-top:5px;">
-                        <b>Windows 10:</b> In a command prompt, open the folder <code>installer/windows10</code> and run <code>streampipes.bat
-                                                    start</code>.<br/>
-                        </div>
-                    </div>
-                </div>
-            </li>
-            <li class="installation-step">
-                <div class="wrapper-container" style="align-items: center;justify-content: center;">
-                    <div class="wrapper-step">
-                        <span class="fa-stack fa-2x">
-                             <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                             <strong class="fa-stack-1x" style="color:white;">3</strong>
-                        </span>
-                    </div>
-                    <div class="wrapper-instruction">
-                       When asked, enter the version (full or lite).
-                    </div>
-                </div>
-            </li>
-            <li class="installation-step">
-                <div class="wrapper-container" style="align-items: center;justify-content: center;">
-                    <div class="wrapper-step">
-                        <span class="fa-stack fa-2x">
-                             <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                             <strong class="fa-stack-1x" style="color:white;">4</strong>
-                        </span>
-                    </div>
-                    <div class="wrapper-instruction">
-                        Open your browser, navigate to http://localhost:80 (or the domain name of your server) and finish the setup according to the instructions below.
-                    </div>
-                </div>
-            </li>
-        </ul>
-        </div>
-    </div>
-
-## Setup StreamPipes
-
-Once you've opened the browser at the URL given above, you should see StreamPipes application as shown below.
-To set up the system, enter an email address and a password and click on install.
-At this point, it is not necessary to change anything in the advanced settings menu.
-The installation might take some time, continue by clicking on "Go to login page", once all components are successfully configured.
-
-
-On the login page, enter your credentials, then you should be forwarded to the home page.
-
-Congratulations! You've successfully managed to install StreamPipes. Now we're ready to build our first pipeline!
-
-<div class="my-carousel">
-    <img src="/img/quickstart/setup/01_register_user.png" alt="Set Up User"/>
-    <img src="/img/quickstart/setup/02_user_set_up.png" alt="SetUp StreamPipes Components"/>
-    <img src="/img/quickstart/setup/03_login.png" alt="Go to login page"/>
-    <img src="/img/quickstart/setup/04_home.png" alt="Home page"/>
-</div>
-
-<div class="admonition error">
-<div class="admonition-title">Errors during the installation process</div>
-<p>In most cases, errors during the installation are due to an under-powered system.<br/>
-If there is a problem with any of the components, please restart the whole system and delete the "config" directory on the server.
-   This directory is in the same folder as the docker-compose.yml file.<br/>
-   Please also make sure that your system meets the hardware requirements as mentioned in the first section of the installation guide.</p>
-</div>
-
-## Next Steps
-
-Now you can continue with the tutorial on page [First steps](user-guide-first-steps.md).
diff --git a/website-v2/versioned_docs/version-0.66.0/user-guide-introduction.md b/website-v2/versioned_docs/version-0.66.0/user-guide-introduction.md
deleted file mode 100644
index 1e3471a..0000000
--- a/website-v2/versioned_docs/version-0.66.0/user-guide-introduction.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-id: user-guide-introduction-old
-title: Introduction
-sidebar_label: Introduction
-original_id: user-guide-introduction-old
----
-
-StreamPipes is a framework that enables users to work with data streams.
-It uses a lot of different technologies especially form the fields of big data, distributed computing and semantic web.
-One of the core concepts of StreamPipes is to add a higher semantic layer on top of big data processing technologies to ease their usage.
-StreamPipes is not just a UI, it is a framework with a lot of different capabilities, like modelling new data processing pipelines, execute them in a distributed environment.
-On top it uses semantics to provide guidance to non-technical people for better analyzing their data streams in a self-service manner.
-
-
-
-## Pipelines
-The core concept of StreamPipes are data processing pipelines.
-Those pipelines use data from different sources (Data Streams), then transform it via Processing Elements and store them in an database or send it to third party systems (Data Sinks).
-A brief introduction is given in the following sections.
-At the next page a detailed tour through StreamPies explains all the different features that are available.
-
-
-## Data Streams
-Data Streams represent the primary source for data in StreamPipes.
-A stream is an ordered sequence of events, where an event is described as one or more observation values.
-Those events can come from different sources like sensors, machines, log files or many more.
-It does not matter what kind of serialization format the events have or which kind of transportation protocol the individual data streams use.
-As long as a semantic description is provided StreamPipes is capable of processing the data.
-
-
-## Processing Elements
-Processing Elements are defined as an processor that transforms one or more input event streams to an output event stream. 
-Those transformations can be rather simple like filtering out events based on a predefined rule or more complex by applying algorithms on the data.  
-Processing elements define stream requirements that are a set of minimum properties an incoming event stream must provide. 
-Furthermore, Processing Elements describe their output based on a set of output strategies.
-They also describe further (human) input in form of configuration parameters.
-The Processing Elements can be implemented in multiple technologies.
-This information is not necessary when constructing a pipeline, the user does not need to know where and how the actual algorithm is deployed and executed.
-During the modelling phase it is possible to set configuration parameters, wich are then injected into the program when it is started.
-A description is provided for all parameters and it is ensured by the system that the user can just enter semantically correct values.
-
-
-## Data Sinks
-Data Sinks consume event streams similar to processing elements with the difference that sinks do not provide an output stream, i.e., they are defined as sinks that perform some action or trigger a visualization as a result of a stream transformation.
-The sinks also define stream requirements that must be fulfilled.
-In a pipeline it is not necessary to use a processing element to transform data.
-Often it can make sense to just use a data sink and connect it directly to the sensor to store the raw data into a data store for offline analysis.
-This is very simple with StreamPipes and no additional code must be written to create such a data lake.
-
-
-## Target Audience
-StreamPipes focuses on multiple target groups.
-This guide is for users who interact with the graphical user interface in the browser.
-If you are interested in the technical details or plan to extend the system with new algorithms, please read the Developer Guide.
-The graphical user interface is designed for domain experts who want to analyze data, but are not interested in technical details and do not want to write code.
-The SDK can be used by software developers to extend the framework with new functionality.
-After importing newly developed pipeline elements, they are available to all users of StreamPipes.
-
-
-## Next Steps
-To test StreamPipes on your local environment go to the [installation guide](user-guide-installation.md).
-If you are further interested in the concepts of StreamPipes continue with the [tour](user-guide-tour.md).
diff --git a/website-v2/versioned_docs/version-0.67.0/01_try-installation.md b/website-v2/versioned_docs/version-0.67.0/01_try-installation.md
deleted file mode 100644
index 751bedb..0000000
--- a/website-v2/versioned_docs/version-0.67.0/01_try-installation.md
+++ /dev/null
@@ -1,140 +0,0 @@
----
-id: try-installation
-title: Installation
-sidebar_label: Installation
-original_id: try-installation
----
-
-The easiest way to install StreamPipes is our Docker-based installation. For production-grade deployments, we also
-recommend looking at our Kubernetes support, which is also part of the installation kit.
-
-## Prerequisites
-
-The Docker-based installation requires **Docker** and **Docker Compose** to be installed on the target machine.
-Installation instructions can be found below.
-
-<div class="admonition info">
-<div class="admonition-title">Install Docker</div>
-<p>Go to https://docs.docker.com/installation/ and follow the instructions to install Docker for your OS. Make sure docker can be started as a non-root user (described in the installation manual, don’t forget to log out and in again) and check that Docker is installed correctly by executing docker-run hello-world</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Configure Docker</div>
-<p>By default, Docker uses only a limited number of CPU cores and memory.
-       If you run StreamPipes on Windows or on a Mac you need to adjust the default settings.
-       To do that, click on the Docker icon in your tab bar and open the preferences.
-       Go to the advanced preferences and set the **number of CPUs to 6** (recommended) and the **Memory to 4GB**.
-       After changing the settings, Docker needs to be restarted.</p></div>
-
-### Supported operating systems
-
-The Docker-based installation supports the operating systems **Linux**, **Mac OS X** and **Windows 10**. Older windows
-versions are not fully compatible with Docker. Linux VMs running under Windows might cause network problems with Docker,
-therefore some manual work might be needed to make StreamPipes run properly.
-
-### Web Browser
-
-The StreamPipes application itself will be accessible through a web browser. We recommend a recent version of Chrome (
-best experience), Firefox or Edge.
-
-## Install StreamPipes
-
-<ul style="padding-left:0">
-  <li class="installation-step" style="margin-top:20px;">
-      <div class="wrapper-container" style="">
-          <div class="wrapper-step">
-              <span class="fa-stack fa-2x">
-                   <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                   <strong class="fa-stack-1x" style="color:white;">1</strong>
-              </span>
-          </div>
-          <div class="wrapper-instruction">
-              Download the latest Apache StreamPipes release and extract the zip file to a directory of your choice.
-                  <table class="table" style="margin-top:30px;">
-                      <thead>
-                      <tr style="background:rgb(27, 20, 100);color:white;">
-                          <th scope="col" style="border-bottom:0px;border-top:0px;">File</th>
-                          <th scope="col" style="border-bottom:0px;border-top:0px;">Version</th>
-                          <th scope="col" style="border-bottom:0px;border-top:0px;">Release Date</th>
-                          <th scope="col" style="border-bottom:0px;border-top:0px;">Signatures</th>
-                      </tr>
-                      </thead>
-                      <tbody>
-                      <tr>
-                          <td><a href="https://www.apache.org/dyn/mirrors/mirrors.cgi?action=download&filename=incubator/streampipes/installer/0.67.0/apache-streampipes-installer-0.67.0-incubating-source-release.zip">apache-streampipes-installer-0.67.0-incubating-source-release.zip</a></td>
-                          <td>0.67.0</td>
-                          <td>2020-10-27</td>
-                          <td>
-                              <a href="https://downloads.apache.org/incubator/streampipes/installer/0.67.0/apache-streampipes-installer-0.67.0-incubating-source-release.zip.sha512">SHA</a>
-                              <a href="https://downloads.apache.org/incubator/streampipes/installer/0.67.0/apache-streampipes-installer-0.67.0-incubating-source-release.zip.asc">PGP</a>
-                          </td>
-                      </tr>
-                      </tbody>
-                  </table>
-              <div class="row">
-                  <div class="alert alert-info" role="alert">
-                    The above release file should be verified using the PGP signatures and the <a href="https://downloads.apache.org/incubator/streampipes/KEYS">project release KEYS</a>. See the official ASF <a target="asf" href="https://www.apache.org/dyn/closer.cgi#verify">verification instructions</a> for a description of using the PGP and KEYS files for verification. A SHA512 checksum is also provided as an additional verification method.
-                  </div>
-              </div>
-          </div>
-      </div>
-  </li>
-  <li class="installation-step">
-      <div class="wrapper-container">
-          <div class="wrapper-step">
-              <span class="fa-stack fa-2x">
-                   <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                   <strong class="fa-stack-1x" style="color:white;">2</strong>
-              </span>
-          </div>
-          <div class="wrapper-instruction">
-             <div style="margin-bottom:5px;">In a command prompt, open the folder <code>compose</code> and run <code>docker-compose up -d</code>.
-                <div class="row" style="margin-top:10px;">              
-                    <div class="alert alert-info" role="alert">The folder contains two docker-compose files: The standard file contains the so-called <i>lite</i> installation, which includes less pipeline elements, but also requires for less performant hardware. The <i>full</i> version includes also the Apache Flink wrapper and more pipeline elements, but requires for more memory. See the Github <a href="https://github.com/apache/incubator-streampipes-installer/tree/master/compose">README</a> for complete usage instructions.</div>
-            </div>
-            </div>
-        </div>
-    </div>
-  </li>
-    <li class="installation-step">
-        <div class="wrapper-container" style="align-items: center;justify-content: center;">
-            <div class="wrapper-step">
-                <span class="fa-stack fa-2x">
-                     <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                     <strong class="fa-stack-1x" style="color:white;">3</strong>
-                </span>
-            </div>
-            <div class="wrapper-instruction">
-                Open your browser, navigate to http://localhost:80 (or the domain name of your server) and finish the setup according to the instructions below.
-            </div>
-        </div>
-    </li>
-</ul>
-
-## Setup StreamPipes
-
-Once you've opened the browser at the URL given above, you should see StreamPipes application as shown below. To set up
-the system, enter an email address and a password and click on install. After the installation has finished, continue by clicking on "Go to login
-page", once all components are successfully configured.
-
-On the login page, enter your credentials, then you should be forwarded to the home page.
-
-Congratulations! You've successfully managed to install StreamPipes. Now we're ready to build our first pipeline!
-
-<div class="my-carousel docs-carousel">
-    <img src="/img/01_try-installation/01_register_user.png" alt="Set Up User"/>
-    <img src="/img/01_try-installation/02_user_set_up.png" alt="SetUp StreamPipes Components"/>
-    <img src="/img/01_try-installation/03_login.png" alt="Go to login page"/>
-    <img src="/img/01_try-installation/04_home.png" alt="Home page"/>
-</div>
-
-<div class="admonition error">
-<div class="admonition-title">Errors during the installation process</div>
-<p>In most cases, errors during the installation are due to an under-powered system.<br/>
-If there is a problem with any of the components, please restart the whole system (<code>docker-compose down</code> and eventually also delete the volumes).
-   Please also make sure that your system meets the hardware requirements as mentioned in the first section of the installation guide.</p>
-</div>
-
-## Next Steps
-
-That's it! To ease your first steps with StreamPipes, we've created an [interactive tutorial](01_try-tutorial.md).
diff --git a/website-v2/versioned_docs/version-0.67.0/01_try-overview.md b/website-v2/versioned_docs/version-0.67.0/01_try-overview.md
deleted file mode 100644
index 99af195..0000000
--- a/website-v2/versioned_docs/version-0.67.0/01_try-overview.md
+++ /dev/null
@@ -1,120 +0,0 @@
----
-id: user-guide-introduction
-title: Apache StreamPipes Documentation
-sidebar_label: Overview
-original_id: user-guide-introduction
----
-
-This is the documentation of Apache StreamPipes.
-
-<img class="docs-image docs-image-small" src="/img/01_try-overview/01_streampipes-overview.png" alt="StreamPipes Overview"/>
-
-
-<div class="container grid col-3">
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                🚀 Try
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>Your first steps with Apache StreamPipes.</b></div>
-               <a href="try-installation.html">Install StreamPipes</a>, <a href="try-tutorial.html">Interactive Tutorial</a>
-            </div>
-        </div>
-    </div>
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                💡 Concepts
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>Learn about some general concepts of StreamPipes.</b></div>
-                <a href="concepts-overview.html">Overview</a>
-            </div>
-        </div>
-    </div>
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                🎓 Use
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>Learn how to use the various modules of StreamPipes.</b></div>
-                <a href="use-connect.html">StreamPipes Connect</a>, <a href="use-pipeline-editor.html">Pipeline Editor</a>, 
-                <a href="use-managing-pipelines.html">Managing Pipelines</a>, 
-                <a href="use-live-dashboard.html">Live Dashboard</a>, <a href="use-data-explorer.html">Data Explorer</a>, 
-                <a href="use-notifications.html">Notifications</a>
-            </div>
-        </div>
-    </div>
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                📚 Pipeline Elements
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>Available pipeline elements in StreamPipes.</b></div>
-                <a href="pe/org.apache.streampipes.connect.protocol.stream.kafka.html">Adapters</a>, 
-                <a href="pe/org.apache.streampipes.processors.aggregation.flink.aggregation.html">Data Processors</a>, 
-                <a href="pe/org.apache.streampipes.sinks.databases.jvm.couchdb.html">Data Sinks</a> 
-            </div>
-        </div>
-    </div>
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                ⚡ Deploy 
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>How to set up StreamPipes in test and production environments.</b></div>
-                <a href="deploy-docker.html">Docker</a>, <a href="deploy-kubernetes.html">Kubernetes</a>, <a href="../deploy
-                -use-ssl">Use SSL</a>
-            </div>
-        </div>
-    </div>
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                💻 Extend
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>Write your own pipeline elements for StreamPipes.</b></div>
-                <a href="extend-setup.html">Development Setup</a>, <a href="extend-cli.html">CLI</a>, <a href="../extend
-                -archetypes">Maven Archetypes</a>,
-                <a href="extend-tutorial-data-sources.html">Tutorial Data Sources</a>, <a href="../extend-tutorial-data
-                -processors">Tutorial Data Processors</a>, <a href="extend-tutorial-data-sinks.html">Tutorial Data Sinks
-                </a>,
-                <a href="extend-sdk-event-model.html">Event Model</a>, <a href="extend-sdk-stream-requirements.html">Stream
-                 Requirements</a>, <a href="extend-sdk-static-properties.html">Static Properties</a>,
-                <a href="extend-output-strategies.html">Output Strategies</a>
-            </div>
-        </div>
-    </div>
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                🔧 Technicals
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>Learn about technical concepts behind the curtain.</b></div>
-                <a href="technicals-architecture.html">Architecture</a>, <a href="technicals-user-guidance.html">User
-                 Guidance
-                </a>, <a href="technicals-runtime-wrappers.html">Runtime Wrappers</a>,
-                <a href="technicals-messaging.html">Messaging</a>, <a href="technicals-configuration.html">Configuration</a>
-            </div>
-        </div>
-    </div>
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                👪 Community
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>Get support and learn how to contribute to StreamPipes.</b></div>
-                <a href="community-get-help.html">Get Help</a>, <a href="community-contribute.html">Contribute</a>
-            </div>
-        </div>
-    </div>
-</div>
-
-
diff --git a/website-v2/versioned_docs/version-0.67.0/01_try-tutorial.md b/website-v2/versioned_docs/version-0.67.0/01_try-tutorial.md
deleted file mode 100644
index ba5dee8..0000000
--- a/website-v2/versioned_docs/version-0.67.0/01_try-tutorial.md
+++ /dev/null
@@ -1,21 +0,0 @@
----
-id: try-tutorial
-title: Interactive Tutorial
-sidebar_label: Interactive Tutorial
-original_id: try-tutorial
----
-
-Once you've installed StreamPipes and see the home screen, you'll see a number of modules that are part of the StreamPipes toolbox.
-As a first step, you might be interested in taking the interactive tutorial that helps you create your first pipeline.
-Switch to the **Pipeline Editor** and you will see a dialog that asks you for the start of the interactive tutorial:
-
-<img class="docs-image" src="/img/01_try-tutorial/01_tutorial-welcome.png" alt="Tutorial Welcome Page"/>
-
-Click **Start Tour** to start the tour. In this tour, you'll build a simple pipeline that monitors (simulated) live data from a water tank system.
-Within the tour, perform the actions as recommended and click **Next** to trigger the next steps. Some tour steps won't require to select **Next**, but wait for you to take the recommended action.
-You can cancel the tour anytime by clicking the **Exit Tour** button.
-
-<img class="docs-image" src="/img/01_try-tutorial/02_tutorial-process.png" alt="Tutorial Welcome Page"/>
-
-Now after you've built your first pipeline, you might be interested in reading about some of our core [concepts](02_concepts-overview.md) 
-
diff --git a/website-v2/versioned_docs/version-0.67.0/02_concepts-adapter.md b/website-v2/versioned_docs/version-0.67.0/02_concepts-adapter.md
deleted file mode 100644
index 584f5a5..0000000
--- a/website-v2/versioned_docs/version-0.67.0/02_concepts-adapter.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-id: concepts-adapter
-title: Data Adapters
-sidebar_label: Data Adapters
-original_id: concepts-adapter
----
-
-tbd
diff --git a/website-v2/versioned_docs/version-0.67.0/02_concepts-data-streams.md b/website-v2/versioned_docs/version-0.67.0/02_concepts-data-streams.md
deleted file mode 100644
index a8f2501..0000000
--- a/website-v2/versioned_docs/version-0.67.0/02_concepts-data-streams.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-id: concepts-data-streams
-title: Data Streams
-sidebar_label: Data Streams
-original_id: concepts-data-streams
----
-
-tbd
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.67.0/02_concepts-glossary.md b/website-v2/versioned_docs/version-0.67.0/02_concepts-glossary.md
deleted file mode 100644
index 68a3396..0000000
--- a/website-v2/versioned_docs/version-0.67.0/02_concepts-glossary.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-id: concepts-glossary
-title: Glossary
-sidebar_label: Glossary
-original_id: concepts-glossary
----
-
-tbd
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.67.0/02_concepts-overview.md b/website-v2/versioned_docs/version-0.67.0/02_concepts-overview.md
deleted file mode 100644
index 30392a6..0000000
--- a/website-v2/versioned_docs/version-0.67.0/02_concepts-overview.md
+++ /dev/null
@@ -1,36 +0,0 @@
----
-id: concepts-overview
-title: StreamPipes Concepts
-sidebar_label: Overview
-original_id: concepts-overview
----
-
-To understand how StreamPipes works, the knowledge of a few core concepts, illustrated below, will be helpful.
-
-<img class="docs-image" src="/img/02_concepts-overview/01_overview.png" alt="Overview of concepts"/>
-
-## Adapter
-An adapter connects to any external data source and forwards received events to the internal StreamPipes system. Within StreamPipes, the output of adapters are available in form of the two primary building blocks **Data Set** and **Data Stream**.
-Adapters can be either created by using StreamPipes Connect, a module to easily connect to new data sources directly from the user interface, or by defining an adapter using the provided Software Development Kit (SDK).
-
-## Data Set / Data Stream
-**Data Streams** and **Data Sets** represent the primary source for working with events in StreamPipes.
-A stream is an ordered sequence of events, where an event typically consists of one or more observation values and additional metadata. The "structure" (or schema) of an event provided by a data stream or set is stored in the internal semantic schema registry of StreamPipes.
-While data streams are typically unbounded, data sets have a fixed end and are internally "replayed" by the system from beginning to end once they are used as part of a pipeline.
-As follows, although when referring to data streams, most concepts also apply for data sets.
-
-## Data Processor
-**Data Processors** in StreamPipes transform one or more input data streams into an output data stream.
-Such transformations can be rather simple, e.g. filtering based on a predefined rule or more complex, e.g. applying rule-based or learning-based algorithms on the data.  
-Data Processors can be applied on any data stream that matches the input requirements of a processor. In addition, most processors can be configured by providing user-defined parameters directly in the user interface.
-Processing elements define stream requirements that are a set of minimum properties an incoming event stream must provide. Data processors can keep state or perform stateless operations.
-At runtime, data streams are processed by using one of the underlying runtime wrappers (see the developer guide for more details).
-
-## Data Sink
-**Data Sinks** consume event streams similar to Data Processors, but do not provide an output data stream. As such, data sinks typically perform some action or trigger a visualization as a result of a stream transformation.
-Similar to data processors, sinks also require for the presence of specific input requirements of any bound data stream and can be customized.
-StreamPipes provides several internal data sinks, e.g., to create notifications, visualize live data or persist historical data of incoming streams. In addition, various data sinks are provided to forward data streams to external systems such as databases.
-
-## Pipeline
-A pipeline in Apache StreamPipes describes the transformation process from a data stream to a data sink. Typically, a pipeline consists of at least one data stream (or data set), zero or more data processors and at least one data sink.
-Pipelines are built by users in a graphical way using the **Pipeline Editor** and can be started and stopped at any time.
diff --git a/website-v2/versioned_docs/version-0.67.0/02_concepts-pipeline.md b/website-v2/versioned_docs/version-0.67.0/02_concepts-pipeline.md
deleted file mode 100644
index 282642f..0000000
--- a/website-v2/versioned_docs/version-0.67.0/02_concepts-pipeline.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-id: concepts-pipelines
-title: Pipelines
-sidebar_label: Pipelines
-original_id: concepts-pipelines
----
-
-tbd
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.67.0/03_use-configurations.md b/website-v2/versioned_docs/version-0.67.0/03_use-configurations.md
deleted file mode 100644
index 3e7305f..0000000
--- a/website-v2/versioned_docs/version-0.67.0/03_use-configurations.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-id: use-configurations
-title: Configurations
-sidebar_label: Configurations
-original_id: use-configurations
----
-
-tbd
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.67.0/03_use-connect.md b/website-v2/versioned_docs/version-0.67.0/03_use-connect.md
deleted file mode 100644
index b603290..0000000
--- a/website-v2/versioned_docs/version-0.67.0/03_use-connect.md
+++ /dev/null
@@ -1,69 +0,0 @@
----
-id: use-connect
-title: StreamPipes Connect
-sidebar_label: StreamPipes Connect
-original_id: use-connect
----
-
-StreamPipes Connect is the module to connect external data sources with Apache StreamPipes directly from the user interface. 
-StreamPipes Connect offers various adapters for common communication protocols and some specific sensors. Besides connecting data, StreamPipes Connect offers ways to pre-process data without the need to build pipelines and integrates a schema guesser that listens for incoming data and recommends the recognized event schema.
-
-The screenshot below illustrates the data marketplace, which is the start screen of StreamPipes Connect.
-
-<img class="docs-image" src="/img/03_use-connect/01_connect-overview.png" alt="StreamPipes Connect Overview"/>
-
-## Connecting new data sources
-
-### Data Marketplace
-The data marketplace shows a list of all adapters that are currently installed in Apache StreamPipes. Each adapter offers various configuration options which depend on the specifics of the adapter.
-Adapters are distinguished a) by the data source concept they provide (data set or data stream) and b) the adapter type, where we distinguish between _generic adapters_, which usually implement a generic communication protocol such as MQTT or Apache Kafka or a specific sensor interface (e.g., for Netio power sockets).
-Several filter options are available to find a suitable adapter. The configuration of a new adapter starts with selecting one of the available adapters, which starts an assistant that supports the adapter generation.
-
-### Protocol/Basic Settings
-In the first step, basic configurations need to be provided. For instance, for an Apache PLC4X adapter, the IP address of the PLC needs to be provided. After all values are provided, the "Next" button opens the next step.
-
-### Format Specification
-The next step, format generation, is only available for generic adapters which support different message formats to be sent over the corresponding protocol. Think of a message broker that is able to consume messages in both JSON format or binary format.
-Currently supported formats include XML, various JSON representations, images and CSV. After a format has been selected, further format configurations can be provided (depending on the selected format) to further customize the incoming message format.
-
-<img class="docs-image" src="/img/03_use-connect/02_customize-format.png" alt="StreamPipes Connect Format Selection"/>
-
-### Schema Editor
-In the next step, based on the previously provided protocol and format settings, the system will either provide the fixed/pre-defined schema of the adapter or, in case of specific adapters, will connect to the underlying system and try to listen for incoming data. After a few seconds, the schema editor will appear that provides a list of detected fields from the incoming events (the schema).
-
-<img class="docs-image" src="/img/03_use-connect/03_schema-editor.png" alt="StreamPipes Connect Schema Editor"/>
-
-In the toolbar, several configuration options are available which transform the original schema:
-
-* **Add Nested Property**. This option allows to modify the structure of the event by creating a nested structure. The schema can be simply changed by dragging and dropping fields into the nested structure.
-* **Add Static Value**. This option allows to add a field containing a static value (e.g., an identifier) to the event.
-* **Add Timestamp**. This options appends the current timestamp to each incoming event, useful in case the timestamp is not provided by the origin.
-* **Refresh**. Re-triggers the schema guessing.
-* **Delete field**. Select one or more fields by clicking the checkbox on the right and trigger the delete button.
-* **Property scope**. For each field, a property scope can be defined which is either _Measurement_, _Dimension_ or _Header_. These values are later be used in the pipeline editor to assist in configuring pipeline elements and do not have any functional consequence. 
-Use _Measurement_ to indicate the field measures a value (e.g., a temperature value from a sensor), use _Dimension_ for any identifier (e.g., the sensor ID) and use _Header_ for any other metadata such as timestamps.
-
-For each field (also called event property) of the schema, additional configuration options are available by clicking the _Edit_ button:
-
-* **Label**. Used to provide a human-readable label for the field, which will ease the identification of fields when building pipelines.
-* **Runtime Name.** This is the identifier of the field in the underlying message representation format (e.g., the JSON key). Renaming the runtime name will trigger a so-called _transformation rule_ which renames the incoming field name to the new field name before forwarding it to StreamPipes.
-* **Domain Property/Semantic Type**. To help StreamPipes better understand the value which is represented by the field, semantic type information can be given. Up from StreamPipes 0.68.0, the semantic type can be selected from a wide range of available options. Additionally, an URL can be manually provided that indicates the meaning of the value (e.g., http://schema.org/Temperature).
-* **Mark as Timestamp**. Indicates that the selected value represents a timestamp. When selected, a _timestamp converter_ can be configured which will convert incoming timestamps to the UNIX timestamp.
-* **Runtime Type**. Here, the data type can be changed  
-* **Unit**. Allows to specify the unit in which the value is measured. Once selected, you can also automatically convert the unit to a target unit, which will then be inserted into the data stream produced by the adapter (see screenshot below). 
-
-<img class="docs-image" src="/img/03_use-connect/04_schema-editor-conversion.png" alt="StreamPipes Connect Unit Conversion"/>
-
-### Adapter Generation
-Finally, the adapter is ready to be started. In the _Adapter Generation_ page, a name and description for the resulting data stream must be provided.
-Once started, StreamPipes creates your new adapter and displays a preview of the connected data, which refreshes about once per second.
-Afterwards, the newly created data stream is available in the pipeline editor for further usage.
-
-<img class="docs-image" src="/img/03_use-connect/05_adapter-generation.png" alt="StreamPipes Connect Adapter Generation"/>
-
-## Managing adapters
-
-Currently running adapters are available in the "Running adapters" section of StreamPipes Connect. Existing adapters can be stopped and deleted. Currently, there is no mechanism to edit an existing adapter or to stop the adapter without deleting it.
-
-### Adapter Templates
-For frequently used configurations, adapter templates can be created. An adapter template is a pre-configured adapter which can be further customized by users. Created adapter templates are available in the marketplace similar to standard adapters.
diff --git a/website-v2/versioned_docs/version-0.67.0/03_use-dashboard.md b/website-v2/versioned_docs/version-0.67.0/03_use-dashboard.md
deleted file mode 100644
index 469adb5..0000000
--- a/website-v2/versioned_docs/version-0.67.0/03_use-dashboard.md
+++ /dev/null
@@ -1,67 +0,0 @@
----
-id: use-dashboard
-title: Live Dashboard
-sidebar_label: Live Dashboard
-original_id: use-dashboard
----
-
-The live dashboard can be used to visualize live data of data streams using a set of visualizations
-The entry page of the live dashboard lists all created dashboards as in the screenshot below:
-
-<img class="docs-image" src="/img/03_use-dashboard/01_dashboard-overview.png" alt="StreamPipes Dashboard Overview"/>
-
-## Visualizing Data Streams
-
-To visualize data streams in the live dashboard, a pipeline must be created that makes use of the so-called **Dashboard Sink**.
-Any data stream or data processor can serve as an input of the dashboard sink. Switch to the pipeline editor, create a pipeline and configure the dashboard sink. The visualization name is used to identify the sink in case multiple dashboard sinks are used within a single pipeline.
-
-## Managing Dashboards
-Multiple dashboards can be created, e.g., to organize different assets in a single dashboard view.
-
-A new dashboard can be created by clicking the _New Dashboard_ button, which opens a dialog that requires basic dashboard settings such as the title and description of the new dashboard.
-Once created, the dashboard will be shown in the overview. Here, the following dashboard actions are available:
-
-* **Show** opens the dashboard.
-* **Window** opens the dashboard in a new window with reduced controls, e.g., without the StreamPipes navigation and toolbar. This is a useful view for standalone displays that should visualize key parameters.
-* **Settings** allows to modify the basic dashboard settings. 
-* **Edit** opens the dashboard in edit mode, where widgets can be added to the dashboard.
-+ **Delete** deletes the selected dashboard.
-
-## Creating Visualizations
-
-Visualizations can be added to each dashboard in form of widgets. To add new visualizations, switch to the dashboard in _Edit_ mode.
-In edit mode, a button appears that allows to add a new visualization.
-
-Adding a new visualization is supported by a wizard consisting of three steps:
-
-<img class="docs-image" src="/img/03_use-dashboard/02_add-widget.png" alt="StreamPipes Dashboard Pipeline Selection"/>
-
-* **Select pipeline** is the first step where a pipeline is selected on which the visualization is based. In this view, all pipelines are listed that have at least one **Dashboard Sink**. In case a pipeline contains multiple dashboard sinks, the visualization name is listed below the pipeline name which eases discovering of the proper visualization.
-* **Select widget** is the next step where the visualization widget must be selected. StreamPipes automatically filters this list based on input requirements of widgets. For instance, image visualizations are only visible if the input data stream provides an image object.
-* **Configure widget** provides widget-specific settings to configure the visualization. In most cases, colors and titles of widgets can be modified. Additionally, chart-specific settings such as axis value ranges can be configured.
-
-<img class="docs-image" src="/img/03_use-dashboard/03_configure-widget.png" alt="StreamPipes Dashboard Widget Configuration"/>
-
-By clicking _Create_, the new widget is placed on the canvas. Size and positioning of visualizations can be flexibly changed based on the provided grid. To change the widget configuration, the _Settings_ button of each widget can be clicked to re-open the configuration dialog.
-
-Once created, the dashboard provides a live view of all visualizations:
-
-<img class="docs-image" src="/img/03_use-dashboard/04_live-dashboard.png" alt="StreamPipes Live Dashboard"/>
-
-
-Before the dashboard is closed, make sure to click the _Save_ button to persist the updated dashboard. Changes can be discarded by clicking the _Discard_ button.
-
-
-## Available widgets
-
-The following visualizations are available in the latest release:
-
-* Area Chart
-* Gauge
-* HTML page (renders HTML markup)
-* Image  
-* Line Chart
-* Raw (displays the raw JSON input for debugging purposes)
-* Single Value (displays a single measurement)
-* Table
-* Traffic Light
diff --git a/website-v2/versioned_docs/version-0.67.0/03_use-data-explorer.md b/website-v2/versioned_docs/version-0.67.0/03_use-data-explorer.md
deleted file mode 100644
index a1025ea..0000000
--- a/website-v2/versioned_docs/version-0.67.0/03_use-data-explorer.md
+++ /dev/null
@@ -1,19 +0,0 @@
----
-id: use-data-explorer
-title: Data Explorer
-sidebar_label: Data Explorer
-original_id: use-data-explorer
----
-
-The data explorer can be used to visualize and explore data streams that are persisted by using the **Data Lake** sink.
-
-<img class="docs-image" src="/img/03_use-data-explorer/01_data-explorer-overview.png" alt="StreamPipes Data Explorer Overview"/>
-
-It provides a canvas where various visualizations from multiple pipelines can be placed. A global date and time range can be selected for all displayed visualizations.
-
-The data explorer is currently available as an early beta version and features are still subject to change. A more detailed documentation will be available once the data explorer is available in a stable version.
-
-## Using the data explorer
-
-In the data explorer, any pipeline that uses the so-called **Data Lake** sink can be explored in the data explorer. Switch to the pipeline editor and add the data lake sink to a data processor or stream.
-The sink requires an index name as a configuration parameter, which is used as an identifier in the data explorer.
diff --git a/website-v2/versioned_docs/version-0.67.0/03_use-install-pipeline-elements.md b/website-v2/versioned_docs/version-0.67.0/03_use-install-pipeline-elements.md
deleted file mode 100644
index 10be7e5..0000000
--- a/website-v2/versioned_docs/version-0.67.0/03_use-install-pipeline-elements.md
+++ /dev/null
@@ -1,10 +0,0 @@
----
-id: use-install-pipeline-elements
-title: Install Pipeline Elements
-sidebar_label: Install Pipeline Elements
-original_id: use-install-pipeline-elements
----
-
-## Install Pipeline Elements
-
-(coming soon)
diff --git a/website-v2/versioned_docs/version-0.67.0/03_use-managing-pipelines.md b/website-v2/versioned_docs/version-0.67.0/03_use-managing-pipelines.md
deleted file mode 100644
index 72b3ea5..0000000
--- a/website-v2/versioned_docs/version-0.67.0/03_use-managing-pipelines.md
+++ /dev/null
@@ -1,53 +0,0 @@
----
-id: use-managing-pipelines
-title: Managing Pipelines
-sidebar_label: Managing Pipelines
-original_id: use-managing-pipelines
----
-
-The pipeline view lists all created pipelines and provides several views and actions to manage the lifecycle of pipelines.
-
-In the entry screen, an overview of all created pipelines is shown:
-
-<img class="docs-image" src="/img/03_use-managing-pipelines/01_pipeline-overview.png" alt="StreamPipes Pipeline Overview"/>
-
-## Pipeline Actions
-Within the pipeline overview, for each pipeline several actions are available:
-* **Start/Stop pipeline** Starts or stops the selected pipeline. Once clicked, StreamPipes will trigger the selected action for all pipeline elements and open a success or error dialog as illustrated below.
-* **Show details** opens the pipeline detail view (see below).  
-* **Modify pipeline** opens the pipeline in the pipeline editor, where the pipeline can be modified. Note that this button is only visible if the pipeline is not running.
-* **Delete pipeline** opens a confirm dialog, which subsequently deletes the selected pipeline.
-
-The screenshot below shows the status of a pipeline after it has been successfully started. By clicking the _Show details_ button, more information on the status of each corresponding pipeline element microservice becomes available. In case of failures, the failure reason will be shown for each pipeline element that has failed to start.
-
-<img class="docs-image" src="/img/03_use-managing-pipelines/02_pipeline-start-dialog.png" alt="StreamPipes Pipeline Start Dialog"/>
-
-## Organizing Pipelines into Categories
-Pipelines can be organized into categories, which is a useful feature in case a larger amount of pipelines is created.
-All categories will be shown as separate tabs in the pipeline overview. The same pipeline can be assigned to multiple categories.
-
-To add a new category or to add a new pipeline to an existing category, click the _Manage Categories_ button and configured the category and assigned pipelines in the dialog.
-
-## Pipeline Details
-The pipeline details view can be opened by clicking the _Show details_ button in the pipeline overview panel.
-
-<img class="docs-image" src="/img/03_use-managing-pipelines/03_pipeline-details.png" alt="StreamPipes Pipeline Details"/>
-
-### Overview
-The overview section displays the graphical structure of the pipeline and provides some statistics about recent pipeline actions. Additionally, pipelines can be directly started, stopped, modified and deletes within this view.
-
-### Monitoring
-Monitoring features will become available in version 0.68.0.
-
-### Errors
-Monitoring of failures and logs will become available in version 0.69.0.
-
-### QuickEdit
-The quick edit feature (only available for pipelines that are not running) is a quick and convenient way to modify some pipeline element configurations without opening the pipeline in the pipeline editor.
-To use the quick edit feature, switch to the _QuickEdit_ tab, which will display the selected pipeline.
-
-By clicking a pipeline element from the preview canvas, available configuration options of the selected pipeline element can be modified. Note that only modifications that do not affect the pipeline structure (e.g., different output streams) can be changed.
-
-<img class="docs-image" src="/img/03_use-managing-pipelines/04_pipeline-quick-edit.png" alt="StreamPipes Pipeline Quick Edit"/>
-
-After a configuration value was changed, make sure to click the _Update Pipeline_ button to save the changes.
diff --git a/website-v2/versioned_docs/version-0.67.0/03_use-notifications.md b/website-v2/versioned_docs/version-0.67.0/03_use-notifications.md
deleted file mode 100644
index 367e693..0000000
--- a/website-v2/versioned_docs/version-0.67.0/03_use-notifications.md
+++ /dev/null
@@ -1,26 +0,0 @@
----
-id: use-notifications
-title: Notifications
-sidebar_label: Notifications
-original_id: use-notifications
----
-
-The notification module can be used to create internal notifications.
-
-<img class="docs-image" src="/img/03_use-notifications/01_notifications-overview.png" alt="StreamPipes Notifications"/>
-
-## Using notifications
-
-Any pipeline that includes the data sink **Notification** can trigger notifications that appear in the notification view. To configure a new notification, switch to the pipeline editor and append the notification sink to a data processor or data stream.
-The sink requires a title and message as configuration parameters.
-
-### Placeholders
-
-The notification message can include placeholders for fields which are replaced with the actual value at runtime.
-
-## Managing notifications
-
-The notification view is split into two parts. The left sides lists all pipelines which include a notification sink. By selecting a pipeline, available notifications will be shown in the right panel.
-By scrolling up, older notifications become visible. Notifications that have appeared in the detail view will be automatically marked as read, so that only new, unread notifications will appear in the left toolbar.
-
-
diff --git a/website-v2/versioned_docs/version-0.67.0/03_use-pipeline-editor.md b/website-v2/versioned_docs/version-0.67.0/03_use-pipeline-editor.md
deleted file mode 100644
index cb7c9a2..0000000
--- a/website-v2/versioned_docs/version-0.67.0/03_use-pipeline-editor.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-id: use-pipeline-editor
-title: Pipeline Editor
-sidebar_label: Pipeline Editor
-original_id: use-pipeline-editor
----
-
-The pipeline editor module supports building pipelines that transform a data stream using a set of resuable data processors and data sinks.
-The empty pipeline editor looks similar to the illustration below after a new installation.
-
-<img class="docs-image" src="/img/03_use-pipeline-editor/01_pipeline-editor-overview.png" alt="StreamPipes Pipeline Editor Overview"/>
-
-## Pipeline Elements
-The four main concepts data sets, data streams, data processors and data sinks are available at the top of the pipeline editor. By switching the tabs, the individual pipeline elements for each category can be found.
-By clicking the questionmark symbol, which appears when hovering over an element, additional information can be viewed (e.g., for data streams a live preview of incoming data and the documentation of the pipeline element for data processors and sinks).
-
-<img class="docs-image" src="/img/03_use-pipeline-editor/02_pipeline-element-info.png" alt="StreamPipes Pipeline Element Info"/>
-
-## Creating Pipelines
-Pipelines are built by dragging data streams, processors and sinks into the pipeline assembly area. Typically, a pipeline is built step-by-step starting with a data soure (stream or set). 
-Afterwards, data processors and sinks are subsequently added to the pipeline. Connections between pipeline elements are made by selecting the gray connector of the source and moving it to the target pipeline element.
-Once a connection is made, StreamPipes performs a quick validation step and, in case two pipeline elements are compatible, automatically opens a configuration window.
-
-### Configuring Pipeline Elements
-The configuration depends on the selected pipeline element and looks similar to the screenshot below.
-In general, pipeline elements are configured by providing the required values. Once the pipeline element is fully configured, the _Save_ button activates and can be used to save the configuration for the pipeline element.
-
-<img class="docs-image" src="/img/03_use-pipeline-editor/03_configure-pipeline-element.png" alt="StreamPipes Pipeline Element Configuration"/>
-
-In addition, the following options are available in the pipeline element configuration menu:
-* **Show documentation** extends the view and displays the pipeline element's documentation next to the configuration view.
-* **Show only recommended settings** filters the list of available fields provided by the connected input data stream based on the _property scope_, e.g., so that only measurement values are displayed and dimension fields from the input stream are not available for selection. If deactivated, selections contain the full list of available fields that match the input requirement of the data processor.
-
-### Pipeline Element Options
-Further options for a pipeline element can be displayed by hovering over a pipeline element in the assembly area, so that additional buttons appear around the pipeline element:
-
-* **Configure element** re-opens the configuration view to update the pipeline element configuration (only available for data processors and sinks)
-* **Delete element** removes the pipeline element from the pipeline  
-* **Help** opens the pipeline element's documentation
-* **Compatible element** opens a dialog which shows all pipeline elements that are compatible to the current element's output data stream. The dialog offers an alternative to selecting pipeline elements directly from the pipeline element selection in the top.
-* **Pipeline Element Recommendation** opens a dialog which shows all recommended pipeline elements that are compatible the current element's output data stream. The recommendation is based on previously connected pipeline elements and is displayed below.
-
-<img class="docs-image" src="/img/03_use-pipeline-editor/04_pipeline-element-recommendation.png" alt="StreamPipes Pipeline Element Recommendation"/>
-
-### Pipeline Editor Options
-Several pipeline editor options are available in the menu bar of the pipeline assembly:
-
-<img class="docs-image" src="/img/03_use-pipeline-editor/05_pipeline-editor-options.png" alt="StreamPipes Pipeline Editor Options"/>
-
-* **Save pipeline** opens the save dialog (see below)
-* **Pan** allows to pan within the assembly area, useful for larger pipelines that do not fit in the screen
-* **Select** is visible if pan mode is active and switches back to the default select mode
-* **Zoom in/out** triggers the zoom in the pipeline assembly
-* **Auto Layout** layouts the pipeline in a much more beautiful way than you are able to do by yourself ;-)
-* **All pipeline modification saved** is displayed if the current pipeline has been cached. Cache updates are triggered after every change of the pipeline so that changes are not lost after reloading the window.
-* **Hints** are shown to display current errors (e.g., incomplete pipelines). Details can be opened by clicking the hint button.
-* **Clear assembly** clears the assembly and removes the current pipeline.
-
-### Saving a pipeline
-To save a pipeline, press the _save pipeline_ button. A dialog pops up where a name and description of the pipeline can be entered (only name is mandatory).
-Additionally, a pipeline can be directly started after it has been stored by checking the corresponding button.
-
-<img class="docs-image" src="/img/03_use-pipeline-editor/06_save-pipeline.png" alt="StreamPipes Save Pipeline Dialog"/>
-
-
diff --git a/website-v2/versioned_docs/version-0.67.0/05_deploy-docker.md b/website-v2/versioned_docs/version-0.67.0/05_deploy-docker.md
deleted file mode 100644
index 7dbc33a..0000000
--- a/website-v2/versioned_docs/version-0.67.0/05_deploy-docker.md
+++ /dev/null
@@ -1,74 +0,0 @@
----
-id: deploy-docker
-title: Docker Deployment
-sidebar_label: Docker Deployment
-original_id: deploy-docker
----
-
-StreamPipes Compose is a simple collection of user-friendly `docker-compose` files that easily lets gain first-hand experience with Apache StreamPipes.
-
-> **NOTE**: We recommend StreamPipes Compose to only use for initial try-out and testing. If you are a developer and want to develop new pipeline elements or core feature, use the [StreamPipes CLI](06_extend-cli.md).
-
-#### TL;DR: A one-liner to rule them all :-)
-
-```bash
-docker-compose up -d
-```
-Go to http://localhost to finish the installation in the browser. Once finished, switch to the pipeline editor and start the interactive tour or check the [online tour](https://streampipes.apache.org/docs/docs/user-guide-tour/) to learn how to create your first pipeline!
-
-## Prerequisites
-* Docker >= 17.06.0
-* Docker-Compose >= 1.17.0 (Compose file format: 3.4)
-* Google Chrome (recommended), Mozilla Firefox, Microsoft Edge
-
-Tested on: **macOS, Linux, Windows 10** (CMD, PowerShell, GitBash)
-
-**macOS** and **Windows 10** (Pro, Enterprise, Education) users can easily get Docker and Docker-Compose on their systems by installing **Docker for Mac/Windows** (recommended).
-
-> **NOTE**: On purpose, we disabled all port mappings except of http port **80** to access the StreamPipes UI to provide minimal surface for conflicting ports.
-
-## Usage
-We provide two options to get you going:
-
-- **default**: a light-weight option with few pipeline elements, needs less memory
-- **full**:  contains more pipeline elements, requires **>16 GB RAM** (recommended)
-
-**Starting** the **default** option is as easy as simply running:
-> **NOTE**: Starting might take a while since `docker-compose up` also initially pulls all Docker images from Dockerhub.
-
-```bash
-docker-compose up -d
-# go to after all services are started http://localhost
-```
-After all containers are successfully started just got to your browser and visit http://localhost to finish the installation. Once finished, switch to the pipeline editor and start the interactive tour or check the [online tour](https://streampipes.apache.org/docs/docs/user-guide-tour/) to learn how to create your first pipeline!
-
-**Stopping** the **default** option is similarly easy:
-```bash
-docker-compose down
-# if you want to remove mapped data volumes, run:
-# docker-compose down -v
-```
-
-Starting the **full** option is almost the same, just specify the `docker-compose.full.yml` file:
-```bash
-docker-compose -f docker-compose.full.yml up -d
-# go to after all services are started http://localhost
-```
-Stopping the **full** option:
-```bash
-docker-compose -f docker-compose.full.yml down
-#docker-compose -f docker-compose.full.yml down -v
-```
-
-## Update services
-To actively pull the latest available Docker images use:
-```bash
-docker-compose pull
-# docker-compose -f docker-compose.full.yml pull
-```
-
-## Upgrade
-To upgrade to another StreamPipes version, simply edit the `SP_VERSION` in the `.env` file.
-```
-SP_VERSION=<VERSION>
-```
diff --git a/website-v2/versioned_docs/version-0.67.0/05_deploy-kubernetes.md b/website-v2/versioned_docs/version-0.67.0/05_deploy-kubernetes.md
deleted file mode 100644
index ea593a5..0000000
--- a/website-v2/versioned_docs/version-0.67.0/05_deploy-kubernetes.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: deploy-kubernetes
-title: Kubernetes Deployment
-sidebar_label: Kubernetes Deployment
-original_id: deploy-kubernetes
----
-
-## Prerequisites
-Requires Helm (https://helm.sh/) and an active connection to a kubernetes cluster with a running tiller server.
-
-Tested with:
-* K3s v1.18.8+k3s1 (6b595318) with K8s v1.18.8
-* Helm v3.1.2
-
-## Usage
-We provide two helm chart options to get you going:
-
-- **default**: a light-weight option with few pipeline elements, needs less memory
-- **full**:  contains more pipeline elements, requires **>16 GB RAM** (recommended)
-
-**Starting** the **default** helm chart option is as easy as simply running the following command from the root of this folder:
-> **NOTE**: Starting might take a while since we also initially pull all Docker images from Dockerhub.
-
-```bash
-helm install streampipes ./
-```
-After a while, all containers should successfully started, indicated by the `Running` status.
-```bash
-kubectl get pods
-NAME                                           READY   STATUS    RESTARTS   AGE
-activemq-66d58f47cf-2r2nb                      1/1     Running   0          3m27s
-backend-76ddc486c8-nswpc                       1/1     Running   0          3m27s
-connect-master-7b477f9b79-8dfvr                1/1     Running   0          3m26s
-connect-worker-78d89c989c-9v8zs                1/1     Running   0          3m27s
-consul-55965f966b-gwb7l                        1/1     Running   0          3m27s
-couchdb-77db98cf7b-xnnvb                       1/1     Running   0          3m27s
-influxdb-b95b6479-r8wh8                        1/1     Running   0          3m27s
-kafka-657b5fb77-dp2d6                          1/1     Running   0          3m27s
-pipeline-elements-all-jvm-79c445dbd9-m8xcs     1/1     Running   0          3m27s
-sources-watertank-simulator-6c6b8844f6-6b4d7   1/1     Running   0          3m27s
-ui-b94bd9766-rm6zb                             2/2     Running   0          3m27s
-zookeeper-5d9947686f-6nzgs                     1/1     Running   0          3m26s
-```
-
-After all containers are successfully started just got to your browser and visit any of the k8s cluster nodes on
-`http://<NODE_IP>` to finish the installation.
-
-> **NOTE**: If you're running Docker for Mac or Docker for Windows with a local k8s cluster, the above step to use your host IP might not work. Luckily, you can port-forward a service port to your localhost using the following command to be able to access the UI either via `http://localhost` or `http://<HOST_IP>` (you require sudo to run this command in order to bind to a privileged port).
-```bash
-kubectl port-forward svc/ui --address=0.0.0.0 80:80
-```
-
-Starting the **full** helm chart option is almost the same:
-```bash
-helm install streampipes ./ --set deployment=full
-```
-
-**Deleting** the current helm chart deployment:
-```bash
-helm del streampipes
-```
diff --git a/website-v2/versioned_docs/version-0.67.0/05_deploy-security.md b/website-v2/versioned_docs/version-0.67.0/05_deploy-security.md
deleted file mode 100644
index b9958c4..0000000
--- a/website-v2/versioned_docs/version-0.67.0/05_deploy-security.md
+++ /dev/null
@@ -1,76 +0,0 @@
----
-id: deploy-security
-title: Security
-sidebar_label: Security
-original_id: deploy-security
----
-
-## Overriding default settings
-
-At installation time, StreamPipes checks for available environment variables relevant for the securing the system. If they are not set, it will use the default values.
-
-The following variables are checked by the core at installation time:
-
-* SP_INITIAL_ADMIN_EMAIL The email address of the initial administrator.
-* SP_INITIAL_ADMIN_PASSWORD The password of the initial administrator.
-* SP_INITIAL_CLIENT_USER The initial client user, used by the extensions modules to make authenticated API requests to the core.
-* SP_INITIAL_CLIENT_SECRET The default password of the initial client user.
-* SP_SETUP_INSTALL_PIPELINE_ELEMENTS Indicates whether pipeline elements should be installed.
-* SP_ENCRYPTION_PASSCODE The encryption passcode, used for securely storing secrets (e.g., database connection strings).
-* SP_JWT_SECRET The JWT secret, used for signing JWT tokens.
-
-In addition, all extensions services that perform requests to the core will need to have the following environment variables set:
-
-* SP_CLIENT_USER The client user, used by the extensions modules to make authenticated API requests to the core.
-* SP_CLIENT_SECRET The password of the client user.
-
-Note that there are default values for all environment variables that are set at installation time - make sure to change these settings when moving to production!
-
-## Configuration
-
-Most security-related settings can be set in the configuration section of StreamPipes. The *General* section allows to set self-service registration and password recovery (both are disabled by default and require a valid email configuration).
-In the *Security* section, users, service accounts, roles and groups can be configured.
-
-
-## User types
-
-StreamPipes distinguishes between User Accounts (real users that interact with StreamPipes over the UI or an API) and Service Accounts (user-independent accounts which solely use StreamPipes over the API).
-
-User accounts are typically used by extensions service that require API access to the core (e.g., to get a list of running pipelines).
-
-## Permissions
-
-StreamPipes v0.69.0 comes with more advanced mechanisms to manage permissions.
-For each major resource (pipeline elements, pipelines, StreamPipes Connect adapters, dashboards, data explorer views), permissions can be assigned individually to users and groups.
-
-To ease permission handling, StreamPipes comes with a default number of roles with pre-assigned privileges:
-
-### Roles
-
-* Admin The administrator role has full access to all resources.
-* Service Admin The service administrator role has full access to all resources, but has no access to the UI.
-* Pipeline Admin has full control of pipelines (create, edit, delete, start, stop, pause, resume, etc.).
-* Pipeline User has limited control of pipelines (read only).
-* Dashboard Admin has full control of dashboards (create, edit, delete, etc.).
-* Dashboard User has limited control of dashboards (read only).
-* Data Explorer Admin has full control of data explorer views (create, edit, delete, etc.).
-* Data Explorer User has limited control of data explorer views (read only).
-* Connect Admin has full control of StreamPipes Connect adapters (create, edit, delete, etc.).
-
-### Groups
-
-Roles can be either assigned to specific users or groups. Any group can contain several members. 
-The permissions of a user are the union of the permissions of all roles assigned to the user and the groups to which the user belongs.
-
-### Changing permissions
-
-Any resource has a resource owner, which is the authority that created the resource. Resources can be either public or private. Public resources are available to all users, while the user role determines what the user can do with the resource.
-E.g., a public pipeline created by a user of role ROLE_ADMIN can be edited by all users with role PIPELINE_ADMIN, while the same pipeline can be read by all users with role PIPELINE_USER.
-
-Permissions can only be changed by admin users currently.
-In the overview section of each resource (e.g., pipelines and dashboards), a permission dialog is available to users with role ROLE_ADMIN. The dialog allows to assign users and groups to the individual resource.
-
-
-
-
-
diff --git a/website-v2/versioned_docs/version-0.67.0/05_deploy-use-ssl.md b/website-v2/versioned_docs/version-0.67.0/05_deploy-use-ssl.md
deleted file mode 100644
index f8c44a6..0000000
--- a/website-v2/versioned_docs/version-0.67.0/05_deploy-use-ssl.md
+++ /dev/null
@@ -1,36 +0,0 @@
----
-id: deploy-use-ssl
-title: Use SSL
-sidebar_label: Use SSL
-original_id: deploy-use-ssl
----
-
-This page explains how SSL Certificates can be used to provide transport layer security between your Browser and the Streampipes Backend.
-
-## Prerequisites
-You need a valid Certificate consisting of a Private and a Public Key. Both Keys must be in PEM Format. Please note that your Private Key should never be shared, otherwise the communication can not be considered secure.
-
-## Edit docker-compose.yml
-In order to use SSL you have to open port 443 on the nginx Service. Incoming insecure Traffic on Port 80 will be automatically rerouted to Port 443.
-
-The Environment-Variable NGINX_SSL must be set to "true".
-
-Finally you have to inject the Certificates into the Docker-Container. In the example below, the Certificates are placed in the directory /etc/ssl/private/ on the host machine. Please change the path according to the place where the Certificates are located on your machine. The path after the colon should not be changed!
-```yaml
-[...]
-  nginx:
-    image: apachestreampipes/ui
-    ports:
-      - "80:80"
-      - "443:443"
-    environment:
-      - NGINX_SSL=true
-    volumes:
-      - /etc/ssl/private/private.pem:/etc/nginx/ssl/ssl.pem
-      - /etc/ssl/private/public.pem:/etc/nginx/ssl/cert.pem
-    depends_on:
-      - backend
-    networks:
-      spnet:
-[...]
-```
diff --git a/website-v2/versioned_docs/version-0.67.0/06_extend-archetypes.md b/website-v2/versioned_docs/version-0.67.0/06_extend-archetypes.md
deleted file mode 100644
index 6d6d05a..0000000
--- a/website-v2/versioned_docs/version-0.67.0/06_extend-archetypes.md
+++ /dev/null
@@ -1,144 +0,0 @@
----
-id: extend-archetypes
-title: Maven Archetypes
-sidebar_label: Maven Archetypes
-original_id: extend-archetypes
----
-
-In this tutorial we explain how you can use the Maven archetypes to develop your own StreamPipes processors and sinks.
-We use IntelliJ in this tutorial, but it works with any IDE of your choice.
-
-## Prerequisites
-You need to have Maven installed, further you need an up and running StreamPipes installation on your development computer.
-To ease the configuration of environment variables, we use the IntelliJ [env Plugin](https://plugins.jetbrains.com/plugin/7861-envfile).
-Install this in IntelliJ. The development also works without the plugin, then you have to set the environment variables manually instead of using the env configuration file.
-
-## Create Project
-To create a new project, we provide multiple Maven Archteypes.
-Currently, we have archetypes for the JVM and Flink wrappers, each for processors and sinks.
-The commands required to create a new pipeline element project can be found below. Make sure that you select a version compatible with your StreamPipes installation.
-Copy the command into your terminal to create a new project.
-The project will be created in the current folder.
-First, the ``groupId`` of the resulting Maven artifact must be set.
-We use ``groupId``: ``org.example`` and ``artifactId``: ``ExampleProcessor``.
-You can keep the default values for the other settings, confirm them by hitting enter.
-Now, a new folder with the name ``ExampleProcessor`` is generated.
-
-The current {sp.version} is 0.67.0
-
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.apache.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-processors-jvm  \
-  -DarchetypeVersion={sp.version}
-```
-<details class="info">
-    <summary>Select: [Processors / Sinks] [JVM / Flink]</summary>
-
-## Processors JVM
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.apache.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-processors-jvm  \
-  -DarchetypeVersion={sp.version}
-```
-
-## Processors Flink
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.apache.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-processors-flink  \
-  -DarchetypeVersion={sp.version}
-```
-
-## Sinks JVM
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.apache.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-sinks-jvm  \
-  -DarchetypeVersion={sp.version}
-```
-
-## Sinks Flink
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.apache.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-sinks-flink  \
-  -DarchetypeVersion={sp.version}
-```
-</details>
-
-
-## Edit Processor
-Open the project in your IDE.
-If everything worked, the structure should look similar to the following image.
-The *config* package contains all the configuration parameters of your processors / sinks.
-In the *main* package, it is defined which processors / sinks you want to activate and the *pe.processor.example* package contains three classes with the application logic.
-For details, have a look at the other parts of the Developer Guide, where these classes are explained in more depth.
-
-<img src="/img/archetype/project_structure.png" width="30%" alt="Project Structure"/>
-
-Open the class *Example* and edit the ``onEvent`` method to print the incoming event, log it to the console and send it to the next component without changing it.
-
-```java
-@Override
-public void onEvent(Event event, SpOutputCollector collector) {
-    // Print the incoming event on the console
-    System.out.println(event);
-
-    // Hand the incoming event to the output collector without changing it.
-    collector.collect(event);
-}
-```
-
-## Start Processor
-Before the processor can be started, you need to edit the *env* file in the *development* folder.
-Replace all local hosts in this file with the IP address or DNS name of your computer.
-This is relevant to make the mapping between the services running in Docker and your component running in the local IDE.
-After all updates are updated, this file is used by the envfile plugin to provide configuration parameters to the pipeline element.
-Alternatively, environment variables can also be set on your host or IDE.
-Now start the project by clicking on **(Run -> Edit Configuration)**.
-Add a new configuration in the Configuration menu by clicking on the + sign and select **Application**.
-Name the configuration *ExampleProcessor* and select the *Init* class as the 'Main class'.
-Then set *ExampleProcessor* in 'Use classpath of module'.
-
-
-As the last step, switch to the tab *EnvFile* and load the env file.
-Click on 'Enable EnvFile' to activate it and add the just edited env file by clicking on the + sign.
-Save all the changes by clicking *Apply*.
-Now you can start the processor.
-
-<div class="my-carousel">
-    <img src="/img/archetype/run_configuration.png" alt="Configuration View"/>
-    <img src="/img/archetype/run_env_configuration.png" alt="Environment Configuration View"/>
-</div>
-
-To check if the service is up and running, open the browser on *'localhost:6666'*. The machine-readable description of the processor should be visible as shown below.
-
-<img src="/img/archetype/endpoint.png" width="90%" alt="Project Structure"/>
-
-
-<div class="admonition error">
-<div class="admonition-title">Common Problems</div>
-<p>
-If the service description is not shown on 'localhost:6666', you might have to change the port address.
-This needs to be done in the configuration of your service, further explained in the configurations part of the developer guide.
-
-If the service does not show up in the StreamPipes installation menu, click on 'MANAGE ENDPOINTS' and add 'http://<span></span>YOUR_IP_OR_DNS_NAME:6666'.
-Use the IP or DNS name you provided in the env file.
-After adding the endpoint, a new processor with the name *Example* should show up.
-</p>
-</div>
-
-Now you can go to StreamPipes.
-Your new processor *'Example'* should now show up in the installation menu.
-Install it, then switch to the pipeline view and create a simple pipeline that makes use of your newly created processor.
-In case you opened the StreamPipes installation for the first time, it should have been automatically installed during the setup process.
-
-<img src="/img/archetype/example_pipeline.png" width="80%" alt="Project Structure"/>
-
-Start this pipeline.
-Now you should see logging messages in your console and, once you've created a visualization, you can also see the resulting events of your component in StreamPipes.
-
-Congratulations, you have just created your first processor!
-From here on you can start experimenting and implement your own algorithms.
diff --git a/website-v2/versioned_docs/version-0.67.0/06_extend-cli.md b/website-v2/versioned_docs/version-0.67.0/06_extend-cli.md
deleted file mode 100644
index 9a2eda2..0000000
--- a/website-v2/versioned_docs/version-0.67.0/06_extend-cli.md
+++ /dev/null
@@ -1,187 +0,0 @@
----
-id: extend-cli
-title: StreamPipes CLI
-sidebar_label: StreamPipes CLI
-original_id: extend-cli
----
-
-The StreamPipes command-line interface (CLI) is focused on developers in order to provide an easy entrypoint to set up a suitable dev environment, either planning on developing
-
-* new extensions such as **connect adapters, processors, sinks** or,
-* new core features for **backend** and **ui**.
-
-## TL;DR
-
-```bash
-streampipes env --list
-[INFO] Available StreamPipes environment templates:
-pipeline-element
-...
-streampipes env --set pipeline-element
-streampipes up -d
-```
-> **NOTE**: use `./streampipes` if you haven't add it to the PATH and sourced it (see section "Run `streampipes` from anywhere?").
-
-## Prerequisites
-The CLI is basically a wrapper around multiple `docker` and `docker-compose` commands plus some additional sugar.
-
-* Docker >= 17.06.0
-* Docker-Compose >= 1.26.0 (Compose file format: 3.4)
-* Google Chrome (recommended), Mozilla Firefox, Microsoft Edge
-* For Windows Developer: GitBash only
-
-
-Tested on: **macOS**, **Linux**, **Windows***)
-
-> **NOTE**: *) If you're using Windows the CLI only works in combination with GitBash - CMD, PowerShell won't work.
-
-
-## CLI commands overview
-
-```
-StreamPipes CLI - Manage your StreamPipes environment with ease
-
-Usage: streampipes COMMAND [OPTIONS]
-
-Options:
-  --help, -h      show help
-  --version, -v   show version
-
-Commands:
-  clean       Remove StreamPipes data volumes, dangling images and network
-  down        Stop and remove StreamPipes containers
-  env         Inspect and select StreamPipes environments
-  info        Get information
-  logs        Get container logs for specific container
-  ps          List all StreamPipes container for running environment
-  pull        Download latest images from Dockerhub
-  restart     Restart StreamPipes environment
-  up          Create and start StreamPipes container environment
-
-Run 'streampipes COMMAND --help' for more info on a command.
-```
-
-## Usage: Along dev life-cycle
-
-**List** available environment templates.
-```bash
-streampipes env --list
-```
-
-**Inspect** services in an available environment to know what kind of services it is composed of.
-```bash
-streampipes env --inspect pipeline-element
-```
-
-**Set** environment, e.g. `pipeline-element`, if you want to write a new pipeline element.
-```bash
-streampipes env --set pipeline-element
-```
-
-**Start** environment ( default: `dev` mode). Here the service definition in the selected environment is used to start the multi-container landscape.
-> **NOTE**: `dev` mode is enabled by default since we rely on open ports to core service such as `consul`, `couchdb`, `kafka` etc. to reach from the IDE when developing. If you don't want to map ports (except the UI port), then use the `--no-ports` flag.
-
-```bash
-streampipes up -d
-# start in production mode with unmapped ports
-# streampipes up -d --no-ports
-```
-Now you're good to go to write your new pipeline element :tada: :tada: :tada:
-
-> **HINT for extensions**: Use our [Maven archetypes](https://streampipes.apache.org/docs/docs/dev-guide-archetype/) to setup a project skeleton and use your IDE of choice for development. However, we do recommend using IntelliJ.
-
-> **HINT for core**: To work on `backend` or `ui` features you need to set the template to `backend` and clone the core repository [incubator-streampipes](https://github.com/apache/incubator-streampipes) - check the prerequisites there for more information.
-
-**Stop** environment and remove docker container
-```bash
-streampipes down
-# want to also clean docker data volumes when stopping the environment?
-# streampipes down -v
-```
-
-## Additionally, useful commands
-
-**Start individual services only?** We got you! You chose a template that suits your needs and now you only want to start individual services from it, e.g. only Kafka and Consul.
-
-> **NOTE**: the service names need to be present and match your current `.spenv` environment.
-
-```bash
-streampipes up -d kafka consul
-```
-
-**Get current environment** (if previously set using `streampipes env --set <environment>`).
-```bash
-streampipes env
-```
-
-**Get logs** of specific service and use optional `--follow` flag to stay attached to the logs.
-```bash
-streampipes logs --follow backend
-```
-
-**Update** all services of current environment
-```bash
-streampipes pull
-```
-
-**Restart** all services of current environment or specific services
-```bash
-streampipes restart
-# restart backend & consul
-# streampipes restart backend consul
-```
-
-**Clean** your system and remove created StreamPipes Docker volumes, StreamPipes docker network and dangling StreamPipes images of old image layers.
-```bash
-streampipes clean
-# remove volumes, network and dangling images
-# streampipes clean --volumes
-```
-
-## Modify/Create an environment template
-As of now, this step has to be done **manually**. All environments are located in `environments/`.
-
-```bash
-├── adapter               # developing a new connect adapter
-├── backend               # developing core backend features
-├── basic                 # wanna run core, UI, connect etc from the IDE?
-├── full                  # full version containing more pipeline elements
-├── lite                  # few pipeline elements, less memory  
-├── pipeline-element      # developing new pipeline-elements
-└── ui                    # developing UI features
-```
-**Modifying an existing environment template**. To modify an existing template, you can simply add a `<YOUR_NEW_SERVICE>` to the template.
-> **NOTE**: You need to make sure, that the service your are adding exists in `deploy/standalone/service/<YOUR_NEW_SERVICE>`. If your're adding a completely new service take a look at existing ones, create a new service directory and include a `docker-compose.yml` and `docker-compose.dev.yml` file.
-
-```
-[environment:backend]
-activemq
-kafka
-...
-<YOUR_NEW_SERVICE>
-```
-
-**Creating a new** environment template. To create a new environment template, place a new file `environments/<YOUR_NEW_ENVIRONMENT>` in the template directory. Open the file and use the following schema.
-> **IMPORTANT**: Please make sure to have `[environment:<YOUR_NEW_ENVIRONMENT>]` header in the first line of your new template matching the name of the file. Make sure to use small caps letters (lowercase) only.
-
-```
-[environment:<YOUR_NEW_ENVIRONMENT>]
-<SERVICE_1>
-<SERVICE_2>
-...
-```
-
-## Run `streampipes` from anywhere? No problem
-Simply add the path to this cli directory to your `$PATH` (on macOS, Linux) variable, e.g. in your `.bashrc` or `.zshrc`, or `%PATH%` (on Windows).
-
-For **macOS**, or **Linux**:
-
-```bash
-export PATH="/path/to/incubator-streampipes-installer/cli:$PATH"
-```
-
-For **Windows 10**, e.g. check this [documentation](https://helpdeskgeek.com/windows-10/add-windows-path-environment-variable/).
-
-
-## Upgrade to new version
-To upgrade to a new version, simply edit the version tag `SP_VERSION` in the `.env` file.
diff --git a/website-v2/versioned_docs/version-0.67.0/06_extend-first-processor.md b/website-v2/versioned_docs/version-0.67.0/06_extend-first-processor.md
deleted file mode 100644
index aa00bbb..0000000
--- a/website-v2/versioned_docs/version-0.67.0/06_extend-first-processor.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-id: extend-first-processor
-title: Your first data processor
-sidebar_label: Your first data processor
-original_id: extend-first-processor
----
-
-In this section, we will explain how to start a pipeline element service and install it using the StreamPipes UI.
-
-Open the class *ExampleDataProcessor* and edit the ``onEvent`` method to print the incoming event, log it to the console and send it to the next component without changing it.
-
-```java
-@Override
-public void onEvent(Event event, SpOutputCollector collector) {
-    // Print the incoming event on the console
-    System.out.println(event);
-
-    // Hand the incoming event to the output collector without changing it.
-    collector.collect(event);
-}
-```
-
-## Start Processor
-Starting from StreamPipes 0.69.0, the IP address of an extensions service (processor, adapter or sink) will be auto-discovered upon start.
-The auto-discovery is done by the StreamPipes service discovery mechanism and should work for most setups.
-Once you start an extensions service, you will see the chosen IP in printed in the console. Make sure that this IP does not point to localhost (127.0.0.1).
-If you see such an IP or the extensions service complains that it cannot resolve the IP, you can manually set the IP address of the extensions service. You can do so by providing an <code>SP_HOST</code> environment variable.
-
-
-To check if the service is up and running, open the browser on *'localhost:8090'* (or the port defined in the service definition). The machine-readable description of the processor should be visible as shown below.
-
-<img src="/img/archetype/endpoint.png" width="90%" alt="Project Structure"/>
-
-
-<div class="admonition error">
-<div class="admonition-title">Common Problems</div>
-<p>
-If the service description is not shown on 'localhost:8090', you might have to change the port address.
-This needs to be done in the configuration of your service, further explained in the configurations part of the developer guide.
-
-If the service does not show up in the StreamPipes installation menu, click on 'MANAGE ENDPOINTS' and add 'http://<span></span>YOUR_IP_OR_DNS_NAME:8090'.
-Use the IP or DNS name you provided as the SP_HOST variable or the IP (if resolvable) found by the auto-discovery service printed in the console.
-After adding the endpoint, a new processor with the name *Example* should show up.
-</p>
-</div>
-
-Now you can go to StreamPipes.
-Your new processor *'Example'* should now show up in the installation menu ("Install Pipeline Elements" in the left navigation bar).
-Install it, then switch to the pipeline view and create a simple pipeline that makes use of your newly created processor.
-In case you opened the StreamPipes installation for the first time, it should have been automatically installed during the setup process.
-
-<img src="/img/archetype/example_pipeline.png" width="80%" alt="Project Structure"/>
-
-Start this pipeline.
-Now you should see logging messages in your console and, once you've created a visualization, you can also see the resulting events of your component in StreamPipes.
-
-Congratulations, you have just created your first processor!
-From here on you can start experimenting and implement your own algorithms.
diff --git a/website-v2/versioned_docs/version-0.67.0/06_extend-sdk-event-model.md b/website-v2/versioned_docs/version-0.67.0/06_extend-sdk-event-model.md
deleted file mode 100644
index 7158be3..0000000
--- a/website-v2/versioned_docs/version-0.67.0/06_extend-sdk-event-model.md
+++ /dev/null
@@ -1,142 +0,0 @@
----
-id: extend-sdk-event-model
-title: "SDK Guide: Event Model"
-sidebar_label: "SDK: Event Model"
-original_id: extend-sdk-event-model
----
-
-## Introduction
-
-The 0.61.0 release of StreamPipes introduces a new event model that replaces the ``Map`` representation of events at runtime. This guide explains the usage of the new event model to manipulate runtime events for data processors and data sink.
-
-## Reference
-
-This guide assumes that you are already familiar with the basic setup of [data processors](dev-guide-processor-sdk.md) and [data sinks](dev-guide-sink-sdk.md).
-
-### Property Selectors
-
-In most cases, fields that are subject to be transformed by pipeline elements are provided by the assigned ``MappingProperty`` (see the guide on [static properties](dev-guide-static-properties.md)).
-
-Mapping properties return a ``PropertySelector`` that identifies a field based on (i) the **streamIndex** and (ii) the runtime name of the field.
-Let's assume we have an event with the following structure:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "sensor1",
-    "running" : true,
-    "location" : {"latitude" : 34.4, "longitude" : -47},
-    "lastValues" : [45, 22, 21]
-}
-```
-
-In addition, we assume that a data processor exists (with one input node) that converts the temperature value (measured in degrees celsius) to a degree fahrenheit value.
-In this case, a mapping property (selected by the pipeline developer in the StreamPipes UI) would link to the ``temperature`` field of the event.
-
-The mapping property value will be the ``PropertySelector`` of the temperature value, which looks as follows:
-
-```
-s0::temperature
-```
-
-``s0`` identifies the stream (in this case, only one input streams exist, but as data processors might require more than one input stream, a stream identifier is required), while the appendix identifies the runtime name.
-
-Note: If you add a new field to an input event, you don't need to provide the selector, you can just assign the runtime name as defined by the [output strategy](dev-guide-output-strategies.md).
-
-### Reading Fields
-
-You can get a field from an event by providing the corresponding selector:
-
-```java
-
-@Override
-  public void onEvent(Event event, SpOutputCollector out) {
-
-  PrimitiveField temperatureField = event.getFieldBySelector(PROPERTY_SELECTOR).getAsPrimitive();
-  }
-
-```
-
-Similarly, if your mapping property links to a nested property, use
-
-```java
-
-@Override
-  public void onEvent(Event event, SpOutputCollector out) {
-
-  NestedField nestedField = event.getFieldBySelector(PROPERTY_SELECTOR).getAsNested();
-  }
-
-```
-
-and for a list-based field:
-
-```java
-
-@Override
-  public void onEvent(Event event, SpOutputCollector out) {
-
-  ListField listField = event.getFieldBySelector(PROPERTY_SELECTOR).getAsList();
-  }
-
-```
-
-### Parsing Fields
-
-#### Primitive Fields
-
-A ``PrimitiveField`` contains convenience methods to directly cast a field to the target datatype:
-
-```java
-
-// parse the value as a float datatype
-Float temperatureValue = event.getFieldBySelector(temperatureSelector).getAsPrimitive().getAsFloat();
-
-// or do the same with a double datatype
-Double temperatureValue = event.getFieldBySelector(temperatureSelector).getAsPrimitive().getAsDouble();
-
-// extracting a string
-String deviceId = event.getFieldBySelector(deviceIdSelector).getAsPrimitive().getAsString();
-
-// this also works for extracting fields from nested fields:
-Double latitude = event.getFieldBySelector(latitudeSelector).getAsPrimitive().getAsDouble();
-
-// extracting boolean values
-Boolean running = event.getFieldBySelector(runningSelector).getAsPrimitive().getAsBoolean();
-```
-
-In rare cases, you might want to receive a field directly based on the runtime name as follows:
-
-```java
-Double temperature = event.getFieldByRuntimeName("temperature").getAsPrimitive().getAsDouble();
-```
-
-#### List Fields
-
-Lists can also be retrieved by providing the corresponding selector and can automatically be parsed to a list of primitive datatypes:
-
-```java
-
-List<Integer> lastValues = event.getFieldBySelector(lastValueSelector).getAsList().parseAsSimpleType(Integer.class);
-
-```
-
-(coming soon: parsing complex lists)
-
-
-### Adding/Updating Fields
-
-Primitive fields can easily be added to an event by providing the runtime name and the object:
-
-```java
-
-    // add a primitive field with runtime name "city" and value "Karlsruhe"
-    event.addField("city", "Karlsruhe");
-
-    // remove the field "temperature" from the event
-    event.removeFieldBySelector(temperatureSelector);
-
-    // add a new field
-    event.addField("fahrenheit", 48);
-```
diff --git a/website-v2/versioned_docs/version-0.67.0/06_extend-sdk-migration-sd.md b/website-v2/versioned_docs/version-0.67.0/06_extend-sdk-migration-sd.md
deleted file mode 100644
index 054d11c..0000000
--- a/website-v2/versioned_docs/version-0.67.0/06_extend-sdk-migration-sd.md
+++ /dev/null
@@ -1,117 +0,0 @@
----
-id: extend-sdk-migration-service-discovery
-title: "Migration Guide: New Service Discovery in 0.69.0"
-sidebar_label: "Migration Guide: 0.69.0"
-original_id: extend-sdk-migration-service-discovery
----
-
-
-## Introduction
-As part of our roadmap towards a release 1.0, Apache StreamPipes 0.69.0 features a new service discovery approach along with performance improvements related to a new storage layer for pipeline element descriptions.
-
-The new service discovery approach is better suited for cloud-native scenarios, as the hostname of a pipeline element is now decoupled from its description. As such, StreamPipes now supports recovery of pipeline elements independent from their assigned host.
-In addition, the new approach simplifies development of StreamPipes, e.g., in cases where the core is running in Docker and pipeline elements are developed on a local machine. In this case, the IP of the host machine should now be auto-discovered so that provision of environement variables should now be obsolete in most cases.
-The second large improvement is related to the replacement of RDF4J as the storage engine with a NoSQL database. This leads to much faster load times (you will notice this especially at system startup).
-
-While we are heavily working towards a stable release 1.0, we decided to put our efforts into the remaining features required for 1.0 and do not provide an auto-migration related to some breaking changes.
-Therefore, we recommend to reinstall StreamPipes when updating to 0.69.0. We currently plan to have at most two more releases before releasing the first 1.x version of StreamPipes.
-
-## Installation
-* Before upgrading to 0.69.0, clean any existing installation (e.g., by running ``docker-compose down -v``) and make sure that no volumes of StreamPipes are left.
-* Upgrade to the latest installer version (can be found at [streampipes/installer](https://github.com/apache/streampipes/tree/dev/installer))
-* Upon restart, make sure that the setup dialog appears (make sure that the new StreamPipes logo appears) and re-initialize the system.
-
-## SDK changes
-
-0.69.0 comes with a new ``ServiceDefinitionBuilder`` for pipelines, which simplifies the definition of a pipeline element. 
-
-The ServiceDefinitionBuilder requires an ID of your extensions service, an optional title and description and a default port.
-It is best to provide 8090 as the default port, so that this will be the standard port of all StreamPipes extensions services at deployment time in a containerized environment.
-The port port can always be overriden by providing an ``SP_PORT`` environment variable.
-
-### Init class
-
-Modify the Init class of your pipeline element service as follows:
-
-```java
-public class ExamplesInit extends StandaloneModelSubmitter {
-
-  public static void main(String[] args) {
-    new ExamplesInit().init();
-  }
-
-  @Override
-  public SpServiceDefinition provideServiceDefinition() {
-    return SpServiceDefinitionBuilder.create("org.apache.streampipes.processors.examples.jvm",
-            "StreamPipes Code Examples",
-            "",
-            8090)
-            .registerMessagingProtocols(new SpKafkaProtocolFactory(), new SpJmsProtocolFactory())
-            .registerMessagingFormats(new JsonDataFormatFactory())
-            .registerPipelineElement(new MyPipelineElementController())
-            .registerAdapter(new MyAdapter())
-            .build();
-  }
-}
-```
-
-You can now easily define a StreamPipes extensions service that supports both custom adapters and pipeline elements by using the following Maven dependency:
-This is optional and no changes to your existing Maven dependencies (except the version, e.g., 0.69.0-SNAPSHOT) are required.
-
-```maven
-<dependency>
-    <groupId>org.apache.streampipes</groupId>
-    <artifactId>streampipes-container-extensions</artifactId>
-</dependency>
-```
-
-
-### Configs
-Prior to version 0.69.0, additionally configs had to be provided in a separate ``Config`` class. This is now obsolete - configs can be directly provided within the builder class as follows:
-
-```java
-
- @Override
-  public SpServiceDefinition provideServiceDefinition() {
-    return SpServiceDefinitionBuilder.create("org.apache.streampipes.processors.examples.jvm",
-            "StreamPipes Code Examples",
-            "",
-            8090)
-            .registerPipelineElement(new MyPipelineElement())
-            .registerAdapter(new MyAdapter())
-            .addConfig("key", 1)
-            .addConfig("my-string-config", "myvalue")
-            .build();
-  }
-```
-
-Configs can be easily accessed from the ``EventProcessorRuntimeContext`` (or ``EventSinkRuntimeContext``):
-
-```java
-@Override
-  public void onInvocation(Parameters params, 
-                            SpOutputCollector spOutputCollector, 
-                            EventProcessorRuntimeContext context) {
-  
-    Integer myConfigValue = context.getConfigStore().getConfig().getInteger("key");
-  }
-```
-
-
-### Service Discovery
-An extensions service can be started by executing the Init class. StreamPipes will now automatically select the proper service IP address and register the service in Consul.
-You can inspect the selected IP address in the console:
-
-```
-16:41:58.342 SP [main] INFO  o.a.s.commons.networking.Networking - Using auto-discovered IP: 172.30.80.1
-16:41:58.364 SP [main] INFO  o.a.s.commons.networking.Networking - Using port from provided environment variable SP_PORT: 6025
-16:41:58.367 SP [main] INFO  o.a.s.c.init.DeclarersSingleton - Registering 0 configs in key/value store
-16:41:58.400 SP [main] INFO  o.a.s.s.consul.ConsulProvider - Checking if consul is available...
-16:41:58.419 SP [main] INFO  o.a.s.s.consul.ConsulProvider - Successfully connected to Consul
-```
-
-In some (rare) cases, a non-resolvable IP will be selected. In this case, you can manually override the IP by providing a ``SP_HOST`` environment variable. This falls back to a similar behaviour as in pre-0.69.0-versions and will use the manually provided IP.
-
-
-
-
diff --git a/website-v2/versioned_docs/version-0.67.0/06_extend-sdk-output-strategies.md b/website-v2/versioned_docs/version-0.67.0/06_extend-sdk-output-strategies.md
deleted file mode 100644
index 8773fd6..0000000
--- a/website-v2/versioned_docs/version-0.67.0/06_extend-sdk-output-strategies.md
+++ /dev/null
@@ -1,349 +0,0 @@
----
-id: extend-sdk-output-strategies
-title: "SDK Guide: Output Strategies"
-sidebar_label: "SDK: Output Strategies"
-original_id: extend-sdk-output-strategies
----
-
-## Introduction
-In StreamPipes, output strategies determine the output of a data processor.
-As the exact input schema of a processor is usually not yet known at development time (as processors can be connected with any stream that matches their requirements), output strategies are a concept to define how an input data stream is transformed to an output data stream.
-
-The following reference describes how output strategies can be defined using the SDK.
-
-<div class="admonition tip">
-<div class="admonition-title">Code on Github</div>
-<p>For all examples, the code can be found on <a href="https://www.github.com/apache/incubator-streampipes-examples
-/tree/dev/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/apache/streampipes/pe/examples/jvm
-/outputstrategy/">Github</a>.</p>
-</div>
-
-## Reference
-
-The methods described below to create static properties are available in the ``ProcessingElementBuilder`` class and are usually used in the ``declareModel`` method of the controller class.
-
-As follows, we will use the following example event to explain how output strategies define the output of a data processor:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "1"
-
-}
-```
-
-### Keep Output
-
-A ``KeepOutputStrategy`` declares that the output event schema will be equal to the input event schema.
-In other terms, the processor does not change the schema, but might change the values of event properties.
-
-A keep output strategy can be defined as follows:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".keep", "Keep output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.anyProperty())
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // declaring a keep output strategy
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-
-```
-
-According to the example above, the expected output event schema of the example input event would be:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "1"
-
-}
-```
-
-Data processors that perform filter operations (e.g., filtering temperature values that are above a given threshold) are a common example for using keep output strategies.
-
-
-### Fixed Output
-
-A ``FixedOutputStrategy`` declares that the data processor itself provides the event schema. The output schema does not depend on the input event.
-
-Fixed output strategies need to provide the event schema they produce at development time:
-
-```java
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".fixed", "Fixed output example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.anyProperty())
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // the fixed output strategy provides the schema
-            .outputStrategy(OutputStrategies.fixed(EpProperties.timestampProperty("timestamp"),
-                    EpProperties.doubleEp(Labels.from("avg", "Average value", ""), "avg", SO.Number)))
-
-            .build();
-  }
-
-```
-
-In this example, we declare that the output schema always consists of two fields (``timestamp`` and ``avg``).
-
-Therefore, an output event should look like:
-
-```json
-{
-    "timestamp" : 1234556,
-    "avg" : 36.0
-}
-```
-
-
-### Append Output
-
-An ``AppendOutputStrategy`` appends additional fields to a schema of an incoming event stream. For instance, data processors that perform enrichment operations usually make use of append output strategies.
-
-Similar to the fixed output strategy, the additional fields must be provided at development time in the controller method as follows:
-
-```java
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".append", "Append output example", "")
-
-            // boilerplate code not relevant here, see above
-
-            // declaring an append output
-            .outputStrategy(OutputStrategies.append(EpProperties.integerEp(Labels.from("avg",
-                    "The average value", ""), "avg", SO.Number)))
-
-            .build();
-  }
-```
-
-In this case, the output event would have an additional field ``avg``:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "1",
-    "avg" : 123.0
-
-}
-```
-
-### Custom Output
-
-In some cases, pipeline developers using the StreamPipes UI should be able to manually select fields from an input event schema. For such use cases, a ``CustomOutputStrategy`` can be used:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".custom", "Custom output example", "")
-
-            // boilerplate code not relevant here, see above
-
-            // declaring a custom output
-            .outputStrategy(OutputStrategies.custom())
-
-            .build();
-  }
-
-```
-
-If a data processor defines a custom output strategy, the customization dialog in the pipeline editor will show a dialog to let users select the fields to keep:
-
-<img src="/img/dev-guide-output-strategies/os-custom.png" width="80%" alt="Number Parameter"/>
-
-Taking our example, and assuming that the user selects both the ``timestamp`` and the ``temperature`` the expected output event should look like this:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0
-}
-```
-
-How do we know which fields were selected once the data processor is invoked? Use the proper method from the extractor in the ``onInvocation`` method:
-
-```java
-@Override
-  public ConfiguredEventProcessor<DummyParameters> onInvocation(DataProcessorInvocation graph, ProcessingElementParameterExtractor extractor) {
-
-    List<String> outputSelectors = extractor.outputKeySelectors();
-
-    return new ConfiguredEventProcessor<>(new DummyParameters(graph), DummyEngine::new);
-  }
-```
-
-### Transform Output
-
-A ``TransformOutputStrategy`` declares that one or more fields of an incoming event stream are transformed. Transformations can be applied to the datatype of the property, the runtime name of the property, or any other scheam-related declaration such as measurement units.
-
-#### Static Transform Operations
-
-Static transform operations do not depend on any user input (at pipeline development time) in order to know how to transform a field of an incoming event schema.
-
-Let's say our data processor transforms strings (that are actually a number) to a number datatype. In this case, we can use a static transform output strategy:
-
-```java
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".transform", "Transform output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.stringReq(), Labels.from
-                            ("str", "The date property as a string", ""), PropertyScope.NONE)
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // static transform operation
-            .outputStrategy(OutputStrategies.transform(TransformOperations
-                    .staticDatatypeTransformation("str", Datatypes.Long)))
-
-            .build();
-  }
-
-```
-
-Note the mapping property that we use to determine which field of the input event should be transformed.
-
-The expected output event would look like this:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : 1
-}
-```
-
-#### Dynamic Transform Operations
-
-Sometimes, user input depends on the exact transform output. Let's take a field renaming processor as an example, which lets the user rename a field from an input event schema to another field name.
-For such use cases, we can use a ``DynamicTransformOperation``:
-
-```java
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".transform", "Transform output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.stringReq(), Labels.from
-                            ("str", "The date property as a string", ""), PropertyScope.NONE)
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // the text input to enter the new runtime name
-            .requiredTextparameter(Labels.from("new-runtime-name", "New Runtime Name", ""))
-
-            // static transform operation
-            .outputStrategy(OutputStrategies.transform(TransformOperations
-                    .dynamicRuntimeNameTransformation("str", "new-runtime-name")))
-
-            .build();
-  }
-
-```
-
-For dynamic transform operations, an additional identifier that links to another static property can be assigned and later be fetched in the ``onInvocation`` method.
-
-Assuming we want to rename the field ``temperature`` to ``temp``, the resulting output event should look like this:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temp" : 37.0,
-    "deviceId" : 1
-}
-```
-
-### Custom Transform Output
-
-Finally, in some cases the output schema cannot be described at pipeline development time. For these (usually rare) cases, a ``CustomTransformOutput`` strategy can be used.
-
-In this case, a callback function will be invoked in the controller class just after a user has filled in any static properties and clicks on ``Save`` in the pipeline editor.
-
-To define a custom transform output, we need to implement an interface in the controller class:
-
-```java
-public class CustomTransformOutputController extends
-        StandaloneEventProcessingDeclarer<DummyParameters> implements
-        ResolvesContainerProvidedOutputStrategy<DataProcessorInvocation, ProcessingElementParameterExtractor> {
-
-
-@Override
-  public EventSchema resolveOutputStrategy(DataProcessorInvocation processingElement, ProcessingElementParameterExtractor parameterExtractor) throws SpRuntimeException {
-
-  }
-}
-```
-
-In addition, the output strategy must be declared in the ``declareModel`` method:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".customtransform", "Custom transform output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.stringReq(), Labels.from
-                            ("str", "The date property as a string", ""), PropertyScope.NONE)
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // declare a custom transform output
-            .outputStrategy(OutputStrategies.customTransformation())
-
-            .build();
-  }
-
-```
-
-Once a new pipeline using this data processor is created and the configuration is saved, the ``resolveOutputStrategy`` method will be called, so that an event schema can be provided based on the given configuration. An extractor instance (see the guide on static properties) is available to extract the selected static properties and the connected event stream.
-
-```java
-@Override
-  public EventSchema resolveOutputStrategy(DataProcessorInvocation processingElement, ProcessingElementParameterExtractor parameterExtractor) throws SpRuntimeException {
-    return new EventSchema(Arrays
-            .asList(EpProperties
-                    .stringEp(Labels.from("runtime", "I was added at runtime", ""), "runtime", SO.Text)));
-  }
-```
-
-In this example, the output event schema should look like this:
-
-```json
-{
-    "runtime" : "Hello world!"
-}
-```
-
diff --git a/website-v2/versioned_docs/version-0.67.0/06_extend-sdk-static-properties.md b/website-v2/versioned_docs/version-0.67.0/06_extend-sdk-static-properties.md
deleted file mode 100644
index 978cc94..0000000
--- a/website-v2/versioned_docs/version-0.67.0/06_extend-sdk-static-properties.md
+++ /dev/null
@@ -1,267 +0,0 @@
----
-id: extend-sdk-static-properties
-title: "SDK Guide: Static Properties"
-sidebar_label: "SDK: Static Properties"
-original_id: extend-sdk-static-properties
----
-
-## Introduction
-Static properties represent user-faced parameters that are provided by pipeline developers.
-Processing elements can specify required static properties, which will render different UI views in the pipeline editor.
-
-The following reference describes how static properties can be defined using the SDK.
-
-<div class="admonition tip">
-<div class="admonition-title">Code on Github</div>
-<p>For all examples, the code can be found on <a href="https://github.com/apache/incubator-streampipes-examples/tree
-/dev/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/apache/streampipes/pe/examples/jvm
-/staticproperty">Github</a>.</p>
-</div>
-
-## Reference
-
-The methods described below to create static properties are available in the ``ProcessingElementBuilder`` and ``DataSinkBuilder`` classes and are usually used in the ``declareModel`` method of the controller class.
-
-### Mapping property
-
-In StreamPipes, processing elements usually operate on fields of an event stream. For instance, a filter processor operates on a specific field from an input stream (e.g., a field measuring the temperature).
-Typically, pipeline developers should select the exact field where the operations is applied upon by themselves.
-As this field is not yet known at pipeline element development time (as it is defined by the pipeline developer in the pipeline editor), mapping properties serve to map a stream requirement to a specific field from the actual input event stream.
-
-### Unary mapping property
-
-A unary mapping property maps a stream requirement to an actual field of an event stream. Therefore, the ``StreamRequirementsBuilder`` provides the opportunity to directly add a mapping property based along with a property requirement:
-
-```java
-.requiredStream(StreamRequirementsBuilder.
-    create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.numberReq(),
-            Labels.from("mp-key", "My Mapping", ""),
-            PropertyScope.NONE)
-    .build())
-```
-
-This leads to a selection dialog in the pipeline element customization which provides the user with a selection of all event properties (fields) from the input stream that match the specified property requirement:
-
-<img src="/img/dev-guide-static-properties/sp-mapping-unary.png" width="80%" alt="Text"/>
-
-At invocation time, the value can be extracted in the ``onInvocation`` method as follows:
-
-```java
-// Extract the mapping property value
-String mappingPropertySelector = extractor.mappingPropertyValue("mp-key");
-```
-
-Note that this method returns a ``PropertySelector``, which can be used by the event model to extract the actual value of this field.
-
-### N-ary mapping property
-
-N-ary mapping properties work similar to unary mapping properties, but allow the mapping of one requirement to multiple event properties matching the requirement:
-
-```java
-.requiredStream(StreamRequirementsBuilder.
-    create()
-    .requiredPropertyWithNaryMapping(EpRequirements.numberReq(),
-            Labels.from("mp-key", "My Mapping", ""),
-            PropertyScope.NONE)
-    .build())
-```
-
-This renders the following selection, where users can select more than one matching event property:
-
-<img src="/img/dev-guide-static-properties/sp-mapping-nary.png" width="80%" alt="Text"/>
-
-The following snippet returns a list containing the property selectors of all event properties that have been selected:
-
-```java
-// Extract the mapping property value
-List<String> mappingPropertySelectors = extractor.mappingPropertyValues("mp-key");
-```
-
-### Free-Text Parameters
-
-A free-text parameter requires the pipeline developer to enter a single value - which can be a string or another primitive data type.
-The input of free-text parameters can be restricted to specific value ranges or can be linked to the value set of a connected input data stream.
-
-#### Text Parameters
-
-A text parameter lets the user enter a string value. The following code line in the controller class
-
-```java
-.requiredTextParameter(Labels.from(SP_KEY, "Example Name", "Example Description"))
-```
-
-leads to the following input dialog in the pipeline editor:
-
-<img src="/img/dev-guide-static-properties/sp-text-parameter.png" width="80%" alt="Text"/>
-
-Users can enter any value that will be converted to a string datatype. To receive the entered value in the ``onInvocation`` method, use the following method from the ``ParameterExtractor``
-
-```java
-String textParameter = extractor.singleValueParameter(SP_KEY, String.class);
-```
-
-#### Number parameters
-
-A number parameter lets the user enter a number value, either a floating-point number or an integer:
-
-```java
-// create an integer parameter
-.requiredIntegerParameter(Labels.from(SP_KEY, "Integer Parameter", "Example Description"))
-
-// create a float parameter
-.requiredFloatParameter(Labels.from("float-key", "Float Parameter", "Example Description"))
-
-```
-
-leads to the following input dialog in the pipeline editor only accepting integer values:
-
-<img src="/img/dev-guide-static-properties/sp-number-parameter.png" width="80%" alt="Number Parameter"/>
-
-The pipeline editor performs type validation and ensures that only numbers can be added by the user. To receive the entered value in the ``onInvocation`` method, use the following method from the ``ParameterExtractor``
-
-```java
-// Extract the integer parameter value
-Integer integerParameter = extractor.singleValueParameter(SP_KEY, Integer.class);
-
-// Extract the float parameter value
-Float floatParameter = extractor.singleValueParameter("float-key", Float.class);
-
-```
-
-#### Numbers with value specification
-
-You can also specify the value range of a number-based free text parameter:
-
-```java
-// create an integer parameter with value range
-.requiredIntegerParameter(Labels.from(SP_KEY, "Integer Parameter", "Example Description"), 0, 100, 1)
-
-```
-
-which renders the following input field:
-
-<img src="/img/dev-guide-static-properties/sp-number-parameter-with-range.png" width="80%" alt="Number Parameter"/>
-
-Receive the entered value in the same way as a standard number parameter.
-
-#### Free-text parameters linked to an event property
-
-
-### Single-Value Selections
-
-Single-value selections let the user select from a pre-defined list of options.
-A single-value selection requires to select exactly one option.
-
-```java
-.requiredSingleValueSelection(Labels.from("id", "Example Name", "Example Description"),
-    Options.from("Option A", "Option B", "Option C"))
-
-```
-
-Single-value selections will be rendered as a set of radio buttons in the pipeline editor:
-
-<img src="/img/dev-guide-static-properties/sp-single-selection.png" width="80%" alt="Number Parameter"/>
-
-To extract the selected value, use the following method from the parameter extractor:
-
-```java
-// Extract the selected value
-String selectedSingleValue = extractor.selectedSingleValue("id", String.class);
-```
-
-<div class="admonition tip">
-<div class="admonition-title">Declaring options</div>
-<p>Sometimes, you may want to use an internal name that differs from the display name of an option.
-For that, you can use the method Options.from(Tuple2{'<'}String, String{'>'}) and the extractor method selectedSingleValueInternalName.</p>
-</div>
-
-
-
-### Multi-Value Selections
-
-Multi-value selections let the user select from a pre-defined list of options, where multiple or no option might be selected.
-
-```java
-.requiredMultiValueSelection(Labels.from("id", "Example Name", "Example Description"),
-    Options.from("Option A", "Option B", "Option C"))
-
-```
-
-Multi-value selections will be rendered as a set of checkboxes in the pipeline editor:
-
-<img src="/img/dev-guide-static-properties/sp-multi-selection.png" width="80%" alt="Number Parameter"/>
-
-To extract the selected value, use the following method from the parameter extractor:
-
-```java
-// Extract the selected value
-List<String> selectedMultiValue = extractor.selectedMultiValues("id", String.class);
-```
-
-### Domain Concepts
-
-(coming soon...)
-
-### Collections
-
-You can also define collections based on other static properties.
-
-```java
-// create a collection parameter
-.requiredParameterAsCollection(Labels.from("collection", "Example Name", "Example " +
-        "Description"), StaticProperties.stringFreeTextProperty(Labels
-        .from("text-property","Text","")))
-```
-
-While the items of the collection can be provided in the same way as the underlying static property, the UI provides buttons to add and remove items to the collections.
-
-<img src="/img/dev-guide-static-properties/sp-collection.png" width="80%" alt="Number Parameter"/>
-
-To extract the selected values from the collection, use the following method from the parameter extractor:
-
-```java
-// Extract the text parameter value
-List<String> textParameters = extractor.singleValueParameterFromCollection("collection", String.class);
-```
-
-### Runtime-resolvable selections
-
-In some cases, the options of selection parameters are not static, but depend on other values or might change at runtime. In this case, you can use runtime-resolvable selections.
-
-First, let your controller class implement ``ResolvesContainerProvidedOptions``:
-
-```java
-public class RuntimeResolvableSingleValue extends
-     StandaloneEventProcessingDeclarer<DummyParameters> implements ResolvesContainerProvidedOptions { ... }
-```
-
-Next, define the parameter in the ``declareModel`` method:
-
-```java
-// create a single value selection parameter that is resolved at runtime
-    .requiredSingleValueSelectionFromContainer(Labels.from("id", "Example Name", "Example " +
-            "Description"))
-```
-
-Finally, implement the method ``resolveOptions``, which will be called at runtime once the processor is used:
-
-```java
-  @Override
-  public List<RuntimeOptions> resolveOptions(String requestId, EventProperty linkedEventProperty) {
-    return Arrays.asList(new RuntimeOptions("I was defined at runtime", ""));
-  }
-```
-
-The UI will render a single-value parameter based on the options provided at runtime:
-
-<img src="/img/dev-guide-static-properties/sp-single-selection-remote.png" width="80%" alt="Number Parameter"/>
-
-The parameter extraction does not differ from the extraction of static single-value parameters.
-
-<div class="admonition info">
-<div class="admonition-title">Multi-value selections</div>
-<p>Although this example shows the usage of runtime-resolvable selections using single value selections, the same also works for multi-value selections!</p>
-</div>
-
-
diff --git a/website-v2/versioned_docs/version-0.67.0/06_extend-sdk-stream-requirements.md b/website-v2/versioned_docs/version-0.67.0/06_extend-sdk-stream-requirements.md
deleted file mode 100644
index ca2c724..0000000
--- a/website-v2/versioned_docs/version-0.67.0/06_extend-sdk-stream-requirements.md
+++ /dev/null
@@ -1,179 +0,0 @@
----
-id: extend-sdk-stream-requirements
-title: "SDK Guide: Stream Requirements"
-sidebar_label: "SDK: Stream Requirements"
-original_id: extend-sdk-stream-requirements
----
-
-## Introduction
-
-Data processors and data sinks can define ``StreamRequirements``. Stream requirements allow pipeline elements to express requirements on an incoming event stream that are needed for the element to work properly.
-Once users create pipelines in the StreamPipes Pipeline Editor, these requirements are verified against the connected event stream.
-By using this feature, StreamPipes ensures that only pipeline elements can be connected that are syntactically and semantically valid.
-
-This guide covers the creation of stream requirements. Before reading this section, we recommend that you make yourself familiar with the SDK guide on [data processors](dev-guide-processor-sdk.md) and [data sinks](dev-guide-sink-sdk.md).
-
-<div class="admonition tip">
-<div class="admonition-title">Code on Github</div>
-<p>For all examples, the code can be found on <a href="https://www.github.com/apache/incubator-streampipes-examples/tree/dev/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/apache/streampipes/pe/examples/jvm/requirements/">Github</a>.</p>
-</div>
-
-## The StreamRequirementsBuilder
-
-Stream requirements can be defined in the ``Controller`` class of the pipeline element. Start with a method body like this:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create(ID, PIPELINE_ELEMENT_NAME, DESCRIPTION)
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-
-                    .build())
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-The ``StreamRequirementsBuilder`` class provides methods to add stream requirements to a pipeline element.
-
-## Requirements on primitive fields
-
-As a very first example, let's assume we would like to create a data processor that filters numerical values that are above a given threshold.
-Consequently, any data stream that is connected to the filter processor needs to provide a numerical value.
-
-The stream requirement would be assigned as follows:
-
-```java
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create(ID, PIPELINE_ELEMENT_NAME, DESCRIPTION)
-            .requiredStream(StreamRequirementsBuilder
-                    .create()
-                    .requiredProperty(EpRequirements.numberReq())
-                    .build())
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-Note the line starting with ``requiredProperty``, which requires any stream to provide a datatype of type ``number``.
-
-In many cases, you'll want to let the user select a specific field from a data stream from all available fields that match the specified requirement. For that, you simply use the method ``requiredPropertyWithUnaryMapping`` as follows:
-
-```java
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create(ID, PIPELINE_ELEMENT_NAME, DESCRIPTION)
-            .requiredStream(StreamRequirementsBuilder
-                    .create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.numberReq(),
-                    Labels.from("number-mapping", "The value that should be filtered", ""), PropertyScope.NONE)
-                    .build())
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-See also the developer guide on [static properties](dev-guide-static-properties.md) to better understand the usage of ``MappingProperties``.
-
-Requirements on primitive fields can be specified for all common datatypes:
-
-```java
- @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.requirements" +
-            ".simple", "Simple requirements specification examples", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.numberReq()) // any number
-                    .requiredProperty(EpRequirements.doubleReq()) // any field of type double
-                    .requiredProperty(EpRequirements.booleanReq()) // any field of type boolean
-                    .requiredProperty(EpRequirements.integerReq()) // any field of type integer
-                    .requiredProperty(EpRequirements.stringReq()) // any field of type string
-
-                    .requiredProperty(EpRequirements.anyProperty()) // any field allowed (no restriction)
-                    .requiredProperty(EpRequirements.timestampReq())  // any timestamp field
-                    .build())
-
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-```
-
-### Specifying semantics
-
-For some algorithms, only specifying the datatype is not sufficient. Let's consider a geofencing algorithm that detects the precense some geospatial coordinate (e.g., from a vehicle) within a given location.
-
-You could specify something like this:
-
-```java
-    StreamRequirementsBuilder
-    .create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.doubleEp(), Labels.from("mapping-latitude", "Latitude", ""), PropertyScope.NONE)
-    .requiredPropertyWithUnaryMapping(EpRequirements.doubleEp(), Labels.from("mapping-longitude", "Longitude", ""), PropertyScope.NONE)
-    .build()
-```
-
-However, this would allow users to create strange pipelines as users could connect any stream containing a double value to our geofencing algorithm.
-To avoid such situations, you can also specify requirements based on the semantics of a field:
-
-```java
-    StreamRequirementsBuilder
-    .create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(SO.Latitude), Labels.from("mapping-latitude", "Latitude", ""), PropertyScope.NONE)
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(SO.Longitude), Labels.from("mapping-longitude", "Longitude", ""), PropertyScope.NONE)
-    .build()
-```
-
-Note that in this case, we make use of Schema.org's ``Latitude`` concept ([https://schema.org/latitude](https://schema.org/latitude)). StreamPipes already includes popular vocabularies for specifying semantics. You are also free to use your own vocabularies.
-
-
-## Requirements on lists
-
-Similarly to primitive requirements, you can define processors that require data streams with list fields, see the following examples:
-
-```java
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.requirements" +
-            ".list", "List requirements specification examples", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.Integer))
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.Double))
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.Boolean))
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.String))
-                    .build())
-
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-## Requirements on nested properties
-
-(coming soon, see the Javadoc for now)
-
-
-
diff --git a/website-v2/versioned_docs/version-0.67.0/06_extend-setup.md b/website-v2/versioned_docs/version-0.67.0/06_extend-setup.md
deleted file mode 100644
index 64c5ea6..0000000
--- a/website-v2/versioned_docs/version-0.67.0/06_extend-setup.md
+++ /dev/null
@@ -1,32 +0,0 @@
----
-id: extend-setup
-title: Development Setup
-sidebar_label: Development Setup
-original_id: extend-setup
----
-
-Pipeline elements in StreamPipes are provided as standalone microservices. New pipeline elements can be easily developed using the provided Maven archetypes and can be installed in StreamPipes at runtime.
-
-In this section, we describe our recommended minimum setup for locally setting up a development instance of StreamPipes needed to develop, run and test new pipeline elements.
-
-## IDE & required dev tools
-StreamPipes does not have specific requirements on the IDE - so feel free to choose the IDE of your choice.
-The only requirements in terms of development tools are that you have Java 8 and Maven installed.
-
-## StreamPipes CLI: Docker-based local StreamPipes instance
-In order to quickly test developed pipeline elements without needing to install all services required by StreamPipes, we provide a CLI tool that allows you to selectively start StreamPipes components.
-The CLI tool allows to switch to several templates (based on docker-compose) depending on the role. 
-
-The documentation on the usage of the CLI tool is available [here](06_extend-cli.md).
-## Starter projects
-
-Now, once you've started the development instance, you are ready to develop your very first pipeline element.
-Instead of starting from scratch, we recommend using our provided maven archetypes:
-
-### Maven archetypes
-
-Create the Maven archetype as described in the [Getting Started](06_extend-archetypes.md) guide.
-
-### Examples
-
-We provide several examples that explain the usage of some concepts in this [Github repo](https://github.com/apache/incubator-streampipes-examples). 
diff --git a/website-v2/versioned_docs/version-0.67.0/06_extend-tutorial-data-processors.md b/website-v2/versioned_docs/version-0.67.0/06_extend-tutorial-data-processors.md
deleted file mode 100644
index 87b9819..0000000
--- a/website-v2/versioned_docs/version-0.67.0/06_extend-tutorial-data-processors.md
+++ /dev/null
@@ -1,500 +0,0 @@
----
-id: extend-tutorial-data-processors
-title: "Tutorial: Data Processors"
-sidebar_label: "Tutorial: Data Processors"
-original_id: extend-tutorial-data-processors
----
-
-In this tutorial, we will add a new data processor using the Apache Flink wrapper.
-
-From an architectural point of view, we will create a self-contained service that includes the description of the data processor and a Flink-compatible implementation.
-Once a pipeline is started that uses this data processor, the implementation is submitted to an Apache Flink cluster.
-
-## Objective
-
-We are going to create a new data processor that realized a simple geofencing algorithm - we detect vehicles that enter a specified radius around a user-defined location.
-This pipeline element will be a generic element that works with any event stream that provides geospatial coordinates in form of a latitude/longitude pair.
-
-The algorithm outputs every location event once the position has entered the geofence.
-
-
-<div class="admonition note">
-<div class="admonition-title">Note</div>
-<p>The implementation in this tutorial is pretty simple - our processor will fire an event every time the GPS location is inside the geofence.
-       In a real-world application, you would probably want to define a pattern that recognizes the _first_ event a vehicle enters the geofence.<br/>
-       This can be easily done using a CEP library, e.g., Apache Flink CEP.</p>
-</div>
-
-
-## Project setup
-
-To create new projects from scratch, several Maven archetypes exist to start developing.
-Enter the following command to create a new project based ongit st the StreamPipes ``Processors-Flink`` archetype:
-
-```
-mvn archetype:generate -DarchetypeGroupId=org.apache.streampipes \
--DarchetypeArtifactId=streampipes-archetype-pe-processors-flink -DarchetypeVersion=0.67.0 \
--DgroupId=org.streampipes.tutorial -DartifactId=geofence-tutorial -DclassNamePrefix=Geofencing -DpackageName=geofencing
-```
-
-Once you've imported the generated project, the project structure should look as follows:
-
-<img src="/img/tutorial-processors/project-structure-processor.PNG" alt="Project Structure Data Processor"/>
-
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Besides the basic project skeleton, the sample project also includes an example Dockerfile you can use to package your application into a Docker container.</p>
-</div>
-
-Now you're ready to create your first data processor for StreamPipes!
-
-## Adding data processor requirements
-
-First, we will add a new stream requirement.
-Open the class `GeofencingController` which should look as follows:
-
-```java
-package org.streampipes.tutorial.pe.processor.geofencing;
-
-import org.streampipes.tutorial.config.Config;
-
-import org.streampipes.model.DataProcessorType;
-import org.streampipes.model.graph.DataProcessorDescription;
-import org.streampipes.model.graph.DataProcessorInvocation;
-import org.streampipes.sdk.builder.ProcessingElementBuilder;
-import org.streampipes.sdk.builder.StreamRequirementsBuilder;
-import org.streampipes.sdk.extractor.ProcessingElementParameterExtractor;
-import org.streampipes.sdk.helpers.EpRequirements;
-import org.streampipes.sdk.helpers.Labels;
-import org.streampipes.sdk.helpers.OutputStrategies;
-import org.streampipes.sdk.helpers.SupportedFormats;
-import org.streampipes.sdk.helpers.SupportedProtocols;
-import org.streampipes.wrapper.flink.FlinkDataProcessorDeclarer;
-import org.streampipes.wrapper.flink.FlinkDataProcessorRuntime;
-
-public class GeofencingController extends
-				FlinkDataProcessorDeclarer<GeofencingParameters> {
-
-	private static final String EXAMPLE_KEY = "example-key";
-
-	@Override
-	public DataProcessorDescription declareModel() {
-		return ProcessingElementBuilder.create("org.streampipes.tutorial-geofencing")
-						.category(DataProcessorType.ENRICH)
-                        .withAssets(Assets.DOCUMENTATION, Assets.ICON)
-						.withLocales(Locales.EN)
-						.requiredStream(StreamRequirementsBuilder
-							.create()
-							.requiredProperty(EpRequirements.anyProperty())
-							.build())
-						.outputStrategy(OutputStrategies.keep())
-						.requiredTextParameter(Labels.from(EXAMPLE_KEY, "Example Text Parameter", "Example " +
-				"Text Parameter Description"))
-						.build();
-	}
-
-	@Override
-	public FlinkDataProcessorRuntime<GeofencingParameters> getRuntime(DataProcessorInvocation
-				graph, ProcessingElementParameterExtractor extractor) {
-
-		String exampleString = extractor.singleValueParameter(EXAMPLE_KEY, String.class);
-
-		GeofencingParameters params = new GeofencingParameters(graph, exampleString);
-
-		return new GeofencingProgram(params, Config.INSTANCE.getDebug());
-	}
-
-}
-
-```
-
-In this class, we need to implement two methods: The `declareModel` method is used to define abstract stream requirements such as event properties that must be present in any input stream that is later connected to the element using the StreamPipes UI.
-The second method, `getRuntime` is used to create and deploy the parameterized Flink program once a pipeline using this element is started.
-
-Similar to data sources, the SDK provides a builder class to generate the description for data processors.
-Delete the content within the ``declareModel`` method and add the following lines to the `declareModel` method:
-
-```java
-return ProcessingElementBuilder.create("org.streampipes.tutorial.geofencing", "Geofencing", "A simple geofencing data processor " +
-            "using the Apache Flink wrapper")
-```
-
-This creates a new data processor with the ID, title and description assigned to the element builder.
-Next, we add some _stream requirements_ to the description. As we'd like to develop a generic pipeline element that works with any event that provides a lat/lng pair, we define two stream requirements as stated below:
-
-```java
-.requiredStream(StreamRequirementsBuilder
-    .create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lat),
-            Labels.from("latitude-field", "Latitude", "The event " +
-            "property containing the latitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lng),
-            Labels.from("longitude-field", "Longitude", "The event " +
-                    "property containing the longitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-    .build())
-```
-
-The first line, `.requiredStream()` defines that we want a data processor with exactly one input stream. Adding more stream requirements would create elements with multiple input connectors in StreamPipes.
-Stream requirements can be assigned by using the `StreamRequirementsBuilder` class.
-In our example, we define two requirements, so-called _domain property requirements_. In contrast to _data type requirements_ where we'd expect an event property with a field of a specific data type (e.g., float), domain property requirements expect a specific domain property, e.g., from a vocabulary such as the WGS84 Geo vocab.
-
-Once a pipeline is deployed, we are interested in the actual field (and its field name) that contains the latitude and longitude values.
-In some cases, there might me more than one field that satisfies a property requirement and we would like users to select the property the geofencing component should operate on.
-Therefore, our example uses the method `requiredPropertyWithUnaryMapping`, which will map a requirement to a real event property of an input stream and  let the user choose the appropriate field in the StreamPipes UI when pipelines are defined.
-
-Finally, the `PropertyScope` indicates that the required property is a measurement value (in contrast to a dimension value). This allows us later to provide improved user guidance in the pipeline editor.
-
-Besides requirements, users should be able to define the center coordinate of the Geofence and the size of the fence defined as a radius around the center in meters.
-The radius can be defined by adding a simple required text field to the description:
-
-```java
-.requiredIntegerParameter("radius", "Geofence Size", "The size of the circular geofence in meters.", 0, 1000, 1)
-```
-
-Similar to mapping properties, text parameters have an internalId (radius), a label and a description.
-In addition, we can assign a _value specification_ to the parameter indicating the value range we support.
-Our example supports a radius value between 0 and 1000 with a granularity of 1.
-In the StreamPipes UI, a required text parameter is rendered as a text input field, in case we provide an optional value specification, a slider input is automatically generated.
-
-Such user-defined parameters are called _static properties_. There are many different types of static properties (see the [Processor SDK](06_extend-sdk-static-properties.md) for an overview).
-
-One example are _DomainProperties_ we use for defining the center of the geofence.
-Our data processor requires a lat/lng pair that marks the center of the geofence.
-However, letting users directly input latitude and longitude coordinates wouldn't be very user-friendly.
-Therefore, we can link required text parameters to _ontology concepts_. By understanding the required input, the StreamPipes UI is able to determine which user interface works best for a specific concept.
-
-Add the following line to the `declareModel` method:
-
-```java
-.requiredOntologyConcept(Labels.from("location", "Geofence Center", "Provide the coordinate of the " +
-    "geofence center"), OntologyProperties.mandatory(Geo.lat), OntologyProperties.mandatory(Geo.lng))
-
-```
-
-We've now defined that we would like to receive an instance that provides a latitude and a longitude coordinate.
-Users can input these values either manually, or they can look up _domain knowledge_, i.e., knowledge stored isolated from the stream definition.
-
-Finally, we need to define technical requirements of the data processor, called _groundings_.
-StreamPipes supports various runtime data formats (e.g., JSON or Thrift) and various protocols (e.g., Kafka or JMS).
-Each component defines supports formats and protocol separately.
-For our example, we'd like to support JSON-based messages and Kafka as input and output broker protocol, so append the following:
-
-```java
-.supportedProtocols(SupportedProtocols.kafka())
-.supportedFormats(SupportedFormats.jsonFormat())
-.build();
-```
-
-Now we need to define the output of our Geofencing pipeline element.
-As explained in the first section, the element should fire every time some geo-located entity arrives within the defined geofence.
-Therefore, the processor outputs the same schema as it receives as an input.
-Although we don't know the exact input right now as it depends on the stream users connect in StreamPipes when creating pipelines, we can define an _output strategy_ as follows:
-
-```java
-.outputStrategy(OutputStrategies.keep())
-```
-
-This defines a _KeepOutputStrategy_, i.e., the input event schema is not modified by the processor.
-There are many more output strategies you can define depending on the functionality you desire, e.g., _AppendOutput_ for defining a processor that enriches events or _CustomOutput_ in case you would like users to select the output by themselves.
-
-That's it! We've now defined input requirements, required user input, technical requirements concerned with data format and protocol and an output strategy.
-In the next section, you will learn how to extract these parameters once the pipeline element is invoked after a pipeline was created.
-
-## Pipeline element invocation
-
-Once users start a pipeline that uses our geofencing component, the _getRuntime_ method in our class is called. The class `DataSinkInovcation` includes a graph that contains information on the configuration parameters a users has selected in the pipeline editor and information on the acutal streams that are connected to the pipeline element.
-
-Before we explain in more detail how to extract these values from the processor invocation, we need to adapt a little helper class.
-Open the file ```GeofencingParameters``` and modify it as follows:
-
-```java
-public class GeofencingParameters extends EventProcessorBindingParams {
-
-  private String latitudeFieldName;
-  private String longitudeFieldName;
-
-  private Float centerLatitude;
-  private Float centerLongitude;
-
-  private Integer radius;
-
-  public GeofencingParameters(DataProcessorInvocation graph, String latitudeFieldName, String longitudeFieldName,
-                              Float centerLatitude, Float centerLongitude, Integer radius) {
-    super(graph);
-    this.latitudeFieldName = latitudeFieldName;
-    this.longitudeFieldName = longitudeFieldName;
-    this.centerLatitude = centerLatitude;
-    this.centerLongitude = centerLongitude;
-    this.radius = radius;
-  }
-
-  public String getLatitudeFieldName() {
-    return latitudeFieldName;
-  }
-
-  public String getLongitudeFieldName() {
-    return longitudeFieldName;
-  }
-
-  public Float getCenterLatitude() {
-    return centerLatitude;
-  }
-
-  public Float getCenterLongitude() {
-    return centerLongitude;
-  }
-
-  public Integer getRadius() {
-    return radius;
-  }
-```
-
-This simple Pojo class will later serve to store user-defined parameters in a single object.
-
-Now we go back to the controller class and extract these values from the invocation object.
-
-The ``ProcessingElementParameterExtractor``  provides convenience methods to extract the relevant information from the `DataProcessorInvocation` object.
-
-Next, we are interested in the fields of the input event stream that contains the latitude and longitude value we would like to compute against the geofence center location as follows:
-
-```java
-String latitudeFieldName = extractor.mappingPropertyValue("latitude-field");
-String longitudeFieldName = extractor.mappingPropertyValue("longitude-field");
-```
-
-We use the same `internalId` we've used to define the mapping property requirements in the `declareModel` method.
-
-Next, for extracting the geofence center coordinates, we use the following statements:
-
-```java
-Float centerLatitude = extractor.supportedOntologyPropertyValue("location", Geo.lat, Float.class);
-Float centerLongitude = extractor.supportedOntologyPropertyValue("location", Geo.lng, Float.class);
-```
-
-The radius value can be extracted as follows:
-
-```java
-Integer radius = extractor.singleValueParameter("radius", Integer.class);
-```
-
-Now we can create a new instance of our previously created parameter class:
-
-```java
-GeofencingParameters params = new GeofencingParameters(dataProcessorInvocation, latitudeFieldName,
-            longitudeFieldName, centerLatitude, centerLongitude, radius);
-```
-
-Finally, return an instance of the class ```GeofencingProgram```:
-
-```java
-return new GeofencingProgram(params, true);
-```
-
-<div class="admonition tip">
-<div class="admonition-title">Info</div>
-<p>The line above uses the Flink MiniCluster to start the Flink program for debugging purposes.
-       Before you build the project and use it in a real environment, replace the line as follows, which triggers cluster execution:
-       <code>return new GeofencingProgram(params, new FlinkDeploymentConfig(Config.JAR_FILE, Config.INSTANCE.getFlinkHost(), Config.INSTANCE.getFlinkPort())</code></p>
-</div>
-
-
-Great! That's all we need to describe a data processor for usage in StreamPipes. Your controller class should look as follows:
-
-```java
-import org.streampipes.model.graph.DataProcessorDescription;
-import org.streampipes.model.graph.DataProcessorInvocation;
-import org.streampipes.model.schema.PropertyScope;
-import org.streampipes.sdk.builder.ProcessingElementBuilder;
-import org.streampipes.sdk.builder.StreamRequirementsBuilder;
-import org.streampipes.sdk.extractor.ProcessingElementParameterExtractor;
-import org.streampipes.sdk.helpers.EpRequirements;
-import org.streampipes.sdk.helpers.Labels;
-import org.streampipes.sdk.helpers.OntologyProperties;
-import org.streampipes.sdk.helpers.OutputStrategies;
-import org.streampipes.sdk.helpers.SupportedFormats;
-import org.streampipes.sdk.helpers.SupportedProtocols;
-import org.streampipes.vocabulary.Geo;
-import org.streampipes.wrapper.flink.FlinkDataProcessorDeclarer;
-import org.streampipes.wrapper.flink.FlinkDataProcessorRuntime;
-
-public class GeofencingController extends FlinkDataProcessorDeclarer<GeofencingParameters> {
-
-  @Override
-  protected FlinkDataProcessorRuntime<GeofencingParameters> getRuntime(DataProcessorInvocation dataProcessorInvocation) {
-    ProcessingElementParameterExtractor extractor = ProcessingElementParameterExtractor.from(dataProcessorInvocation);
-
-    String latitudeFieldName = extractor.mappingPropertyValue("latitude-field");
-    String longitudeFieldName = extractor.mappingPropertyValue("longitude-field");
-
-    Float centerLatitude = extractor.supportedOntologyPropertyValue("location", Geo.lat, Float.class);
-    Float centerLongitude = extractor.supportedOntologyPropertyValue("location", Geo.lng, Float.class);
-
-    Integer radius = extractor.singleValueParameter("radius", Integer.class);
-
-    GeofencingParameters params = new GeofencingParameters(dataProcessorInvocation, latitudeFieldName,
-            longitudeFieldName, centerLatitude, centerLongitude, radius);
-
-    return new GeofencingProgram(params);
-  }
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("geofencing-flink", "Geofencing", "A simple geofencing data processor " +
-            "using the Apache Flink wrapper")
-            .requiredStream(StreamRequirementsBuilder
-                    .create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lat),
-                            Labels.from("latitude-field", "Latitude", "The event " +
-                            "property containing the latitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-                    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lng),
-                            Labels.from("longitude-field", "Longitude", "The event " +
-                                    "property containing the longitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-                    .build())
-            .requiredIntegerParameter("radius", "Geofence Size", "The size of the circular geofence in meters.",
-                    0, 1000, 1)
-            .requiredOntologyConcept(Labels.from("location", "Geofence Center", "Provide the coordinate of the " +
-                    "geofence center"), OntologyProperties.mandatory(Geo.lat), OntologyProperties.mandatory(Geo.lng))
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-            .build();
-  }
-}
-
-```
-
-## Adding an implementation
-
-Everything we need to do now is to add an implementation which does not differ from writing an Apache Flink topology.
-
-Open the class `GeofencingProcessor.java` and add the following piece of code, which realizes the Geofencing functionality:
-
-```java
-public class GeofencingProcessor implements FlatMapFunction<Map<String, Object>, Map<String, Object>> {
-
-  private String latitudeFieldName;
-  private String longitudeFieldName;
-
-  private Float centerLatitude;
-  private Float centerLongitude;
-
-  private Integer radius;
-
-  public GeofencingProcessor(String latitudeFieldName, String longitudeFieldName, Float centerLatitude, Float centerLongitude, Integer radius) {
-    this.latitudeFieldName = latitudeFieldName;
-    this.longitudeFieldName = longitudeFieldName;
-    this.centerLatitude = centerLatitude;
-    this.centerLongitude = centerLongitude;
-    this.radius = radius;
-  }
-
-  @Override
-  public void flatMap(Event in, Collector<Event> out) throws Exception {
-    Float latitude = in.getFieldBySelector(latitudeFieldName).getAsPrimitive().getAsFloat();
-    Float longitude = in.getFieldBySelector(longitudeFieldName).getAsPrimitive().getAsFloat();
-
-    Float distance = distFrom(latitude, longitude, centerLatitude, centerLongitude);
-
-    if (distance <= radius) {
-      out.collect(in);
-    }
-  }
-
-  public static Float distFrom(float lat1, float lng1, float lat2, float lng2) {
-    double earthRadius = 6371000;
-    double dLat = Math.toRadians(lat2-lat1);
-    double dLng = Math.toRadians(lng2-lng1);
-    double a = Math.sin(dLat/2) * Math.sin(dLat/2) +
-            Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) *
-                    Math.sin(dLng/2) * Math.sin(dLng/2);
-    double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
-    return (float) (earthRadius * c);
-  }
-
-}
-```
-
-We won't go into details here as this isn't StreamPipes-related code, but in general the class extracts latitude and longitude fields from the input event (which is provided as a map data type) and calculates the distance between the geofence center and these coordinates.
-If the distance is below the given radius, the event is forwarded to the next operator.
-
-Finally, we need to connect this program to the Flink topology. StreamPipes automatically adds things like the Kafka consumer and producer, so that you only need to invoke the actual geofencing processor.
-Open the file `GeofencingProgram` and append the following line inside the `getApplicationLogic()` method:
-
-```java
-return dataStreams[0].flatMap(new GeofencingProcessor(params.getLatitudeFieldName(), params.getLongitudeFieldName(),
-    params.getCenterLatitude(), params.getCenterLongitude(), params.getRadius()));
-```
-
-## Preparing the container
-The final step is to define the deployment type of our new data source. In this tutorial, we will create a so-called `StandaloneModelSubmitter`.
-This client will start an embedded web server that provides the description of our data source and automatically submits the program to the registered Apache Flink cluster.
-
-Go to the class `Init` that extends `StandaloneModelSubmitter` and should look as follows:
-```java
-package org.streampipes.tutorial.main;
-
-import org.streampipes.container.init.DeclarersSingleton;
-import org.streampipes.container.standalone.init.StandaloneModelSubmitter;
-
-import org.streampipes.tutorial.config.Config;
-import org.streampipes.tutorial.pe.processor.geofencing.GeofencingController;
-
-public class Init extends StandaloneModelSubmitter {
-
-  public static void main(String[] args) throws Exception {
-    DeclarersSingleton.getInstance()
-            .add(new GeofencingController());
-
-    new Init().init(Config.INSTANCE);
-
-  }
-}
-```
-
-<div class="admonition info">
-<div class="admonition-title">Info</div>
-<p>In the example above, we make use of a class `Config`.
-       This class contains both mandatory and additional configuration parameters required by a pipeline element container.
-       These values are stored in the Consul-based key-value store of your StreamPipes installation.
-       The SDK guide contains a detailed manual on managing container configurations.
-</p>
-</div>
-
-## Starting the container
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>By default, the container registers itself using the hostname later used by the Docker container, leading to a 404 error when you try to access an RDF description.
-       For local development, we provide an environment file in the ``development`` folder. You can add your hostname here, which will override settings from the Config class.
-       For instance, use the IntelliJ ``EnvFile`` plugin to automatically provide the environment variables upon start.
-</p>
-</div>
-
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p> The default port of all pipeline element containers as defined in the `Config` file is port 8090.
-       If you'd like to run mutliple containers at the same time on your development machine, change the port in the environment file.
-</p>
-</div>
-
-Now we are ready to start our container!
-
-Execute the main method in the class `Main` we've just created, open a web browser and navigate to http://localhost:8090 (or the port you have assigned in the environment file).
-
-You should see something as follows:
-
-<img src="/img/tutorial-processors/pe-overview-flink.PNG" alt="Pipeline Element Container Overview (Flink)"/>
-
-Click on the link of the data source to see the RDF description of the pipeline element.
-
-<img src="/img/tutorial-processors/pe-rdf-geofencing.PNG" alt="Geofencing RDF description"/>
-
-The container automatically registers itself in the Consul installation of StreamPipes.
-To install the just created element, open the StreamPipes UI and follow the manual provided in the [user guide](03_use-install-pipeline-elements.md).
-
-## Read more
-
-Congratulations! You've just created your first data processor for StreamPipes.
-There are many more things to explore and data processors can be defined in much more detail using multiple wrappers.
-Follow our [SDK guide](06_extend-sdk-static-properties.md) to see what's possible!
diff --git a/website-v2/versioned_docs/version-0.67.0/06_extend-tutorial-data-sinks.md b/website-v2/versioned_docs/version-0.67.0/06_extend-tutorial-data-sinks.md
deleted file mode 100644
index 0b19da5..0000000
--- a/website-v2/versioned_docs/version-0.67.0/06_extend-tutorial-data-sinks.md
+++ /dev/null
@@ -1,247 +0,0 @@
----
-id: extend-tutorial-data-sinks
-title: "Tutorial: Data Sinks"
-sidebar_label: "Tutorial: Data Sinks"
-original_id: extend-tutorial-data-sinks
----
-
-In this tutorial, we will add a new data sink using the standalone wrapper.
-
-From an architectural point of view, we will create a self-contained service that includes the description of the data sink and a corresponding implementation.
-
-## Objective
-
-We are going to create a new data sink that calls an external HTTP endpoint to forward data to an external service.
-
-For each incoming event, an external service is invoked using an HTTP POST request. In this example, we'll call an endpoint provided by [RequestBin](https://requestbin.com/).
-To setup your own endpoint, go to [https://requestbin.com/](https://requestbin.com/) and click "Create a request bin". Copy the URL of the newly created endpoint.
-
-
-## Project setup
-
-We'll create a new project using the provided sinks-standalone-jvm Maven archetype.
-Enter the following command to create a new project based on the StreamPipes ``Sinks-JVM`` archetype:
-
-```
-mvn archetype:generate -DarchetypeGroupId=org.streampipes \
--DarchetypeArtifactId=streampipes-archetype-pe-sinks-jvm -DarchetypeVersion=0.67.0 \
--DgroupId=org.streampipes.tutorial -DartifactId=sink-tutorial -DclassNamePrefix=Rest -DpackageName=geofencing
-```
-
-Once you've imported the generated project, the project structure should look as follows:
-
-<img src="/img/tutorial-sinks/project-structure-sinks.png" alt="Project Structure Data Sink"/>
-
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Besides the basic project skeleton, the sample project also includes an example Dockerfile you can use to package your application into a Docker container.</p>
-</div>
-
-Now you're ready to create your first data sink for StreamPipes!
-
-## Adding data sink requirements
-
-First, we will add a new stream requirement.
-Open the class `RestController` which should look as follows:
-
-```java
-package org.streampipes.tutorial.pe.sink.rest;
-
-import org.streampipes.model.DataSinkType;
-import org.streampipes.model.graph.DataSinkDescription;
-import org.streampipes.model.graph.DataSinkInvocation;
-import org.streampipes.sdk.builder.DataSinkBuilder;
-import org.streampipes.sdk.builder.StreamRequirementsBuilder;
-import org.streampipes.sdk.extractor.DataSinkParameterExtractor;
-import org.streampipes.sdk.helpers.EpRequirements;
-import org.streampipes.sdk.helpers.Labels;
-import org.streampipes.sdk.helpers.SupportedFormats;
-import org.streampipes.sdk.helpers.SupportedProtocols;
-import org.streampipes.wrapper.standalone.ConfiguredEventSink;
-import org.streampipes.wrapper.standalone.declarer.StandaloneEventSinkDeclarer;
-import org.streampipes.sdk.helpers.*;
-import org.streampipes.sdk.utils.Assets;
-
-public class RestController extends StandaloneEventSinkDeclarer<RestParameters> {
-
-	private static final String EXAMPLE_KEY = "example-key";
-
-	@Override
-	public DataSinkDescription declareModel() {
-		return DataSinkBuilder.create("org.streampipes.tutorial.pe.sink.rest")
-						.category(DataSinkType.NOTIFICATION)
-						.withAssets(Assets.DOCUMENTATION, Assets.ICON)
-						.withLocales(Locales.EN)
-						.requiredStream(StreamRequirementsBuilder
-                                            .create()
-                                            .requiredPropertyWithNaryMapping(EpRequirements.anyProperty(), Labels.withId(
-                                                    "fields-to-send"), PropertyScope.NONE)
-                                            .build())
-						.build();
-	}
-
-	@Override
-	public ConfiguredEventSink<RestParameters> onInvocation(DataSinkInvocation graph, DataSinkParameterExtractor extractor) {
-
-		 List<String> fieldsToSend = extractor.mappingPropertyValues("fields-to-send");
-        
-         RestParameters params = new RestParameters(graph, fieldsToSend);
-
-		return new ConfiguredEventSink<>(params, Rest::new);
-	}
-
-}
-
-```
-
-In this class, we need to implement two methods: The `declareModel` method is used to define abstract stream requirements such as event properties that must be present in any input stream that is later connected to the element using the StreamPipes UI.
-The second method, `onInvocation` is used to create and deploy program once a pipeline using this sink is started.
-
-The ``declareModel`` method describes the properties of our data sink:
-* ``category`` defines a category for this sink.
-* ``withAssets`` denotes that we will provide an external documentation file and an icon, which can be found in the ``resources`` folder
-* ``withLocales`` defines that we will provide an external language file, also available in the ``resources`` folder
-* ``requiredStream`` defines requirements any input stream connected to this sink must provide. In this case, we do not have any specific requirements, we just forward all incoming events to the REST sink. However, we want to let the user display a list of available fields from the connected input event, where users can select a subset. This is defined by defining a Mapping from the empty requirement. This will later on render a selection dialog in the pipeline editor.
-
-The ``onInvocation`` method is called when a pipeline containing the sink is started. Once a pipeline is started, we would like to extract user-defined parameters.
-In this example, we simply extract the fields selected by users that should be forwarded to the REST sink. Finally, we return a new configured event sink containing the parameters.
-
-## Pipeline element invocation
-
-Once users start a pipeline that uses our geofencing component, the _getRuntime_ method in our class is called. The class `DataSinkInovcation` includes a graph that contains information on the configuration parameters a users has selected in the pipeline editor and information on the acutal streams that are connected to the pipeline element.
-
-Before we explain in more detail how to extract these values from the processor invocation, we need to adapt a little helper class.
-Open the file ```RestParameters``` and modify it as follows:
-
-```java
-public class RestParameters extends EventSinkBindingParams {
-
-  private List<String> fieldsToSend;
-
-  public RestParameters(DataSinkInvocation graph, List<String> fieldsToSend) {
-    super(graph);
-    this.fieldsToSend = fieldsToSend;
-  }
-
-  public List<String> getFieldsToSend() {
-    return fieldsToSend;
-  }
-}
-```
-
-This file will later provide information on the configured pipeline element.
-
-## Adding an implementation
-
-Now open the class ``Rest`` to add the proper implementation (i.e., the Rest call executed for every incoming event).
-
-Our final class should look as follows:
-
-```java
-private static Logger LOG = LoggerFactory.getLogger(Rest.class.getCanonicalName());
-
-  private static final String REST_ENDPOINT_URI = YOUR_REQUEST_BIN_URL;
-  private List<String> fieldsToSend;
-  private SpDataFormatDefinition dataFormatDefinition;
-
-  public Rest() {
-    this.dataFormatDefinition = new JsonDataFormatDefinition();
-  }
-
-  @Override
-  public void onInvocation(RestParameters parameters, EventSinkRuntimeContext runtimeContext) {
-    this.fieldsToSend = parameters.getFieldsToSend();
-  }
-
-  @Override
-  public void onEvent(Event event) {
-    Map<String, Object> outEventMap = event.getSubset(fieldsToSend).getRaw();
-    try {
-      String json = new String(dataFormatDefinition.fromMap(outEventMap));
-      Request.Post(REST_ENDPOINT_URI).body(new StringEntity(json, Charsets.UTF_8)).execute();
-    } catch (SpRuntimeException e) {
-      LOG.error("Could not parse incoming event");
-    } catch (IOException e) {
-      LOG.error("Could not reach endpoint at {}", REST_ENDPOINT_URI);
-    }
-  }
-
-  @Override
-  public void onDetach() {
-
-  }
-```
-The only class variable you need to change right now is the REST_ENDPOINT_URL. Change this url to the URL provided by your request bin.
-We'll ignore the other class variables and the constructor for now. Important are three methods, ``onInvocation``, ``onEvent`` and ``onDetach``.
-
-The ``onInvocation`` method is called once a pipeline containing our REST data sink is started. The ``onEvent`` method is called for each incoming event. Finally, ``onDetach`` is called when a pipeline is stopped.
-
-In the ``onInvocation`` method, we can extract the selected fields to be forwarded to the REST endpoint.
-In the ``ònEvent`` method, we use a helper method to get a subset of the incoming event.
-Finally, we convert the resulting ``Map`` to a JSON string and call the endpoint.
-
-
-## Preparing the container
-The final step is to define the deployment type of our new data source. In this tutorial, we will create a so-called `StandaloneModelSubmitter`.
-This client will start an embedded web server that provides the description of our data source and automatically starts the program in an embedded container.
-
-Go to the class `Init` that extends `StandaloneModelSubmitter` and should look as follows:
-```java
-
-public static void main(String[] args) throws Exception {
-    DeclarersSingleton.getInstance()
-            .add(new RestController());
-
-    DeclarersSingleton.getInstance().setPort(Config.INSTANCE.getPort());
-    DeclarersSingleton.getInstance().setHostName(Config.INSTANCE.getHost());
-
-    DeclarersSingleton.getInstance().registerDataFormats(new JsonDataFormatFactory(),
-            new CborDataFormatFactory(),
-            new SmileDataFormatFactory(),
-            new FstDataFormatFactory());
-
-    DeclarersSingleton.getInstance().registerProtocols(new SpKafkaProtocolFactory(),
-            new SpJmsProtocolFactory());
-
-    new Init().init(Config.INSTANCE);
-```
-
-<div class="admonition info">
-<div class="admonition-title">Info</div>
-<p>In the example above, we make use of a class `Config`.
-       This class contains both mandatory and additional configuration parameters required by a pipeline element container.
-       These values are stored in the Consul-based key-value store of your StreamPipes installation.
-       The SDK guide contains a detailed manual on managing container configurations.
-</p>
-</div>
-
-## Starting the container
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>By default, the container registers itself using the hostname later used by the Docker container, leading to a 404 error when you try to access an RDF description.
-       For local development, we provide an environment file in the ``development`` folder. You can add your hostname here, which will override settings from the Config class.
-       For instance, use the IntelliJ ``EnvFile`` plugin to automatically provide the environment variables upon start.
-</p>
-</div>
-
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p> The default port of all pipeline element containers as defined in the `Config` file is port 8090.
-       If you'd like to run mutliple containers at the same time on your development machine, change the port in the environment file.
-</p>
-</div>
-
-Now we are ready to start our container!
-
-Execute the main method in the class `Main` we've just created.
-
-The container automatically registers itself in the Consul installation of StreamPipes.
-To install the just created element, open the StreamPipes UI and follow the manual provided in the [user guide](03_use-install-pipeline-elements.md).
-
-## Read more
-
-Congratulations! You've just created your first data sink for StreamPipes.
-There are many more things to explore and data sinks can be defined in much more detail using multiple wrappers.
-Follow our [SDK guide](06_extend-sdk-static-properties.md) to see what's possible!
diff --git a/website-v2/versioned_docs/version-0.67.0/06_extend-tutorial-data-sources.md b/website-v2/versioned_docs/version-0.67.0/06_extend-tutorial-data-sources.md
deleted file mode 100644
index a4b6854..0000000
--- a/website-v2/versioned_docs/version-0.67.0/06_extend-tutorial-data-sources.md
+++ /dev/null
@@ -1,282 +0,0 @@
----
-id: extend-tutorial-data-sources
-title: "Tutorial: Data Sources"
-sidebar_label: "Tutorial: Data Sources"
-original_id: extend-tutorial-data-sources
----
-
-In this tutorial, we will add a new data source consisting of a single data stream. The source will be provided as a standalone component (i.e., the description will be accessible through an integrated web server).
-
-## Objective
-
-We are going to create a new data stream that is produced by a GPS sensor installed in a delivery vehicle.
-The sensor produces a continuous stream of events that contain the current timestamp, the current lat/lng position of the vehicle and the plate number of the vehicle.
-Events are published in a JSON format as follows:
-```json
-{
-  "timestamp" : 145838399,
-  "latitude" : 37.04,
-  "longitude" : 17.04,
-  "plateNumber" : "KA-AB 123"
-}
-```
-
-These events are published to a Kafka broker using the topic `org.streampipes.tutorial.vehicle`.
-
-In the following section, we show how to describe this stream in a form that allows you to import and use it in StreamPipes.
-
-## Project setup
-
-Instead of creating a new project from scratch, we recommend to use the Maven archetype to create a new project skeleton.
-Enter the following command in a command line of your choice (Apache Maven needs to be installed):
-
-```
-mvn archetype:generate \
--DarchetypeGroupId=org.apache.streampipes -DarchetypeArtifactId=streampipes-archetype-pe-sources \
--DarchetypeVersion=0.67.0 -DgroupId=my.groupId \
--DartifactId=my-source -DclassNamePrefix=MySource -DpackageName=mypackagename
-```
-
-Configure the variables ``artifactId`` (which will be the Maven artifactId), ``classNamePrefix`` (which will be the class name of your data stream) and ``packageName``.
-
-For this tutorial, use ``Vehicle`` as ``classNamePrefix``.
-
-Your project will look as follows:
-
-<img src="/img/tutorial-sources/project-structure.PNG" alt="Project Structure"/>
-
-That's it, go to the next section to learn how to create your first data stream!
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Besides the basic project skeleton, the sample project also includes an example Dockerfile you can use to package your application into a Docker container.
-</p>
-</div>
-
-## Adding a data stream description
-
-Now we will add a new data stream definition.
-First, open the class `VehicleStream` which should look as follows:
-
-```java
-
-package my.groupId.pe.mypackagename;
-
-import org.streampipes.model.SpDataStream;
-import org.streampipes.model.graph.DataSourceDescription;
-import org.streampipes.sdk.builder.DataStreamBuilder;
-import org.streampipes.sdk.helpers.EpProperties;
-import org.streampipes.sdk.helpers.Formats;
-import org.streampipes.sdk.helpers.Protocols;
-import org.streampipes.sources.AbstractAdapterIncludedStream;
-
-
-public class MySourceStream extends AbstractAdapterIncludedStream {
-
-  @Override
-  public SpDataStream declareModel(DataSourceDescription sep) {
-    return DataStreamBuilder.create("my.groupId-mypackagename", "MySource", "")
-            .property(EpProperties.timestampProperty("timestamp"))
-
-            // configure your stream here
-
-            .format(Formats.jsonFormat())
-            .protocol(Protocols.kafka("localhost", 9092, "TOPIC_SHOULD_BE_CHANGED"))
-            .build();
-  }
-
-  @Override
-  public void executeStream() {
-
-  }
-}
-```
-
-This class extends the class ``AbstractAdapterIncludedStream``, which indicates that this source continuously produces data (configured in the ``executeStream()`` method.
-In contrast, the class `AbstractAlreadyExistingStream` indicates that we only want to describe an already existing stream (e.g., a stream that already sends data to an existing Kafka broker).
-
-Next, we will add the definition of the data stream. Add the following code inside of the `declareModel` method:
-```java
-return DataStreamBuilder.create("org.streampipes.tutorial.vehicle.position", "Vehicle Position", "An event stream " +
-          "that produces current vehicle positions")
-```
-
-This line creates a new instance of the SDK's `DataStreamBuilder` by providing three basic parameters:
-The first parameter must be a unique identifier of your data stream.
-The second and third parameters indicate a label and a description of your stream.
-These values will later be used in the StreamPipes UI to display stream details in a human-readable manner.
-
-Next, we will add the properties as stated above to the stream definition by adding the following lines:
-```java
-.property(EpProperties.timestampProperty("timestamp"))
-.property(EpProperties.stringEp(Labels.from("plate-number", "Plate Number", "Denotes the plate number of the vehicle"), "plateNumber", "http://my.company/plateNumber"))
-.property(EpProperties.doubleEp(Labels.from("latitude", "Latitude", "Denotes the latitude value of the vehicle's position"), "latitude", Geo.lat))
-.property(EpProperties.doubleEp(Labels.from("longitude", "Longitude", "Denotes the longitude value of the vehicle's position"), "longitude", Geo.lng))
-```
-These four _event properties_ compose our _event schema_. An event property must, at least, provide the following attributes:
-
-* **Runtime Name**. The runtime name indicates the key of the property at runtime, e.g., if our JSON message contains a structure such as `{"plateNumber" : "KA-F 123"}`, the runtime name must be `plateNumber`.
-* **Runtime Type**. An event property must have a primitive type (we will later see how to model more complex properties such as lists and nested properties).
-  The type must be an instance of `XMLSchema` primitives, however, the SDK provides convenience methods to provide the property type.
-* **Domain Property**. The domain property indicates the semantics of the event property. For instance, the `latitude` property is linked to the `http://www.w3.org/2003/01/geo/wgs84_pos#lat` property of the WGS84 vocabulary.
-  The domain property should be an URI as part of an existing or domain-specific vocabulary. The SDK provides convenience methods for popuplar vocabularies (e.g., Schema.org, Dolce or WGS84).
-
-In order to complete the minimum required specification of an event stream, we need to provide information on the transport format and protocol of the data stream at runtime.
-
-This can be achieved by extending the builder with the respective properties (which should already have been auto-generated):
-```java
-.format(Formats.jsonFormat())
-.protocol(Protocols.kafka("localhost", 9092, "TOPIC_SHOULD_BE_CHANGED"))
-.build();
-```
-
-Set ``org.streampipes.tutorial.vehicle`` as your new topic by replacing the term ``TOPIC_SHOULD_BE_CHANGED`.
-
-In this example, we defined that the data stream consists of events in a JSON format and that Kafka is used as a message broker to transmit events.
-The last build() method call triggers the construction of the RDF-based data stream definition.
-
-That's it! In the next section, we will connect the data stream to a source and inspect the generated RDF description.
-
-## Creating some dummy data
-
-Let's assume our stream should produce some random values that are sent to StreamPipes. We'll add a very simple data simulator to the ``executeStream`` method as follows:
-
-```java
-@Override
-  public void executeStream() {
-
-    SpKafkaProducer producer = new SpKafkaProducer("localhost:9092", "TOPIC_SHOULD_BE_CHANGED");
-    Random random = new Random();
-    Runnable runnable = new Runnable() {
-      @Override
-      public void run() {
-        for (;;) {
-          JsonObject jsonObject = new JsonObject();
-          jsonObject.addProperty("timestamp", System.currentTimeMillis());
-          jsonObject.addProperty("plateNumber", "KA-FZ 1");
-          jsonObject.addProperty("latitude", random.nextDouble());
-          jsonObject.addProperty("longitude", random.nextDouble());
-
-          producer.publish(jsonObject.toString());
-
-          try {
-            Thread.sleep(1000);
-          } catch (InterruptedException e) {
-            e.printStackTrace();
-          }
-
-        }
-      }
-    };
-
-    new Thread(runnable).start();
-  }
-```
-
-Change the topic and the URL of your Kafka broker (as stated in the controller).
-
-## Adding a source description
-
-A data source can be seen like a container for a set of data streams. Usually, a data source includes events that are logically or physically connected.
-For instance, in our example we would add other streams produced by vehicle sensors (such as fuel consumption) to the same data source description.
-
-Open the class `DataSource` which should look as follows:
-```java
-
-package my.groupId.pe.mypackagename;
-
-import org.streampipes.container.declarer.DataStreamDeclarer;
-import org.streampipes.container.declarer.SemanticEventProducerDeclarer;
-import org.streampipes.model.graph.DataSourceDescription;
-import org.streampipes.sdk.builder.DataSourceBuilder;
-
-import java.util.Arrays;
-import java.util.List;
-
-
-public class DataSource implements SemanticEventProducerDeclarer {
-
-  public DataSourceDescription declareModel() {
-    return DataSourceBuilder.create("my.groupId.mypackagename.source", "MySource " +
-        "Source", "")
-            .build();
-  }
-
-  public List<DataStreamDeclarer> getEventStreams() {
-    return Arrays.asList(new MySourceStream());
-  }
-}
-```
-First, we need to define the source. Similar to data streams, a source consists of an id, a human-readable name and a description.
-Replace the content defined in the `declareModel` method with the following code:
-```java
-return DataSourceBuilder.create("org.streampipes.tutorial.source.vehicle", "Vehicle Source", "A data source that " +
-    "holds event streams produced by vehicles.")
-    .build();
-```
-
-## Preparing the container
-
-The final step is to define the deployment type of our new data source. In this tutorial, we will create a so-called `StandaloneModelSubmitter`.
-This client will start an embedded web server that provides the description of our data source.
-
-Go to the class `Init` that implements `StandaloneModelSubmitter`, which should look as follows:
-```java
-package my.groupId.main;
-
-import org.streampipes.container.init.DeclarersSingleton;
-import org.streampipes.container.standalone.init.StandaloneModelSubmitter;
-import my.groupId.config.Config;
-import my.groupId.pe.mypackagename.DataSource;
-
-public class Init extends StandaloneModelSubmitter {
-
-  public static void main(String[] args) throws Exception {
-    DeclarersSingleton.getInstance()
-            .add(new DataSource());
-
-    new Init().init(Config.INSTANCE);
-
-  }
-}
-```
-This code adds the `VehicleSource`. Finally, the `init` method is called
-which triggers the generation of the corresponding RDF description and startup of the web server.
-
-<div class="admonition info">
-<div class="admonition-title">Info</div>
-<p>In the example above, we make use of a class `Config`.
-       This class contains both mandatory and additional configuration parameters required by a pipeline element container.
-       These values are stored in the Consul-based key-value store of your StreamPipes installation.
-       The SDK guide contains a detailed manual on managing container configurations.</p>
-</div>
-
-## Starting the container
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>By default, the container registers itself using the hostname later used by the Docker container, leading to a 404 error when you try to access an RDF description.
-       For local development, we provide an environment file in the ``development`` folder. You can add your hostname here, which will override settings from the Config class.
-       For instance, use the IntelliJ ``EnvFile`` plugin to automatically provide the environment variables upon start.
-</p>
-</div>
-
-Now we are ready to start our first container!
-
-Execute the main method in the class `Main` we've just created, open a web browser and navigate to http://localhost:8090, or change the port according to the value of the ``SP_PORT`` variable in the env file.
-
-You should see something as follows:
-
-<img src="/img/tutorial-sources/pe-overview.PNG" alt="Pipeline Element Container Overview"/>
-
-Click on the link of the data source to see the RDF description of the pipeline element.
-
-<img src="/img/tutorial-sources/pe-rdf.PNG" alt="Pipeline Element RDF description"/>
-
-The container automatically registers itself in the Consul installation of StreamPipes.
-To install the just created element, open the StreamPipes UI and follow the manual provided in the [user guide](user-guide-introduction).
-
-## Read more
-
-Congratulations! You've just created your first pipeline element for StreamPipes.
-There are many more things to explore and data sources can be defined in much more detail.
diff --git a/website-v2/versioned_docs/version-0.67.0/07_technicals-architecture.md b/website-v2/versioned_docs/version-0.67.0/07_technicals-architecture.md
deleted file mode 100644
index 4ef1a54..0000000
--- a/website-v2/versioned_docs/version-0.67.0/07_technicals-architecture.md
+++ /dev/null
@@ -1,63 +0,0 @@
----
-id: technicals-architecture
-title: Architecture
-sidebar_label: Architecture
-original_id: technicals-architecture
----
-
-
-The following picture illustrates the high-level architecture of StreamPipes:
-
-<img src="/img/architecture/high-level-architecture.png" alt="High Level Architecture of StreamPipes"/>
-
-Users mainly interact (besides other UI components) with the _Pipeline Editor_ to create stream processing pipelines based on data streams, data processors and data sinks.
-These reusable pipeline elements are provided by self-contained _pipeline element containers_, each of them having a semantic description that specifies their characteristics (e.g., input, output and required user input for data processors).
-Each pipeline element container has a REST endpoint that provides these characteristics as a JSON-LD document.
-
-Pipeline element containers are built using one of several provided _wrappers_.
-Wrappers abstract from the underlying runtime stream processing framework.
-Currently, the StreamPipes framework provides wrappers for Apache Flink, Esper and algorithms running directly on the JVM.
-
-The _pipeline manager_ manages the definition and execution of pipelines.
-When creating pipelines, the manager continuously matches the pipeline against its semantic description and provides user guidance in form of recommendations.
-Once a pipeline is started, the pipeline manager invokes the corresponding pipeline element containers.
-The container prepares the actual execution logic and submits the program to the underlying execution engine, e.g., the program is deployed in the Apache Flink cluster.
-
-Pipeline elements exchange data using one or more message brokers and protocols (e.g., Kafka or MQTT).
-StreamPipes does not rely on a specific broker or message format, but negotiates suitable brokers based on the capabilities of connected pipeline elements.
-
-Thus, StreamPipes provides a higher-level abstraction of existing stream processing technology by leveraging domain experts to create streaming analytics pipelines in a self-service manner.
-
-## Semantic description
-Pipeline elements in StreamPipes are meant to be reusable:
-
-* Data processors and data sink are generic (or domain-specific) elements that express their requirements and are able to operate on any stream that satisfies these requirements.
-* Data processors and data sinks can be manually configured by offering possible configuration parameters which users can individually define when creating pipelines.
-* Data streams can be connected to any data processor or data sink that matches the capabilities of the stream.
-
-When users create pipelines by connecting a data stream with a data processor (or further processors), the pipeline manager _matches_ the input stream of a data processor against its requirements.
-This matching is performed based on the _semantic description of each element.
-The semantic description (technically an RDF graph serialized as JSON-LD) can be best understood by seeing it as an envelope around a pipeline element.
-It only provides metadata information, while we don't rely on any RDF at runtime for exchanging events between pipeline elements.
-While RDF-based metadata ensures good understanding of stream capabilities, lightweight event formats at runtime (such as JSON or Thrift) ensure fast processing of events.
-
-Let's look at an example stream that produces a continuous stream of vehicle positions as illustrated below:
-
-<img src="/img/architecture/semantic-description-stream.png" alt="Semantic description of data streams"/>
-
-While the runtime layer produces plain JSON by submitting actual values of the position and the vehicle's plate number, the description layer describes various characteristics of the stream:
-For instance, it defines the event schema (including, besides the data type and the runtime name of each property also a more fine-grained meaning of the property), quality aspects (e.g., the measurement unit of a property or the frequency) and the grounding (e.g., the format used at runtime and the communication protocol used for transmitting events).
-
-The same accounts for data processors and data sinks:
-
-<img src="/img/architecture/semantic-description-processor.png" alt="Semantic description of data processor"/>
-
-Data processors (and, with some differences, data sinks) are annotated by providing metadata information on their required input and output.
-For instance, we can define minimum schema requirements (such as geospatial coordinates that need to be provided by any stream that is connected to a processor), but also required (minimum or maximum) quality levels and supported transport protocols and formats.
-In addition, required configuration parameters users can define during the pipeline definition process are provided by the semantic description.
-
-Once new pipeline elements are imported into StreamPipes, we store all information provided by the description layer in a central repository and use this information to guide useres through the pipeline definition process.
-
-Don't worry - you will never be required to model RDF by yourself.
-Our SDK provides convenience methods that help creating the description automatically.
-
diff --git a/website-v2/versioned_docs/version-0.67.0/07_technicals-configuration.md b/website-v2/versioned_docs/version-0.67.0/07_technicals-configuration.md
deleted file mode 100644
index 57f16b3..0000000
--- a/website-v2/versioned_docs/version-0.67.0/07_technicals-configuration.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: technicals-configuration
-title: Configuration
-sidebar_label: Configuration
-original_id: technicals-configuration
----
-
-On this page we explain how the StreamPipes configuration works.
-StreamPipes allows the individual services (pipeline element containers and third-party services) to store configuration parameters in a distributed key-value store.
-This has the advantage that individual services do not need to store any configurations on the local file system, enabling us to run containers anywhere.
-As a key-value store we use [Consul](https://www.consul.io/), which is an essential service for all our services.
-
-<img src="/img/configuration/consul.png" width="50%" alt="Semantic description of data processor"/>
-
-
-## Edit Configurations
-All services in StreamPipes can have configuration parameters.
-You can either change them in the consul user interface (which is by default running on port 8500) or directly in the StreamPipes Configurations Page.
-Once a new  pipeline element container is started, it is registered in Consul and the parameters can be edited in the configuration page, as shown below.
-To store changes in Consul, the update button must be clicked.
-
-<div class="my-carousel">
-    <img src="/img/configuration/configuration_1.png" alt="Configuration View"/>
-</div>
-
-## Configuration for Developers
-We provide a Configurations API for the use of configuration parameters in your services.
-Each processing element project has a “config” package [[Example]](https://github.com/apache/incubator-streampipes-extensions/tree/dev/streampipes-sinks-internal-jvm/src/main/java/org/streampipes/sinks/internal/jvm/config).
-This package usually contains two classes.
-One containing unique keys for the configuration values and one containing the getter and setter methods to access these values.
-For the naming of configuration keys, we recommend to use “SP” as a prefix.
-As we explain later, it is possible to set default configurations as environment variables, this prefix makes them unique on your server.
-A configuration entry needs a unique config key. For this key, a value can be specified containing the configuration, like for example the port number of the service.
-For each configuration, a description explaining the parameter can be provided, further the data type must be specified and whether it is a password or not.
-Below, the schema of a configuration item is shown on the left and an example of a port configuration on the right.
-
-<img src="/img/configuration/config_key.png" width="80%" alt="Semantic description of data processor"/>
-
-As a developer, you can add as many new configurations to services as you wish, but there are some that are required for all processing element containers.
-Those are **the host**, **the port**, and **the name** of the service.
-
-## Default Values
-You can provide default values for the configurations, which are used when a configuration is read for the first time.
-The first option is to register a configuration parameter in the Config class.
-This is a fallback value, which is used if nothing else is defined.
-Since this value is static, we offer a second option.
-It is possible to provide a default value by setting an environment variable.
-In this case, the convention is that the key of a configuration parameter must be used as the environment variable.
-Now, this value is used instead of the value defined in the Config class.
-During development, the configuration values often need to be changed for debugging purposes, therefore we provide an .env file in all processing element projects and archetypes.
-This file can be used by your IDE to set the environment variables. (e.g., [Intellij Plugin](https://plugins.jetbrains.com/plugin/7861-envfile))
-When you need to change the variable at runtime, you can do this in the StreamPipes configurations as explained before.
-Those changes take effect immediately without the need of a container restart.
-
-<div class="admonition warning">
-<div class="admonition-title">Installed pipeline elements</div>
-<p>Be cautious, when the configuration is used in the semantic description of a processing element which is already installed in StreamPipes, you have to reload this element in StreamPipes (my elements -> reload).
-   In addition, changes might affect already running pipelines.</p>
-</div>
diff --git a/website-v2/versioned_docs/version-0.67.0/07_technicals-messaging.md b/website-v2/versioned_docs/version-0.67.0/07_technicals-messaging.md
deleted file mode 100644
index 64d9a2e..0000000
--- a/website-v2/versioned_docs/version-0.67.0/07_technicals-messaging.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-id: technicals-messaging
-title: Messaging
-sidebar_label: Messaging
-original_id: technicals-messaging
----
-
-tbd
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.67.0/07_technicals-runtime-wrappers.md b/website-v2/versioned_docs/version-0.67.0/07_technicals-runtime-wrappers.md
deleted file mode 100644
index dedc3ee..0000000
--- a/website-v2/versioned_docs/version-0.67.0/07_technicals-runtime-wrappers.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-id: technicals-runtime-wrappers
-title: Runtime Wrappers
-sidebar_label: Runtime Wrappers
-original_id: technicals-runtime-wrappers
----
-
-tbd
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.67.0/07_technicals-user-guidance.md b/website-v2/versioned_docs/version-0.67.0/07_technicals-user-guidance.md
deleted file mode 100644
index 0141dab..0000000
--- a/website-v2/versioned_docs/version-0.67.0/07_technicals-user-guidance.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-id: technicals-user-guidance
-title: User Guidance
-sidebar_label: User Guidance
-original_id: technicals-user-guidance
----
-
-tbd
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.67.0/08_debugging.md b/website-v2/versioned_docs/version-0.67.0/08_debugging.md
deleted file mode 100644
index 33bedad..0000000
--- a/website-v2/versioned_docs/version-0.67.0/08_debugging.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-id: debugging-debugging
-title: Debugging
-sidebar_label: Debugging
-original_id: debugging-debugging
----
-
-tbd
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.67.0/08_monitoring.md b/website-v2/versioned_docs/version-0.67.0/08_monitoring.md
deleted file mode 100644
index 0712b98..0000000
--- a/website-v2/versioned_docs/version-0.67.0/08_monitoring.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-id: debugging-monitoring
-title: Monitoring
-sidebar_label: Monitoring
-original_id: debugging-monitoring
----
-
-tbd
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.67.0/09_contribute.md b/website-v2/versioned_docs/version-0.67.0/09_contribute.md
deleted file mode 100644
index 656947f..0000000
--- a/website-v2/versioned_docs/version-0.67.0/09_contribute.md
+++ /dev/null
@@ -1,18 +0,0 @@
----
-id: community-contribute
-title: Contribute
-sidebar_label: Contribute
-original_id: community-contribute
----
-
-## Contribute
-
-We welcome contributions to StreamPipes. If you are interested in contributing to StreamPipes, let us know! You'll
-get to know an open-minded and motivated team working together to build the next IIoT analytics toolbox.
-
-Here are some first steps in case you want to contribute:
-* Subscribe to our dev mailing list [dev-subscribe@streampipes.apache.org](dev-subscribe@streampipes.apache.org)
-* Send an email, tell us about your interests and which parts of Streampipes you'd like to contribute (e.g., core or UI)!
-* Ask for a mentor who helps you understanding the code base and guides you through the first setup steps
-* Find an issue in our [Jira](https://issues.apache.org/jira/projects/STREAMPIPES) which is tagged with a _newbie_ tag
-* Have a look at our **developer wiki** at [https://cwiki.apache.org/confluence/display/STREAMPIPES](https://cwiki.apache.org/confluence/display/STREAMPIPES) to learn more about StreamPipes development.
diff --git a/website-v2/versioned_docs/version-0.67.0/09_get-help.md b/website-v2/versioned_docs/version-0.67.0/09_get-help.md
deleted file mode 100644
index 53a59ec..0000000
--- a/website-v2/versioned_docs/version-0.67.0/09_get-help.md
+++ /dev/null
@@ -1,27 +0,0 @@
----
-id: community-get-help
-title: Get Help
-sidebar_label: Get Help
-original_id: community-get-help
----
-
-The Apache StreamPipes community is happy to help with any questions or problems you might have.
-
-## Questions
-Subscribe to our user mailing list to ask a question.
-
-[Mailing Lists](https://streampipes.apache.org/mailinglists.html)
-
-To subscribe to the user list, send an email to [users-subscribe@streampipes.apache.org](users-subscribe@streampipes.apache.org)
-
-We also maintain a Slack channel which might be a good way for problems that require interaction:
-
-[Slack Channel](http://slack.streampipes.org)
-
-## Bugs and Feature Requests
-
-If you've found a bug or have a feature that you'd love to see in StreamPipes, feel free to create an issue in our Jira:
-[https://issues.apache.org/jira/projects/STREAMPIPES](https://issues.apache.org/jira/projects/STREAMPIPES)
-
-
-
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md
deleted file mode 100644
index 4eb8ec0..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.flic.mqtt
-title: Flic MQTT
-sidebar_label: Flic MQTT
-original_id: org.apache.streampipes.connect.adapters.flic.mqtt
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.flic.mqtt/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Connect Flic Smart Button over MQTT
-
-***
-
-## Required input
-
-This adapter uses the MQTT protocol and requires the data in following exemplary JSON format:
-{ "timestamp": 1584973344615, "click_type": SINGLE, "button_id": button1 }.
-***
-
-## Configuration
-
-### Broker URL 
-
-Example: tcp://test-server.com:1883 (Protocol required. Port required)
-
-### Access Mode
-
-The user can choose between unauthenticated or authenticated access.
-
-### TOPIC
-The topic the MQTT broker publishes to.
-
-## Output
-
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.adapters.opcua.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.adapters.opcua.md
deleted file mode 100644
index 3fc7169..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.adapters.opcua.md
+++ /dev/null
@@ -1,77 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.opcua
-title: OPC UA
-sidebar_label: OPC UA
-original_id: org.apache.streampipes.connect.adapters.opcua
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.opcua/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Reads values from an OPC-UA server repeatedly
-
-***
-
-## Required Input
-
-***
-
-## Configuration
-
-### Polling Interval
-
-Duration of the polling interval in seconds
-
-### Anonymous vs. Username/Password
-
-Choose whether you want to connect anonymously or authenticate using your credentials.
-
-&nbsp;&nbsp;&nbsp;&nbsp; **Anonymous**: No further information required <br/>
-&nbsp;&nbsp;&nbsp;&nbsp; **Username/Password**: Insert your `username` and `password` to access the OPC UA server
-
-### OPC UA Server
-
-Where can the OPC UA server be found?
-
-&nbsp;&nbsp;&nbsp;&nbsp; **URL**: Specify the server's full `URL` (including port), can be with our without leading `opc.tcp://`<br/>
-&nbsp;&nbsp;&nbsp;&nbsp; **Host/Port**: Insert the `host` address (with or without leading `opc.tcp://`) and the `port`<br/>
-
-### Namespace Index
-
-Requires the index of the namespace you want to connect to.
-
-### Node ID
-
-The identifier of the node you want to read from, numbers and strings are both valid.
-
-### Available Nodes
-
-Shows all available nodes once namespace index and node ID are given.
-Select as much as you like to query.
-
-***
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md
deleted file mode 100644
index ddc8a8e..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.plc4x.modbus
-title: PLC4X MODBUS
-sidebar_label: PLC4X MODBUS
-original_id: org.apache.streampipes.connect.adapters.plc4x.modbus
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.modbus/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Shows the live position of the International Space Station (ISS), updated every two seconds.
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.adapters.simulator.machine.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.adapters.simulator.machine.md
deleted file mode 100644
index a9c4fae..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.adapters.simulator.machine.md
+++ /dev/null
@@ -1,41 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.simulator.machine
-title: Machine Data Simulator
-sidebar_label: Machine Data Simulator
-original_id: org.apache.streampipes.connect.adapters.simulator.machine
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.simulator.machine/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes various simulated machine sensor data in a configurable time interval (in milliseconds).
-Sensors are:
-* flowrate
-* pressure
-* waterlevel
-***
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md
deleted file mode 100644
index 0626268..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: org.apache.streampipes.connect.protocol.stream.httpserver
-title: HTTP Server
-sidebar_label: HTTP Server
-original_id: org.apache.streampipes.connect.protocol.stream.httpserver
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.httpserver/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Continuously fetched events from an HTTP REST endpoint.
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md
deleted file mode 100644
index 3d42f6e..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.jvm.geocoding
-title: Google Maps Geocoder
-sidebar_label: Google Maps Geocoder
-original_id: org.apache.streampipes.processor.geo.jvm.geocoding
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-</p>
-
-***
-
-## Description
-
-This processor computes the latitude and longitude values from a location (a place name such as "Karlsruhe, Germany
-") and adds the result to the event.
-
-***
-
-## Required input
-
-Input event requires to have a field which contains the name of a place.
-
-***
-
-## Configuration
-
-### Place
-
-The field of the input event that should be used to compute the lat/lng values.
-
-## Output
-
-Outputs a similar event like below.
-
-```
-{
-  'latitude': 6.927079,
-  'longitude': 79.861244  
-}
-```
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md
deleted file mode 100644
index 3f3319f..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.jvm.reversegeocoding
-title: Reverse Geocoder
-sidebar_label: Reverse Geocoder
-original_id: org.apache.streampipes.processor.geo.jvm.reversegeocoding
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-</p>
-
-***
-
-## Description
-
-This processor computes place name based on given lat/lng coordinates that are transmitted as fields from an event.
-
-This processor automatically downloads the file cities1000.zip from Geonames (http://download.geonames.org/export/dump/cities1000.zip). This file is provided under the CC BY 4.0 license, see https://creativecommons.org/licenses/by/4.0/ for license details.
-
-***
-
-## Required input
-
-Input event requires to have latitude and longitude values.
-
-***
-
-## Configuration
-
-### Latitude
-
-The field containing the latitude value.
-
-### Longitude
-
-The field containing the longitude value.
-
-## Output
-
-Outputs a similar event like below.
-
-```
-{
-  'place': 'Colombo'
-}
-```
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md
deleted file mode 100644
index c63805b..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.jvm.staticgeocoding
-title: Static Google Maps Geocoder
-sidebar_label: Static Google Maps Geocoder
-original_id: org.apache.streampipes.processor.geo.jvm.staticgeocoding
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-</p>
-
-***
-
-## Description
-
-This processor computes the latitude and longitude values from a fixed location (a place name such as "Karlsruhe
-, Germany
-") and adds the result to the event.
-
-***
-
-## Required input
-
-Input event requires to have a field which contains the name of a place.
-
-***
-
-## Configuration
-
-### Place
-
-The place name that should be converted to a lat/lng combination
-
-## Output
-
-Outputs a similar event like below.
-
-```
-{
-  'latitude': 6.927079,
-  'longitude': 79.861244  
-}
-```
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md
deleted file mode 100644
index 7a6aa8c..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md
+++ /dev/null
@@ -1,53 +0,0 @@
----
-id: org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification
-title: Generic Image Classification
-sidebar_label: Generic Image Classification
-original_id: org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Image  + Classification Description (Generic Model)
-
-***
-
-## Required input
-
-Input events require to have an image field.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Image field
-
-Field that contains the image.
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md
deleted file mode 100644
index e008be9..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
-id: org.apache.streampipes.processor.imageclassification.jvm.image-enricher
-title: Image Enricher
-sidebar_label: Image Enricher
-original_id: org.apache.streampipes.processor.imageclassification.jvm.image-enricher
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Image Enrichment: Enriches an  + image with  + given bounding box coordinates
-
-## Required input
-An image and an array with bounding boxes, an array with scores and an array with labels.
-A box consists of the x and y coordinates in the image as well as the height and width, and the classindex with score
-
-
-## Output
-A new event containing the image with bounding boxes rendered according to the boxes of the input event 
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.imageclassification.qrcode.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.imageclassification.qrcode.md
deleted file mode 100644
index 4bfd514..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processor.imageclassification.qrcode.md
+++ /dev/null
@@ -1,69 +0,0 @@
----
-id: org.apache.streampipes.processor.imageclassification.qrcode
-title: QR Code Reader
-sidebar_label: QR Code Reader
-original_id: org.apache.streampipes.processor.imageclassification.qrcode
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.imageclassification.qrcode/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-QR Code Reader: Detects a QR Code in an image
-
-***
-
-## Required input
-
-Input events require to have an image field.
-
-***
-
-## Configuration
-
-### Image
-
-Image of the QR code
-
-### Send placeholder value if no qr code is detected
-
-It is a boolean selection.
-
-### Placeholder value
-
-Place holder value
-
-## Output
-
-Outputs a similar event like below.
-
-```
-{
-  'qrvalue': 'http://githhub.com/',
-  'timestamp': 1621244783151  
-}
-```
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md
deleted file mode 100644
index 5e9e9e8..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.aggregation
-title: Aggregation
-sidebar_label: Aggregation
-original_id: org.apache.streampipes.processors.aggregation.flink.aggregation
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.aggregation/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs different aggregation functions based on a sliding time window (e.g., average, sum, min, max)
-
-***
-
-## Required input
-
-The aggregation processor requires a data stream that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Group by
-The aggregation function can be calculated separately (partitioned) by the selected field value. 
-
-### Output every
-The frequency in which aggregated values are sent in seconds.
-
-### Time window
-The size of the time window in seconds
-
-### Aggregated Value
-The field used for calculating the aggregation value.
-
-## Output
-
-This processor appends the latest aggregated value to every input event that arrives.
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.count.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.count.md
deleted file mode 100644
index c9516f6..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.count.md
+++ /dev/null
@@ -1,67 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.count
-title: Count Aggregation
-sidebar_label: Count Aggregation
-original_id: org.apache.streampipes.processors.aggregation.flink.count
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.count/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs an aggregation based on a given field and outputs the number of occurrences.
-Example: Count the number of vehicle positions per vehicleId.
-The Count aggregation requires a time window, used to perform the count aggregation and a field used to aggregate
-values.
-
-***
-
-## Required input
-There is no specific input required.
-
-***
-
-## Configuration
-### FieldToCount    
-Specifies the field containing the values that should be counted.
-
-### TimeWindowSize  
-Specifies the size of the time window and consequently the number of values that are aggregated each time. 
-
-### Time Window Scale
-Specifies the scale/unit of the time window. There are three different time scales to choose from: seconds, minutes or hours.
-
-## Output
-The output event is composed of two fields. The field "value" specifies the value to count.
-The second field "count" returns the number of occurrences.
-Example:
-```
-{
-  'value': 'vehicleId', 
-  'count': 12
-}
-```
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md
deleted file mode 100644
index d744a88..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.eventcount
-title: Event Counter
-sidebar_label: Event Counter
-original_id: org.apache.streampipes.processors.aggregation.flink.eventcount
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-
-
-***
-
-## Description
-Counts the number of events arriving within a time window. An event is emitted every time the time window expires.
-
-***
-
-## Required input
-There is no specific input required.
-
-***
-
-## Configuration
-Time Window: The scale and size of the time window.
-
-### TimeWindowSize  
-Specifies the size of the time window.
-
-### Time Window Scale
-Specifies the scale/unit of the time window. There are three different time scales to choose from: seconds, minutes or hours.
-
-## Output
-```
-{
-  'timestamp': 1601301980014, 
-  'count': 12
-}
-```
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.rate.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.rate.md
deleted file mode 100644
index 49a9f8b..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.aggregation.flink.rate.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.rate
-title: Event Rate
-sidebar_label: Event Rate
-original_id: org.apache.streampipes.processors.aggregation.flink.rate
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.rate/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Computes the current event rate. Output is a number representing events per second.
-
-***
-
-## Required input
-The event rate processor works with any stream and does not have any specific requirements.
-
-***
-
-## Configuration
-
-
-### Time Baseline
-Specifies the size of the window used used for calculating the rate in seconds. This parameters also determines the output rate.
-
-## Output
-```
-{
-  'rate': 0.8
-}
-```
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md
deleted file mode 100644
index c83f6e5..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md
+++ /dev/null
@@ -1,66 +0,0 @@
----
-id: org.apache.streampipes.processors.changedetection.jvm.cusum
-title: Cusum
-sidebar_label: Cusum
-original_id: org.apache.streampipes.processors.changedetection.jvm.cusum
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<!--
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.changedetection.jvm.cusum/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
--->
-
-***
-
-## Description
-
-Performs change detection on a single dimension of the incoming data stream. A change is detected if the cumulative deviation from the mean exceeds a certain threshold. This implementation tracks the mean and the standard deviation using Welford's algorithm, which is well suited for data streams.
-
-***
-
-## Required input
-
-The cusum processor requires a data stream that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Value to observe
-Specify the dimension of the data stream (e.g. the temperature) on which to perform change detection. 
-
-### Parameter `k`
-`k` controls the sensitivity of the change detector. Its unit are standard deviations. For an observation `x_n`, the Cusum value is `S_n = max(0, S_{n-1} - z-score(x_n) - k)`. Thus, the cusum-score `S` icnreases if `S_{n-1} - z-score(x_n) > k`. 
-
-### Parameter `h`
-The alarm theshold in standard deviations. An alarm occurs if `S_n > h` 
-
-## Output
-
-This processor outputs the original data stream plus 
-
-- `cusumLow`: The cusum value for negative changes
-- `cusumHigh`: The cusum value for positive changes
-- `changeDetectedLow`: Boolean indicating if a negative change was detected
-- `changeDetectedHigh`: Boolean indicating if a positive change was detected
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.filters.jvm.limit.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.filters.jvm.limit.md
deleted file mode 100644
index 5fc7694..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.filters.jvm.limit.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.limit
-title: Rate Limit
-sidebar_label: Rate Limit
-original_id: org.apache.streampipes.processors.filters.jvm.limit
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.limit/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-This limits the number of events emitted based on a specified criterion such as time, and number of events.
-
-***
-
-## Required input
-The processor works with any input event.
-
-***
-
-## Configuration
-
-### Enable Grouping
-Enabling this will use grouping with rate-limiting (note: disabling this will ignore `Grouping Field` property).
-
-### Grouping Field
-Runtime field to be used as the grouping key. If grouping is disabled, this setting will be ignored.
-
-### Window Type
-This specifies the type of window to be used (time / length / cron).
-
-### Length Window Size
-Length window size in event count (note: only works with length window type).
-
-### Time Window Size
-Time window size in milliseconds (note: only works with time window type).
-
-### Cron Window Expression
-Cron expression [Link](https://www.freeformatter.com/cron-expression-generator-quartz.html) to trigger and emit events (i.e `0 * * ? * *` for every minute) (note: only works with cron window type).
-
-### Output Event Selection
-This specifies the event(s) that are selected to be emitted.
-- First: emit first event of the window.
-- Last: emit last event of the window.
-- All: emit all events of the window.
-
-## Output
-The processor outputs events which satisfies rate-limiting conditions.
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.filters.jvm.merge.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.filters.jvm.merge.md
deleted file mode 100644
index 79516d3..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.filters.jvm.merge.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.merge
-title: Synchronize Two Streams
-sidebar_label: Synchronize Two Streams
-original_id: org.apache.streampipes.processors.filters.jvm.merge
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.merge/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Merges two event streams by their timestamp.
-Two events of the different streams are merged when they occure to the same time
-
-The following figure shows how the events of the two data streams will be mergrged:
-
-<p align="center"> 
-    <img width="300px;" src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.merge/merge_description.png" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Required input
-Each of the data streams needs a timestamp.
-
-***
-
-## Configuration
-
-* For each stream a the timestamp property on which the merger is performed has to be selected
-* The Time Interval describes the maximum value between two events to decide whether they are a match. To be a valid match the following function must be true: | timestamp_stream_1 - timestamp_stream_2 | < interval
-
-## Output
-The Compose processor has a configurable output that can be selected by the user at pipeline modeling time.
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md
deleted file mode 100644
index 8a86104..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: org.apache.streampipes.processors.geo.jvm.processor.distancecalculator
-title: Distance Calculator
-sidebar_label: Distance Calculator
-original_id: org.apache.streampipes.processors.geo.jvm.processor.distancecalculator
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Calculates the distance between two latitude/longitude pairs in a single event.
-
-***
-
-## Required input
-Requires a position of point on the Earth's surface specified by the two geographic coordinates: the longitude and latitude of the point.
-
-***
-
-## Configuration
-
-### First Longitude
-This is the first geographic coordinate that specifies the east-west position of a point on the Earth's surface.
-
-### First Latitude
-This is the second geographic coordinate that specifies the north-south position of a point on the Earth's surface.
-
-### Second Longitude
-This is the second geographic coordinate that specifies the east-west position of a point on the Earth's surface.
-
-### Second Latitude
-This is the second geographic coordinate that specifies the north-south position of a point on the Earth's surface.
-
-## Output
-{
-  'distance': 12.2
-}
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md
deleted file mode 100644
index f44002c..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-id: org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator
-title: Static Distance Calculator
-sidebar_label: Static Distance Calculator
-original_id: org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-***
-
-## Description
-
-Calculates the distance (in km) between a fixed location (e.g., a place) and a latitude/longitude pair of an input
- event.
-
-***
-
-## Required input
-
-Requires a data stream that provides latitude and longitude values.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Latitude field
-
-The field containing the latitude value.
-
-### Longitude field
-
-The field containing the longitude value.
-
-### Latitude
-
-The latitude value of the fixed location
-
-### Longitude
-
-The longitude value of the fixed location
-
-## Output
-
-Outputs a similar event like below.
-
-```
-{
-  'distance': 12.5
-}
-```
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md
deleted file mode 100644
index bebd762..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.pattern-detection.flink.absence
-title: Absence
-sidebar_label: Absence
-original_id: org.apache.streampipes.processors.pattern-detection.flink.absence
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.absence/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects whether an event does not arrive within a specified time after the occurrence of another event.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md
deleted file mode 100644
index 68d03c1..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.pattern-detection.flink.and
-title: And
-sidebar_label: And
-original_id: org.apache.streampipes.processors.pattern-detection.flink.and
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.and/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects whether an event co-occurs with another event within a given time.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md
deleted file mode 100644
index 4c00311..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.pattern-detection.flink.peak-detection
-title: Peak Detection
-sidebar_label: Peak Detection
-original_id: org.apache.streampipes.processors.pattern-detection.flink.peak-detection
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detect peaks in time series data.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md
deleted file mode 100644
index 4605707..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.pattern-detection.flink.sequence
-title: Sequence
-sidebar_label: Sequence
-original_id: org.apache.streampipes.processors.pattern-detection.flink.sequence
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.sequence/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects a sequence of events in the following form: Event A followed by Event B within X seconds. In addition, both streams can be matched by a common property value (e.g., a.machineId = b.machineId).
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.frequency.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.frequency.md
deleted file mode 100644
index e68ae41..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.frequency.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.frequency
-title: Frequency Calculation
-sidebar_label: Frequency Calculation
-original_id: org.apache.streampipes.processors.siddhi.frequency
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-Frequency calculation with Siddhi CEP engine.
-
-***
-
-## Description
-
-Calculates the frequency of the event stream.
-
-***
-
-## Required input
-
-Does not have any specific input requirements.
-
-***
-
-## Configuration
-
-### Time Unit
-
-The time unit of the window. e.g, hrs, min and sec
-
-### Time window length 
-
-The time duration of the window in seconds.
-
-## Output
-
-Outputs the events according to the frequency specified.
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.frequencychange.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.frequencychange.md
deleted file mode 100644
index e4a99cd..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.frequencychange.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.frequencychange
-title: Frequency Change
-sidebar_label: Frequency Change
-original_id: org.apache.streampipes.processors.siddhi.frequencychange
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-Notifies if there is a frequency change in events.
-
-***
-
-## Description
-
-Detects when the frequency of the event stream changes.
-
-***
-
-## Required input
-
-Does not have any specific input requirements.
-
-***
-
-## Configuration
-
-### Time Unit
-
-The time unit of the window. e.g, hrs, min and sec
-
-### Percentage of Increase/Decrease
-
-Specifies the increase in percent (e.g., 100 indicates an increase by 100 percent within the specified time window).
-
-### Time window length 
-
-The time duration of the window in seconds.
-
-## Output
-
-Outputs event if there is a frequency change according to the provided configuration.
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.increase.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.increase.md
deleted file mode 100644
index 64e3204..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.increase.md
+++ /dev/null
@@ -1,66 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.increase
-title: Trend
-sidebar_label: Trend
-original_id: org.apache.streampipes.processors.siddhi.increase
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.increase/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects the increase of a numerical field over a customizable time window. Example: A temperature value increases by 10 percent within 5 minutes.
-
-***
-
-## Required input
-
-There should be a number field in the event to observe the trend.
-
-***
-
-## Configuration
-
-### Value to Observe
-
-Specifies the value field that should be monitored.
-
-### Increase/Decrease
-
-Specifies the type of operation the processor should perform.
-
-### Percentage of Increase/Decrease
-
-Specifies the increase in percent (e.g., 100 indicates an increase by 100 percent within the specified time window).
-
-### Time Window Length (Seconds)
-
-Specifies the size of the time window in seconds.
-
-## Output
-
-Outputs the events if there is a trend observed according to the configuration defined.
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md
deleted file mode 100644
index 4d84b50..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.numericalfilter
-title: Numerical Filter (Siddhi)
-sidebar_label: Numerical Filter (Siddhi)
-original_id: org.apache.streampipes.processors.siddhi.numericalfilter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.numericalfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-The Numerical Filter processor filters numerical values based on a given threshold. Therefore, it uses the lightweight
-CEP engine Siddhi by issuing a Siddhi query, e.g.
-
-```
-// filter query to filter out all events not satisfying the condition
-from inputStreamName[numberField<10]
-select *
-```
-
-***
-
-## Required input
-The processor works with any input event that has one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Field
-Specifies the field name where the filter operation should be applied on.
-
-
-### Operation
-Specifies the filter operation that should be applied on the field.
-
-### Threshold value
-Specifies the threshold value.
-
-## Output
-The processor outputs the input event if it satisfies the filter expression.
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.stop.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.stop.md
deleted file mode 100644
index 7d4ce23..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.siddhi.stop.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.stop
-title: Stream Stop Detection
-sidebar_label: Stream Stop Detection
-original_id: org.apache.streampipes.processors.siddhi.stop
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-***
-
-## Description
-
-Triggers an event when the input data stream stops sending events
-
-***
-
-## Required input
-
-Does not have any specific input requirements.
-
-***
-
-## Configuration
-
-### Time Window Length (Seconds)
-
-Specifies the size of the time window in seconds.
-
-## Output
-
-Outputs a similar event like below.
-
-```
-{
-  'timestamp': 1621243855401,
-  'message': 'Event stream has stopped'  
-}
-```
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md
deleted file mode 100644
index ca74d0f..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.flink.languagedetection
-title: Language Detection
-sidebar_label: Language Detection
-original_id: org.apache.streampipes.processors.textmining.flink.languagedetection
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.flink.languagedetection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects the language of a written text.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md
deleted file mode 100644
index f965a1e..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.flink.wordcount
-title: Word Count
-sidebar_label: Word Count
-original_id: org.apache.streampipes.processors.textmining.flink.wordcount
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.flink.wordcount/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Count words on continuous text-based streams.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md
deleted file mode 100644
index c577f12..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.field-converter
-title: Field Converter
-sidebar_label: Field Converter
-original_id: org.apache.streampipes.processors.transformation.flink.field-converter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-converter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Converts a string value to a number data type. 
-
-
-***
-
-## Required input
-This processor requires an event that contains at least one string valued field.
-
-***
-
-## Configuration
-
-### Field
-Specifies the string field that is converted.
-
-### Datatype
-Specifies the target datatype depending on the previously specified string field.
-
-## Output
-Output event in the specified target datatype.
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md
deleted file mode 100644
index f879a71..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md
+++ /dev/null
@@ -1,69 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.field-renamer
-title: Field Renamer
-sidebar_label: Field Renamer
-original_id: org.apache.streampipes.processors.transformation.flink.field-renamer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-renamer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Replaces the runtime name of an event property with a custom defined name. Useful for data ingestion purposes where a specific event schema is required.
-
-
-***
-
-## Required input
-There is no specific input required.
-
-***
-
-## Configuration
-
-### Field   
-Specifies the field to rename.
-
-### NewFieldName
-Specifies the new runtime name of the field.
-
-## Output
-Example:
-
-Old Output:
-```
-{
-  'timestamp': 16003000, 
-}
-```
-
-New Ouput:
-```
-{
-  'time': 16003000, 
-}
-```
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md
deleted file mode 100644
index b2540be..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.fieldhasher
-title: Field Hasher
-sidebar_label: Field Hasher
-original_id: org.apache.streampipes.processors.transformation.flink.fieldhasher
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.fieldhasher/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-The Field Hasher uses an algorithm to encode values in a field. The Field Hasher can use MD5, SHA1 or SHA2 to hash field values.
-
-***
-
-## Required input
-This processor requires at least one field of type string.
-
-***
-
-## Configuration
-
-### Field
-Specifies the string field that will be encoded.
-
-### Hash Algorithm
-Specifies the algorithm used to encode the string field. The following algorithms
-are available: SHA2, MD5 or SHA1.
-
-## Output
-The encoded string field.
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md
deleted file mode 100644
index c498aae..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.measurement-unit-converter
-title: Measurement Unit Converter
-sidebar_label: Measurement Unit Converter
-original_id: org.apache.streampipes.processors.transformation.flink.measurement-unit-converter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Converts a unit of measurement to another one.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md
deleted file mode 100644
index e53465c..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.booloperator.counter
-title: Boolean Counter
-sidebar_label: Boolean Counter
-original_id: org.apache.streampipes.processors.transformation.jvm.booloperator.counter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor monitors a boolean value and counts how often the value of the boolean changes. 
-A user can configure whether the changes from FALSE to TRUE, TRUE to FALSE, or BOTH changes should be counted.
-
-***
-
-## Required input
-
-A boolean value is required in the data stream and can be selected with the field mapping.
-
-### Boolean Field
-
-The boolean value to be monitored.
-
-***
-
-## Configuration
-
-A user can configure whether the changes from TRUE to FALSE, FALSE to TRUE, or all changes of the boolean value should be counted.
-
-### Flank parameter
-
-Either:
-* TRUE -> FALSE: Increase counter on a true followed by a false 
-* FALSE -> TRUE: Increase counter on a false followed by a true
-* BOTH: Increase counter on each change of the boolean value on two consecutive events
-
-## Output
-
-Adds an additional numerical field with the current count value to the event. Events are just emitted when the counter changes.
-Runtime Name: countField
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md
deleted file mode 100644
index 8d6bc9a..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge
-title: Signal Edge Filter
-sidebar_label: Signal Edge Filter
-original_id: org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Observes a boolean value and forwards the event when a signal edge is detected
-
-***
-
-## Required input
-
-### Boolean Field
-Boolean field that is observed
-
-***
-
-## Configuration
-### Kind of edge
-* Detect rising edges 
-* Detect falling edges 
-* Detect both
-    
-### Delay
-Defines for how many events the signal must be stable before result is emitted.
-(E.g. if set to 2, the result is not emitted if value toggles between true and false, it fires when two consecutive events are detected after the flank)
-
-## Output
-Emits input event, when the signal edge is detected
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md
deleted file mode 100644
index 9bbe792..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state
-title: Boolean To State
-sidebar_label: Boolean To State
-original_id: org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Converts boolean fields to a state string representing the current state of the system.
-This processor requires one or multiple boolean values in the data stream.
-For the selected value which is true, the runtime name is added as the state field.
-***
-
-## Required input
-
-### Boolean Fields
-Boolean fields that are converted to the state when true
-
-### Default State
-When all boolean values are false, a default  state can be defined
-
-### Mapping Configuration
-Configuration to provide a string mapping for each possible value.
-On the left ist the value of the runtime name and on the right the new value (e.g. {"runtimeName": "newValue"}).
-
-***
-
-## Configuration
-No further configuration required
-
-## Output
-The output contains a new value with the string values of the state
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md
deleted file mode 100644
index 309e8b4..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.processor.state.buffer
-title: State Buffer
-sidebar_label: State Buffer
-original_id: org.apache.streampipes.processors.transformation.jvm.processor.state.buffer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Buffers values of a sensor, while state does not change.
-Select a state field in the event. Events are buffered as long as state field does not change. When it changes result event is emitted.
-
-***
-
-## Required input
-
-Define the state and sensor value field
-
-### Timestamp
-A mapping  property for a timestamp field
-
-### State
-Select the field representing the state 
-
-### Sensor value to cache
-Select the field with the numerical values to buffer
-
-## Output
-Emits a new event on state change, with the fields `timestamp`, `state`, and a list containing all `sensor values`.
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md
deleted file mode 100644
index 8c3c4e3..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md
+++ /dev/null
@@ -1,70 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer
-title: State Buffer Labeler
-sidebar_label: State Buffer Labeler
-original_id: org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Apply a rule to a time-series recorded during a state of a machine. (E.g. when minimum value is lower then 10, add label `not ok` else add label `ok`)
-
-
-***
-
-## Required input
-
-Requires a list with sensor values and a field defining the state
-
-### Sensor values
-
-An array representing sensor values recorded during the state.
-
-### State field
-
-A field representing the state when the sensor values where recorded.
-
-***
-
-## Configuration
-
-### Select a specific state
-When you are interested in the values of a specific state add it here. All other states will be ignored. To get results of all states enter `*`
-
-### Operation
-Operation that will be performed on the sensor values (calculate `maximim`, or `average`, or `minimum`) 
-
-### Condition
-Define a rule which label to add. Example: `<;5;nok` means when the calculated value is smaller then 5 add label ok.
-The default label can be defined with `*;nok`.
-The first rule that is true defines the label. Rules are applied in the same order as defined here.
-
-
-## Output
-Appends a new field  with the label defined in the Condition Configuration
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md
deleted file mode 100644
index 60e8800..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number
-title: Number Labeler
-sidebar_label: Number Labeler
-original_id: org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Apply a rule to a value of a field. (E.g. when minimum value is lower then 10, add label `not ok` else add label `ok`)
-
-***
-
-## Required input
-
-Requires a sensor value
-
-### Sensor value
-
-A number representing the current sensor value.
-
-***
-
-## Configuration
-
-### Condition
-Define a rule which label to add. Example: `<;5;nok` means when the calculated value is smaller then 5 add label ok.
-The default label can be defined with `*;nok`.
-The first rule that is true defines the label. Rules are applied in the same order as defined here.
-
-
-## Output
-Appends a new field  with the label defined in the Condition Configuration
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md
deleted file mode 100644
index 5f533eb..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state
-title: String To State
-sidebar_label: String To State
-original_id: org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Convert string fields to a state representing the current state of the system.
-This processor requires one or multiple string values in the data stream.
-For each of the selected values is added to the states field.
-***
-
-## Required input
-
-### String Fields
-String fields that are added to the state array
-
-***
-
-## Configuration
-No further configuration required
-
-## Output
-The output contains a new value with the string values of the state
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md
deleted file mode 100644
index 864ddd6..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.split-array
-title: Split Array
-sidebar_label: Split Array
-original_id: org.apache.streampipes.processors.transformation.jvm.split-array
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.split-array/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor takes an array of event properties and creates an event for each of them. Further property of the events can be added to each element.
-
-***
-
-## Required input
-
-This processor works with any event that has a field of type ``list``.
-
-***
-
-## Configuration
-
-### Keep Fields
-
-Fields of the event that should be kept in each resulting event.
-
-### List field
-
-The name of the field that contains the list values that should be split.
-
-
-## Output
-
-This data processor produces an event with all fields selected by the ``Keep Fields`` parameter and all fields of the
- selected list field.
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md
deleted file mode 100644
index cb1da0a..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.stringoperator.timer
-title: String Timer
-sidebar_label: String Timer
-original_id: org.apache.streampipes.processors.transformation.jvm.stringoperator.timer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor measures how long a value of a string field does not change. Once the value is changes the event with the measured time and the corresponding string value is emitted.
-
-
-***
-
-## Required input
-
-A string field is required in the data stream.
-
-### Field
-
-The string field which is monitored for any value changes.
-
-
-***
-
-## Configuration
-
-### Output Frequency 
-
-Define when an event should be emitted, either on each input event or just when the string value changes.
-
-## Output
-The following two fields are appended to the event:
-* [measured_time] the measured time for the string value to not change
-* [field_value] the corresponding string value 
-
-The event is emitted whenever the value of the string field changes.
-
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md
deleted file mode 100644
index cc91a51..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md
+++ /dev/null
@@ -1,79 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.nats
-title: NATS Publisher
-sidebar_label: NATS Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.nats
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.nats/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes events to NATS broker.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### NATS Subject
-
-The subject (topic) where events should be sent to.
-
-### NATS Broker URL
-
-The URL to connect to the NATS broker. It can be provided multiple urls separated by commas(,).
- (e.g., nats://localhost:4222,nats://localhost:4223)
- 
-### Username
-
-The username to authenticate the client with NATS broker.
-
-It is an optional configuration.  
-
-### NATS Broker URL
-
-The password to authenticate the client with NATS broker. 
-
-It is an optional configuration.
-
-### NATS Connection Properties
-
-All other possible connection configurations that the nats client can be created with.
-It can be provided as key value pairs separated by colons(:) and commas(,).
- (e.g., io.nats.client.reconnect.max:1, io.nats.client.timeout:1000)
-
-It is an optional configuration.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md
deleted file mode 100644
index c0a34e2..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md
+++ /dev/null
@@ -1,74 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.rabbitmq
-title: RabbitMQ Publisher
-sidebar_label: RabbitMQ Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.rabbitmq
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Forwards events to a RabbitMQ broker
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Host
-
-The hostname of the RabbitMQ broker.
-
-### Port
-
-The port of the RabbitMQ broker.
-
-### User
-
-The username used to connect to the RabbitMQ broker.
-
-### Password
-
-The password used to connect to the RabbitMQ broker.
-
-### Exchange Name
-
-The name of the exchange.
-
-### RabbitMQ Topic
-
-The topic where events should be sent to.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.databases.ditto.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.databases.ditto.md
deleted file mode 100644
index 8a7089a..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.databases.ditto.md
+++ /dev/null
@@ -1,74 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.ditto
-title: Eclipse Ditto
-sidebar_label: Eclipse Ditto
-original_id: org.apache.streampipes.sinks.databases.ditto
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.ditto/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Forwards events to the Eclipse Ditto API.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Fields to send
-
-The fields that should be stored as a property to Ditto endpoint.
-
-### Ditto API endpoint
-
-The endpoint URL of the Ditto instance.
-
-### Username
-
-The username to authenticate the Ditto endpoint. 
-
-### Password
-
-The password to authenticate the Ditto endpoint. 
-
-### Thing ID
-
-The Ditto thing ID.
-
-#### Feature ID
-
-The Ditto feature ID
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md
deleted file mode 100644
index 28d2086..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md
+++ /dev/null
@@ -1,75 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.jvm.mysql
-title: MySQL Database
-sidebar_label: MySQL Database
-original_id: org.apache.streampipes.sinks.databases.jvm.mysql
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.mysql/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events to a MySQL Database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname of the MySQL Server.
-
-### Port
-
-The port of the MySQL Server (default: 3306).
-
-### Database
-
-The database of the MySQL Server the data is written to.
-
-### Table
-
-The table name of the MySQL Server the data is written to.
-
-### Username
-
-The username for the MySQL Server.
-
-### Password
-
-The password for the MySQL Server.
-
-## Output
-
-(not applicable for data sinks)
-
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.internal.jvm.notification.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.internal.jvm.notification.md
deleted file mode 100644
index e6fbe37..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.internal.jvm.notification.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-id: org.apache.streampipes.sinks.internal.jvm.notification
-title: Notification
-sidebar_label: Notification
-original_id: org.apache.streampipes.sinks.internal.jvm.notification
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.internal.jvm.notification/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Displays a notification in the UI panel of StreamPipes.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Notification Title
-
-The title of the notification.
-
-### Content
-
-The notification message.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md
deleted file mode 100644
index f0486b9..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md
+++ /dev/null
@@ -1,68 +0,0 @@
----
-id: org.apache.streampipes.sinks.notifications.jvm.slack
-title: Slack Notification
-sidebar_label: Slack Notification
-original_id: org.apache.streampipes.sinks.notifications.jvm.slack
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.notifications.jvm.slack/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Slack bot to send notifications directly into your slack
-
-Before you use this sink, the Slack token needs to be configured.
-After you've installed the element, navigate to ``Settings``, open the panel ``Sinks Notifications JVM`` and add your
-Slack API token.
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Receiver
-
-The receiver of the Slack message.
-
-### Channel Type
-
-The channel type, should be "User" or "Channel"
-
-### Content
-
-The message that should be sent.
-
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md b/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md
deleted file mode 100644
index a4e28dd..0000000
--- a/website-v2/versioned_docs/version-0.67.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-id: org.apache.streampipes.sinks.notifications.jvm.telegram
-title: Telegram Publisher
-sidebar_label: Telegram Publisher
-original_id: org.apache.streampipes.sinks.notifications.jvm.telegram
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.notifications.jvm.telegram/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publisher to send notifications to a Telegram channel.
-
-In order to be able to do so, you will have first to:
-* Create a Telegram public [channel](https://telegram.org/tour/channels).
-> Private channels/groups: also supported.
-* Create a Telegram BOT via [@BotFather](https://core.telegram.org/bots#3-how-do-i-create-a-bot) and get an API key.
-* Set the bot as [administrator](https://www.wikihow.com/Make-Someone-an-Admin-on-Telegram) in your channel.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here.
-
-### Bot API Key
-
-The API Key generated by `@BotFather` when you created your bot.
-
-### Channel Name or Chat Id
-
-The handle name of your public channel (e.g. `@channel_name`). 
-> For private channels/groups: handle name only available for public channels. Use `chat_id` instead.
-
-### Content
-
-The message to be sent.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.67.0/user-guide-installation.md b/website-v2/versioned_docs/version-0.67.0/user-guide-installation.md
deleted file mode 100644
index 5a5e364..0000000
--- a/website-v2/versioned_docs/version-0.67.0/user-guide-installation.md
+++ /dev/null
@@ -1,121 +0,0 @@
----
-id: user-guide-installation
-title: Installation
-sidebar_label: Installation
-original_id: user-guide-installation
----
-## Prerequisites
-
-### Hardware
-
-* Docker (latest version, see instructions below)
-* Docker Compose (latest version., see instructions below)
-
-### Supported operating systems
-We rely on Docker and support three operating systems for the StreamPipes system
-
-* Linux
-* OSX
-* Windows 10
-    * Please note that older Windows versions are not compatible with Docker. Also Linux VMs under Windows might not work, due to network problems with docker.
-
-### Web Browser
-StreamPipes is a modern web application, therefore you need a recent version of Chrome (recommended), Firefox or Edge.
-
-### Docker
-You need to have Docker installed on your system before you continue with the installation guide.
-
-
-<div class="admonition info">
-<div class="admonition-title">Install Docker</div>
-<p>Go to https://docs.docker.com/installation/ and follow the instructions to install Docker for your OS. Make sure docker can be started as a non-root user (described in the installation manual, don’t forget to log out and in again) and check that Docker is installed correctly by executing docker-run hello-world</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Configure Docker</div>
-<p>By default, Docker uses only a limited number of CPU cores and memory.
-       If you run StreamPipes on Windows or on a Mac you need to adjust the default settings.
-       To do that, click on the Docker icon in your tab bar and open the preferences.
-       Go to the advanced preferences and set the **number of CPUs to 6** (recommended) and the **Memory to 4GB**.
-       After changing the settings, Docker needs to be restarted.</p></div>
-
-
-## Install StreamPipes
-
-<div class="tab-content" id="myTabContent">
-    <div class="tab-pane fade show active" id="linux" role="tabpanel" aria-labelledby="linux-tab">
-        <ul style="padding-left:0">
-            <li class="installation-step">
-                <div class="wrapper-container" style="align-items: center;justify-content: center;">
-                    <div class="wrapper-step">
-                        <span class="fa-stack fa-2x">
-                             <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                             <strong class="fa-stack-1x" style="color:white;">1</strong>
-                        </span>
-                    </div>
-                    <div class="wrapper-instruction">
-                        <a href="https://www.apache.org/dyn/mirrors/mirrors.cgi?action=download&filename=incubator/streampipes/installer/0.67.0/apache-streampipes-installer-0.67.0-incubating-source-release.zip">Download</a>
-                        the latest Apache StreamPipes release and extract the zip file to a directory of your choice.
-                    </div>
-                </div>
-            </li>
-            <li class="installation-step">
-                <div class="wrapper-container" style="align-items: center;justify-content: center;">
-                    <div class="wrapper-step">
-                        <span class="fa-stack fa-2x">
-                             <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                             <strong class="fa-stack-1x" style="color:white;">2</strong>
-                        </span>
-                    </div>
-                    <div class="wrapper-instruction">
-                       In a command prompt, open the folder <code>/compose</code> and run <code>docker-compose up -d</code>.
-                    </div>
-                </div>
-            </li>
-            <li class="installation-step">
-                <div class="wrapper-container" style="align-items: center;justify-content: center;">
-                    <div class="wrapper-step">
-                        <span class="fa-stack fa-2x">
-                             <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                             <strong class="fa-stack-1x" style="color:white;">3</strong>
-                        </span>
-                    </div>
-                    <div class="wrapper-instruction">
-                        Open your browser, navigate to http://localhost:80 (or the domain name of your server) and finish the setup according to the instructions below.
-                    </div>
-                </div>
-            </li>
-        </ul>
-        </div>
-    </div>
-
-## Setup StreamPipes
-
-Once you've opened the browser at the URL given above, you should see StreamPipes application as shown below.
-To set up the system, enter an email address and a password and click on install.
-At this point, it is not necessary to change anything in the advanced settings menu.
-The installation might take some time, continue by clicking on "Go to login page", once all components are successfully configured.
-
-
-On the login page, enter your credentials, then you should be forwarded to the home page.
-
-Congratulations! You've successfully managed to install StreamPipes. Now we're ready to build our first pipeline!
-
-<div class="my-carousel">
-    <img src="/img/quickstart/setup/01_register_user.png" alt="Set Up User"/>
-    <img src="/img/quickstart/setup/02_user_set_up.png" alt="SetUp StreamPipes Components"/>
-    <img src="/img/quickstart/setup/03_login.png" alt="Go to login page"/>
-    <img src="/img/quickstart/setup/04_home.png" alt="Home page"/>
-</div>
-
-<div class="admonition error">
-<div class="admonition-title">Errors during the installation process</div>
-<p>In most cases, errors during the installation are due to an under-powered system.<br/>
-If there is a problem with any of the components, please restart the whole system and delete the "config" directory on the server.
-   This directory is in the same folder as the docker-compose.yml file.<br/>
-   Please also make sure that your system meets the hardware requirements as mentioned in the first section of the installation guide.</p>
-</div>
-
-## Next Steps
-
-Now you can continue with the tutorial on page [First steps](user-guide-first-steps.md).
diff --git a/website-v2/versioned_docs/version-0.67.0/user-guide-introduction.md b/website-v2/versioned_docs/version-0.67.0/user-guide-introduction.md
deleted file mode 100644
index 1e3471a..0000000
--- a/website-v2/versioned_docs/version-0.67.0/user-guide-introduction.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-id: user-guide-introduction-old
-title: Introduction
-sidebar_label: Introduction
-original_id: user-guide-introduction-old
----
-
-StreamPipes is a framework that enables users to work with data streams.
-It uses a lot of different technologies especially form the fields of big data, distributed computing and semantic web.
-One of the core concepts of StreamPipes is to add a higher semantic layer on top of big data processing technologies to ease their usage.
-StreamPipes is not just a UI, it is a framework with a lot of different capabilities, like modelling new data processing pipelines, execute them in a distributed environment.
-On top it uses semantics to provide guidance to non-technical people for better analyzing their data streams in a self-service manner.
-
-
-
-## Pipelines
-The core concept of StreamPipes are data processing pipelines.
-Those pipelines use data from different sources (Data Streams), then transform it via Processing Elements and store them in an database or send it to third party systems (Data Sinks).
-A brief introduction is given in the following sections.
-At the next page a detailed tour through StreamPies explains all the different features that are available.
-
-
-## Data Streams
-Data Streams represent the primary source for data in StreamPipes.
-A stream is an ordered sequence of events, where an event is described as one or more observation values.
-Those events can come from different sources like sensors, machines, log files or many more.
-It does not matter what kind of serialization format the events have or which kind of transportation protocol the individual data streams use.
-As long as a semantic description is provided StreamPipes is capable of processing the data.
-
-
-## Processing Elements
-Processing Elements are defined as an processor that transforms one or more input event streams to an output event stream. 
-Those transformations can be rather simple like filtering out events based on a predefined rule or more complex by applying algorithms on the data.  
-Processing elements define stream requirements that are a set of minimum properties an incoming event stream must provide. 
-Furthermore, Processing Elements describe their output based on a set of output strategies.
-They also describe further (human) input in form of configuration parameters.
-The Processing Elements can be implemented in multiple technologies.
-This information is not necessary when constructing a pipeline, the user does not need to know where and how the actual algorithm is deployed and executed.
-During the modelling phase it is possible to set configuration parameters, wich are then injected into the program when it is started.
-A description is provided for all parameters and it is ensured by the system that the user can just enter semantically correct values.
-
-
-## Data Sinks
-Data Sinks consume event streams similar to processing elements with the difference that sinks do not provide an output stream, i.e., they are defined as sinks that perform some action or trigger a visualization as a result of a stream transformation.
-The sinks also define stream requirements that must be fulfilled.
-In a pipeline it is not necessary to use a processing element to transform data.
-Often it can make sense to just use a data sink and connect it directly to the sensor to store the raw data into a data store for offline analysis.
-This is very simple with StreamPipes and no additional code must be written to create such a data lake.
-
-
-## Target Audience
-StreamPipes focuses on multiple target groups.
-This guide is for users who interact with the graphical user interface in the browser.
-If you are interested in the technical details or plan to extend the system with new algorithms, please read the Developer Guide.
-The graphical user interface is designed for domain experts who want to analyze data, but are not interested in technical details and do not want to write code.
-The SDK can be used by software developers to extend the framework with new functionality.
-After importing newly developed pipeline elements, they are available to all users of StreamPipes.
-
-
-## Next Steps
-To test StreamPipes on your local environment go to the [installation guide](user-guide-installation.md).
-If you are further interested in the concepts of StreamPipes continue with the [tour](user-guide-tour.md).
diff --git a/website-v2/versioned_docs/version-0.68.0/01_try-installation.md b/website-v2/versioned_docs/version-0.68.0/01_try-installation.md
deleted file mode 100644
index 88a3a67..0000000
--- a/website-v2/versioned_docs/version-0.68.0/01_try-installation.md
+++ /dev/null
@@ -1,140 +0,0 @@
----
-id: try-installation
-title: Installation
-sidebar_label: Installation
-original_id: try-installation
----
-
-The easiest way to install StreamPipes is our Docker-based installation. For production-grade deployments, we also
-recommend looking at our Kubernetes support, which is also part of the installation kit.
-
-## Prerequisites
-
-The Docker-based installation requires **Docker** and **Docker Compose** to be installed on the target machine.
-Installation instructions can be found below.
-
-<div class="admonition info">
-<div class="admonition-title">Install Docker</div>
-<p>Go to https://docs.docker.com/installation/ and follow the instructions to install Docker for your OS. Make sure docker can be started as a non-root user (described in the installation manual, don’t forget to log out and in again) and check that Docker is installed correctly by executing docker-run hello-world</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Configure Docker</div>
-<p>By default, Docker uses only a limited number of CPU cores and memory.
-       If you run StreamPipes on Windows or on a Mac you need to adjust the default settings.
-       To do that, click on the Docker icon in your tab bar and open the preferences.
-       Go to the advanced preferences and set the **number of CPUs to 6** (recommended) and the **Memory to 4GB**.
-       After changing the settings, Docker needs to be restarted.</p></div>
-
-### Supported operating systems
-
-The Docker-based installation supports the operating systems **Linux**, **Mac OS X** and **Windows 10**. Older windows
-versions are not fully compatible with Docker. Linux VMs running under Windows might cause network problems with Docker,
-therefore some manual work might be needed to make StreamPipes run properly.
-
-### Web Browser
-
-The StreamPipes application itself will be accessible through a web browser. We recommend a recent version of Chrome (
-best experience), Firefox or Edge.
-
-## Install StreamPipes
-
-<ul style="padding-left:0">
-  <li class="installation-step" style="margin-top:20px;">
-      <div class="wrapper-container" style="">
-          <div class="wrapper-step">
-              <span class="fa-stack fa-2x">
-                   <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                   <strong class="fa-stack-1x" style="color:white;">1</strong>
-              </span>
-          </div>
-          <div class="wrapper-instruction">
-              Download the latest Apache StreamPipes release and extract the zip file to a directory of your choice.
-                  <table class="table" style="margin-top:30px;">
-                      <thead>
-                      <tr style="background:rgb(27, 20, 100);color:white;">
-                          <th scope="col" style="border-bottom:0px;border-top:0px;">File</th>
-                          <th scope="col" style="border-bottom:0px;border-top:0px;">Version</th>
-                          <th scope="col" style="border-bottom:0px;border-top:0px;">Release Date</th>
-                          <th scope="col" style="border-bottom:0px;border-top:0px;">Signatures</th>
-                      </tr>
-                      </thead>
-                      <tbody>
-                      <tr>
-                          <td><a href="https://www.apache.org/dyn/mirrors/mirrors.cgi?action=download&filename=incubator/streampipes/installer/0.68.0/apache-streampipes-installer-0.68.0-incubating-source-release.zip">apache-streampipes-installer-0.68.0-incubating-source-release.zip</a></td>
-                          <td>0.68.0</td>
-                          <td>2021-07-22</td>
-                          <td>
-                              <a href="https://downloads.apache.org/incubator/streampipes/installer/0.68.0/apache-streampipes-installer-0.68.0-incubating-source-release.zip.sha512">SHA</a>
-                              <a href="https://downloads.apache.org/incubator/streampipes/installer/0.68.0/apache-streampipes-installer-0.68.0-incubating-source-release.zip.asc">PGP</a>
-                          </td>
-                      </tr>
-                      </tbody>
-                  </table>
-              <div class="row">
-                  <div class="alert alert-info" role="alert">
-                    The above release file should be verified using the PGP signatures and the <a href="https://downloads.apache.org/incubator/streampipes/KEYS">project release KEYS</a>. See the official ASF <a target="asf" href="https://www.apache.org/dyn/closer.cgi#verify">verification instructions</a> for a description of using the PGP and KEYS files for verification. A SHA512 checksum is also provided as an additional verification method.
-                  </div>
-              </div>
-          </div>
-      </div>
-  </li>
-  <li class="installation-step">
-      <div class="wrapper-container">
-          <div class="wrapper-step">
-              <span class="fa-stack fa-2x">
-                   <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                   <strong class="fa-stack-1x" style="color:white;">2</strong>
-              </span>
-          </div>
-          <div class="wrapper-instruction">
-             <div style="margin-bottom:5px;">In a command prompt, open the folder <code>compose</code> and run <code>docker-compose up -d</code>.
-                <div class="row" style="margin-top:10px;">              
-                    <div class="alert alert-info" role="alert">The folder contains two docker-compose files: The standard file contains the so-called <i>lite</i> installation, which includes less pipeline elements, but also requires for less performant hardware. The <i>full</i> version includes also the Apache Flink wrapper and more pipeline elements, but requires for more memory. See the Github <a href="https://github.com/apache/incubator-streampipes-installer/tree/master/compose">README</a> for complete usage instructions.</div>
-            </div>
-            </div>
-        </div>
-    </div>
-  </li>
-    <li class="installation-step">
-        <div class="wrapper-container" style="align-items: center;justify-content: center;">
-            <div class="wrapper-step">
-                <span class="fa-stack fa-2x">
-                     <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                     <strong class="fa-stack-1x" style="color:white;">3</strong>
-                </span>
-            </div>
-            <div class="wrapper-instruction">
-                Open your browser, navigate to http://localhost:80 (or the domain name of your server) and finish the setup according to the instructions below.
-            </div>
-        </div>
-    </li>
-</ul>
-
-## Setup StreamPipes
-
-Once you've opened the browser at the URL given above, you should see StreamPipes application as shown below. To set up
-the system, enter an email address and a password and click on install. After the installation has finished, continue by clicking on "Go to login
-page", once all components are successfully configured.
-
-On the login page, enter your credentials, then you should be forwarded to the home page.
-
-Congratulations! You've successfully managed to install StreamPipes. Now we're ready to build our first pipeline!
-
-<div class="my-carousel docs-carousel">
-    <img src="/img/01_try-installation/01_register_user.png" alt="Set Up User"/>
-    <img src="/img/01_try-installation/02_user_set_up.png" alt="SetUp StreamPipes Components"/>
-    <img src="/img/01_try-installation/03_login.png" alt="Go to login page"/>
-    <img src="/img/01_try-installation/04_home.png" alt="Home page"/>
-</div>
-
-<div class="admonition error">
-<div class="admonition-title">Errors during the installation process</div>
-<p>In most cases, errors during the installation are due to an under-powered system.<br/>
-If there is a problem with any of the components, please restart the whole system (<code>docker-compose down</code> and eventually also delete the volumes).
-   Please also make sure that your system meets the hardware requirements as mentioned in the first section of the installation guide.</p>
-</div>
-
-## Next Steps
-
-That's it! To ease your first steps with StreamPipes, we've created an [interactive tutorial](01_try-tutorial.md).
diff --git a/website-v2/versioned_docs/version-0.68.0/05_deploy-security.md b/website-v2/versioned_docs/version-0.68.0/05_deploy-security.md
deleted file mode 100644
index b9958c4..0000000
--- a/website-v2/versioned_docs/version-0.68.0/05_deploy-security.md
+++ /dev/null
@@ -1,76 +0,0 @@
----
-id: deploy-security
-title: Security
-sidebar_label: Security
-original_id: deploy-security
----
-
-## Overriding default settings
-
-At installation time, StreamPipes checks for available environment variables relevant for the securing the system. If they are not set, it will use the default values.
-
-The following variables are checked by the core at installation time:
-
-* SP_INITIAL_ADMIN_EMAIL The email address of the initial administrator.
-* SP_INITIAL_ADMIN_PASSWORD The password of the initial administrator.
-* SP_INITIAL_CLIENT_USER The initial client user, used by the extensions modules to make authenticated API requests to the core.
-* SP_INITIAL_CLIENT_SECRET The default password of the initial client user.
-* SP_SETUP_INSTALL_PIPELINE_ELEMENTS Indicates whether pipeline elements should be installed.
-* SP_ENCRYPTION_PASSCODE The encryption passcode, used for securely storing secrets (e.g., database connection strings).
-* SP_JWT_SECRET The JWT secret, used for signing JWT tokens.
-
-In addition, all extensions services that perform requests to the core will need to have the following environment variables set:
-
-* SP_CLIENT_USER The client user, used by the extensions modules to make authenticated API requests to the core.
-* SP_CLIENT_SECRET The password of the client user.
-
-Note that there are default values for all environment variables that are set at installation time - make sure to change these settings when moving to production!
-
-## Configuration
-
-Most security-related settings can be set in the configuration section of StreamPipes. The *General* section allows to set self-service registration and password recovery (both are disabled by default and require a valid email configuration).
-In the *Security* section, users, service accounts, roles and groups can be configured.
-
-
-## User types
-
-StreamPipes distinguishes between User Accounts (real users that interact with StreamPipes over the UI or an API) and Service Accounts (user-independent accounts which solely use StreamPipes over the API).
-
-User accounts are typically used by extensions service that require API access to the core (e.g., to get a list of running pipelines).
-
-## Permissions
-
-StreamPipes v0.69.0 comes with more advanced mechanisms to manage permissions.
-For each major resource (pipeline elements, pipelines, StreamPipes Connect adapters, dashboards, data explorer views), permissions can be assigned individually to users and groups.
-
-To ease permission handling, StreamPipes comes with a default number of roles with pre-assigned privileges:
-
-### Roles
-
-* Admin The administrator role has full access to all resources.
-* Service Admin The service administrator role has full access to all resources, but has no access to the UI.
-* Pipeline Admin has full control of pipelines (create, edit, delete, start, stop, pause, resume, etc.).
-* Pipeline User has limited control of pipelines (read only).
-* Dashboard Admin has full control of dashboards (create, edit, delete, etc.).
-* Dashboard User has limited control of dashboards (read only).
-* Data Explorer Admin has full control of data explorer views (create, edit, delete, etc.).
-* Data Explorer User has limited control of data explorer views (read only).
-* Connect Admin has full control of StreamPipes Connect adapters (create, edit, delete, etc.).
-
-### Groups
-
-Roles can be either assigned to specific users or groups. Any group can contain several members. 
-The permissions of a user are the union of the permissions of all roles assigned to the user and the groups to which the user belongs.
-
-### Changing permissions
-
-Any resource has a resource owner, which is the authority that created the resource. Resources can be either public or private. Public resources are available to all users, while the user role determines what the user can do with the resource.
-E.g., a public pipeline created by a user of role ROLE_ADMIN can be edited by all users with role PIPELINE_ADMIN, while the same pipeline can be read by all users with role PIPELINE_USER.
-
-Permissions can only be changed by admin users currently.
-In the overview section of each resource (e.g., pipelines and dashboards), a permission dialog is available to users with role ROLE_ADMIN. The dialog allows to assign users and groups to the individual resource.
-
-
-
-
-
diff --git a/website-v2/versioned_docs/version-0.68.0/06_extend-cli.md b/website-v2/versioned_docs/version-0.68.0/06_extend-cli.md
deleted file mode 100644
index 79fde00..0000000
--- a/website-v2/versioned_docs/version-0.68.0/06_extend-cli.md
+++ /dev/null
@@ -1,191 +0,0 @@
----
-id: extend-cli
-title: StreamPipes CLI
-sidebar_label: StreamPipes CLI
-original_id: extend-cli
----
-
-The StreamPipes command-line interface (CLI) is focused on developers in order to provide an easy entrypoint to set up a suitable dev environment, either planning on developing
-
-* new extensions such as **connect adapters, processors, sinks** or,
-* new core features for **backend** and **ui**.
-
-The main difference between the standard Docker/K8s installation is an improved communication between services running as containers and services running locally for development.
-
-The CLI can be found in the [main repository](https://github.com/apache/incubator-streampipes/tree/master/installer/cli) or in the ``compose/cli`` folder of the downloaded source code.
-
-## TL;DR
-
-```bash
-streampipes env --list
-[INFO] Available StreamPipes environment templates:
-pipeline-element
-...
-streampipes env --set pipeline-element
-streampipes up -d
-```
-> **NOTE**: use `./streampipes` if you haven't add it to the PATH and sourced it (see section "Run `streampipes` from anywhere?").
-
-## Prerequisites
-The CLI is basically a wrapper around multiple `docker` and `docker-compose` commands plus some additional sugar.
-
-* Docker >= 17.06.0
-* Docker-Compose >= 1.26.0 (Compose file format: 3.4)
-* Google Chrome (recommended), Mozilla Firefox, Microsoft Edge
-* For Windows Developer: GitBash only
-
-
-Tested on: **macOS**, **Linux**, **Windows***)
-
-> **NOTE**: *) If you're using Windows the CLI only works in combination with GitBash - CMD, PowerShell won't work.
-
-
-## CLI commands overview
-
-```
-StreamPipes CLI - Manage your StreamPipes environment with ease
-
-Usage: streampipes COMMAND [OPTIONS]
-
-Options:
-  --help, -h      show help
-  --version, -v   show version
-
-Commands:
-  clean       Remove StreamPipes data volumes, dangling images and network
-  down        Stop and remove StreamPipes containers
-  env         Inspect and select StreamPipes environments
-  info        Get information
-  logs        Get container logs for specific container
-  ps          List all StreamPipes container for running environment
-  pull        Download latest images from Dockerhub
-  restart     Restart StreamPipes environment
-  up          Create and start StreamPipes container environment
-
-Run 'streampipes COMMAND --help' for more info on a command.
-```
-
-## Usage: Along dev life-cycle
-
-**List** available environment templates.
-```bash
-streampipes env --list
-```
-
-**Inspect** services in an available environment to know what kind of services it is composed of.
-```bash
-streampipes env --inspect pipeline-element
-```
-
-**Set** environment, e.g. `pipeline-element`, if you want to write a new pipeline element.
-```bash
-streampipes env --set pipeline-element
-```
-
-**Start** environment ( default: `dev` mode). Here the service definition in the selected environment is used to start the multi-container landscape.
-> **NOTE**: `dev` mode is enabled by default since we rely on open ports to core service such as `consul`, `couchdb`, `kafka` etc. to reach from the IDE when developing. If you don't want to map ports (except the UI port), then use the `--no-ports` flag.
-
-```bash
-streampipes up -d
-# start in production mode with unmapped ports
-# streampipes up -d --no-ports
-```
-Now you're good to go to write your new pipeline element :tada: :tada: :tada:
-
-> **HINT for extensions**: Use our [Maven archetypes](https://streampipes.apache.org/docs/docs/dev-guide-archetype/) to setup a project skeleton and use your IDE of choice for development. However, we do recommend using IntelliJ.
-
-> **HINT for core**: To work on `backend` or `ui` features you need to set the template to `backend` and clone the core repository [incubator-streampipes](https://github.com/apache/incubator-streampipes) - check the prerequisites there for more information.
-
-**Stop** environment and remove docker container
-```bash
-streampipes down
-# want to also clean docker data volumes when stopping the environment?
-# streampipes down -v
-```
-
-## Additionally, useful commands
-
-**Start individual services only?** We got you! You chose a template that suits your needs and now you only want to start individual services from it, e.g. only Kafka and Consul.
-
-> **NOTE**: the service names need to be present and match your current `.spenv` environment.
-
-```bash
-streampipes up -d kafka consul
-```
-
-**Get current environment** (if previously set using `streampipes env --set <environment>`).
-```bash
-streampipes env
-```
-
-**Get logs** of specific service and use optional `--follow` flag to stay attached to the logs.
-```bash
-streampipes logs --follow backend
-```
-
-**Update** all services of current environment
-```bash
-streampipes pull
-```
-
-**Restart** all services of current environment or specific services
-```bash
-streampipes restart
-# restart backend & consul
-# streampipes restart backend consul
-```
-
-**Clean** your system and remove created StreamPipes Docker volumes, StreamPipes docker network and dangling StreamPipes images of old image layers.
-```bash
-streampipes clean
-# remove volumes, network and dangling images
-# streampipes clean --volumes
-```
-
-## Modify/Create an environment template
-As of now, this step has to be done **manually**. All environments are located in `environments/`.
-
-```bash
-├── adapter               # developing a new connect adapter
-├── backend               # developing core backend features
-├── basic                 # wanna run core, UI, connect etc from the IDE?
-├── full                  # full version containing more pipeline elements
-├── lite                  # few pipeline elements, less memory  
-├── pipeline-element      # developing new pipeline-elements
-└── ui                    # developing UI features
-```
-**Modifying an existing environment template**. To modify an existing template, you can simply add a `<YOUR_NEW_SERVICE>` to the template.
-> **NOTE**: You need to make sure, that the service your are adding exists in `deploy/standalone/service/<YOUR_NEW_SERVICE>`. If your're adding a completely new service take a look at existing ones, create a new service directory and include a `docker-compose.yml` and `docker-compose.dev.yml` file.
-
-```
-[environment:backend]
-activemq
-kafka
-...
-<YOUR_NEW_SERVICE>
-```
-
-**Creating a new** environment template. To create a new environment template, place a new file `environments/<YOUR_NEW_ENVIRONMENT>` in the template directory. Open the file and use the following schema.
-> **IMPORTANT**: Please make sure to have `[environment:<YOUR_NEW_ENVIRONMENT>]` header in the first line of your new template matching the name of the file. Make sure to use small caps letters (lowercase) only.
-
-```
-[environment:<YOUR_NEW_ENVIRONMENT>]
-<SERVICE_1>
-<SERVICE_2>
-...
-```
-
-## Run `streampipes` from anywhere? No problem
-Simply add the path to this cli directory to your `$PATH` (on macOS, Linux) variable, e.g. in your `.bashrc` or `.zshrc`, or `%PATH%` (on Windows).
-
-For **macOS**, or **Linux**:
-
-```bash
-export PATH="/path/to/incubator-streampipes-installer/cli:$PATH"
-```
-
-For **Windows 10**, e.g. check this [documentation](https://helpdeskgeek.com/windows-10/add-windows-path-environment-variable/).
-
-
-## Upgrade to new version
-To upgrade to a new version, simply edit the version tag `SP_VERSION` in the `.env` file.
diff --git a/website-v2/versioned_docs/version-0.68.0/06_extend-first-processor.md b/website-v2/versioned_docs/version-0.68.0/06_extend-first-processor.md
deleted file mode 100644
index aa00bbb..0000000
--- a/website-v2/versioned_docs/version-0.68.0/06_extend-first-processor.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-id: extend-first-processor
-title: Your first data processor
-sidebar_label: Your first data processor
-original_id: extend-first-processor
----
-
-In this section, we will explain how to start a pipeline element service and install it using the StreamPipes UI.
-
-Open the class *ExampleDataProcessor* and edit the ``onEvent`` method to print the incoming event, log it to the console and send it to the next component without changing it.
-
-```java
-@Override
-public void onEvent(Event event, SpOutputCollector collector) {
-    // Print the incoming event on the console
-    System.out.println(event);
-
-    // Hand the incoming event to the output collector without changing it.
-    collector.collect(event);
-}
-```
-
-## Start Processor
-Starting from StreamPipes 0.69.0, the IP address of an extensions service (processor, adapter or sink) will be auto-discovered upon start.
-The auto-discovery is done by the StreamPipes service discovery mechanism and should work for most setups.
-Once you start an extensions service, you will see the chosen IP in printed in the console. Make sure that this IP does not point to localhost (127.0.0.1).
-If you see such an IP or the extensions service complains that it cannot resolve the IP, you can manually set the IP address of the extensions service. You can do so by providing an <code>SP_HOST</code> environment variable.
-
-
-To check if the service is up and running, open the browser on *'localhost:8090'* (or the port defined in the service definition). The machine-readable description of the processor should be visible as shown below.
-
-<img src="/img/archetype/endpoint.png" width="90%" alt="Project Structure"/>
-
-
-<div class="admonition error">
-<div class="admonition-title">Common Problems</div>
-<p>
-If the service description is not shown on 'localhost:8090', you might have to change the port address.
-This needs to be done in the configuration of your service, further explained in the configurations part of the developer guide.
-
-If the service does not show up in the StreamPipes installation menu, click on 'MANAGE ENDPOINTS' and add 'http://<span></span>YOUR_IP_OR_DNS_NAME:8090'.
-Use the IP or DNS name you provided as the SP_HOST variable or the IP (if resolvable) found by the auto-discovery service printed in the console.
-After adding the endpoint, a new processor with the name *Example* should show up.
-</p>
-</div>
-
-Now you can go to StreamPipes.
-Your new processor *'Example'* should now show up in the installation menu ("Install Pipeline Elements" in the left navigation bar).
-Install it, then switch to the pipeline view and create a simple pipeline that makes use of your newly created processor.
-In case you opened the StreamPipes installation for the first time, it should have been automatically installed during the setup process.
-
-<img src="/img/archetype/example_pipeline.png" width="80%" alt="Project Structure"/>
-
-Start this pipeline.
-Now you should see logging messages in your console and, once you've created a visualization, you can also see the resulting events of your component in StreamPipes.
-
-Congratulations, you have just created your first processor!
-From here on you can start experimenting and implement your own algorithms.
diff --git a/website-v2/versioned_docs/version-0.68.0/06_extend-sdk-functions.md b/website-v2/versioned_docs/version-0.68.0/06_extend-sdk-functions.md
deleted file mode 100644
index 77d2bb9..0000000
--- a/website-v2/versioned_docs/version-0.68.0/06_extend-sdk-functions.md
+++ /dev/null
@@ -1,126 +0,0 @@
----
-id: extend-sdk-functions
-title: "SDK Guide: Functions"
-sidebar_label: "SDK: Functions"
-original_id: extend-sdk-functions
----
-
-## Introduction
-
-Pipeline elements such as data processors and data sinks are a great way 
-to create _reusable_ components that can be part of pipelines.
-However, creating a pipeline element is not always the best choice:
-
-* The behaviour of a data processor is bound to a specific input stream _and_
-* A data processor doesn't contain any user-defined configuration _and_
-* The intended action is fixed or known at build time and the data processor shouldn't be available in the pipeline editor.
-
-To cover such use cases, we provide _StreamPipes Functions_. Functions 
-are a great way to define custom processing logic based on previously 
-connected data streams.
-
-Functions can be registered in a similar way to pipeline elements, but define expected input 
-streams at startup time. Functions are started once the corresponding _extensions service_ starts
-and run until the service is stopped. 
-
-## Writing a function
-
-<div class="admonition warning">
-    <div class="admonition-title">Work in Progress</div>
-    <p>Functions are currently in preview mode and are not yet recommended for production usage. 
-APIs are subject to change in a future version.</p>
-</div>
-
-To define a function, create a new extensions service using the [Maven Archetypes](06_extend-archetypes.md) or use an already existing service.
-
-### Skeleton
-
-Functions can be defined by creating a new class which extends the ``StreamPipesFunction`` class.
-
-The basic skeleton looks like this:
-
-```java
-public class StreamPipesFunctionExample extends StreamPipesFunction {
-  
-  @Override
-  public FunctionId getFunctionId() {
-    return FunctionId.from("my-function-id", 1);
-  }
-
-  @Override
-  public List<String> requiredStreamIds() {
-    return List.of("<id of the required stream>");
-  }
-
-  @Override
-  public void onServiceStarted(FunctionContext context) {
-    // called when the service is started
-  }
-
-  @Override
-  public void onEvent(Event event, String streamId) {
-    // called when an event arrives
-  }
-
-  @Override
-  public void onServiceStopped() {
-    // called when the service is stopped
-  }
-}
-
-```
-
-The structure of a function class is easy to understand:
-* _getFunctionId_ requires an identifier in form of a ``FunctionId``, which defines the id itself along with a version number that can be freely chosen.
-* _requiredStreamIds_ expects a list of references to data streams that are already available in StreamPipes. See below to learn how to find the id of a stream in StreamPipes.
-* _onServiceStarted_ is called once the extensions service is started and can be used to initialize the function.
-* _onEvent_ is called every time a new event arrives and provides a ``streamId`` as a reference to the corresponding stream, which is useful in case multiple data streams are received by the function.
-* _onServiceStopped_ is called when the extensions service is stopped and can be used to perform any required cleanup.
-
-### Getting a stream ID
-
-Functions require a reference to all data streams that should be retrieved by the function.
-Currently, the only way to get the ID of a function is by navigating to the ``Asset Management`` view in the StreamPipes UI.
-Create a new asset, click on ``Edit Asset`` and open ``Add Link`` in the _Linked Resources_ panel.
-Choose ``Data Source`` as link type, select one of the available sources, copy the ``Resource ID`` and provide this ID in the ``requiredStreamIds`` method.
-
-### Function Context
-
-The ``onServiceStarted`` method provides a function context which provides several convenience methods to work with functions:
-
-* _getFunctionId_ returns the current function identifier
-* _getConfig_ returns a reference to configuration options of the extensions service
-* _getClient_ returns a reference to the StreamPipes client to interact with features from the REST API.
-* _getStreams_ returns the data model of all data streams defined in the ``requiredStreamIds`` method.
-* _getSchema_ returns the schema of a specific data stream by providing the ``streamId``
-
-
-## Registering a function
-
-Registering a function is easy and can be done in the _Init_ class of the service.
-E.g., considering a service definition as illustrated below, simply call ``registerFunction`` and 
-provide an instance of your function.
-
-```java
-
-  @Override
-  public SpServiceDefinition provideServiceDefinition() {
-    return SpServiceDefinitionBuilder.create("my-service-id",
-            "StreamPipes Function Example",
-            "",
-            8090)
-        .registerFunction(new MyExampleFunction())
-        .registerMessagingFormats(
-            new JsonDataFormatFactory())
-        .registerMessagingProtocols(
-            new SpNatsProtocolFactory())
-        .build();
-  }
-  
-```
-
-## Metrics & Monitoring
-
-Similar to pipeline elements, function register at the StreamPipes core. 
-Running functions can be seen in the pipeline view of the user interface under _Functions_, right below the list of available pipelines.
-Similar to pipelines, simple metrics, monitoring info and exceptions can be viewed in the _Details_ section of each function. 
diff --git a/website-v2/versioned_docs/version-0.68.0/06_extend-sdk-migration-sd.md b/website-v2/versioned_docs/version-0.68.0/06_extend-sdk-migration-sd.md
deleted file mode 100644
index 6631fbe..0000000
--- a/website-v2/versioned_docs/version-0.68.0/06_extend-sdk-migration-sd.md
+++ /dev/null
@@ -1,117 +0,0 @@
----
-id: extend-sdk-migration-service-discovery
-title: "Migration Guide: New Service Discovery in 0.69.0"
-sidebar_label: "Migration Guide: 0.69.0"
-original_id: extend-sdk-migration-service-discovery
----
-
-
-## Introduction
-As part of our roadmap towards a release 1.0, Apache StreamPipes 0.69.0 features a new service discovery approach along with performance improvements related to a new storage layer for pipeline element descriptions.
-
-The new service discovery approach is better suited for cloud-native scenarios, as the hostname of a pipeline element is now decoupled from its description. As such, StreamPipes now supports recovery of pipeline elements independent from their assigned host.
-In addition, the new approach simplifies development of StreamPipes, e.g., in cases where the core is running in Docker and pipeline elements are developed on a local machine. In this case, the IP of the host machine should now be auto-discovered so that provision of environement variables should now be obsolete in most cases.
-The second large improvement is related to the replacement of RDF4J as the storage engine with a NoSQL database. This leads to much faster load times (you will notice this especially at system startup).
-
-While we are heavily working towards a stable release 1.0, we decided to put our efforts into the remaining features required for 1.0 and do not provide an auto-migration related to some breaking changes.
-Therefore, we recommend to reinstall StreamPipes when updating to 0.69.0. We currently plan to have at most two more releases before releasing the first 1.x version of StreamPipes.
-
-## Installation
-* Before upgrading to 0.69.0, clean any existing installation (e.g., by running ``docker-compose down -v``) and make sure that no volumes of StreamPipes are left.
-* Upgrade to the latest installer version (currently the dev branch of incubator-streampipes-installer)
-* Upon restart, make sure that the setup dialog appears (make sure that the new StreamPipes logo appears) and re-initialize the system.
-
-## SDK changes
-
-0.69.0 comes with a new ``ServiceDefinitionBuilder`` for pipelines, which simplifies the definition of a pipeline element. 
-
-The ServiceDefinitionBuilder requires an ID of your extensions service, an optional title and description and a default port.
-It is best to provide 8090 as the default port, so that this will be the standard port of all StreamPipes extensions services at deployment time in a containerized environment.
-The port port can always be overriden by providing an ``SP_PORT`` environment variable.
-
-### Init class
-
-Modify the Init class of your pipeline element service as follows:
-
-```java
-public class ExamplesInit extends StandaloneModelSubmitter {
-
-  public static void main(String[] args) {
-    new ExamplesInit().init();
-  }
-
-  @Override
-  public SpServiceDefinition provideServiceDefinition() {
-    return SpServiceDefinitionBuilder.create("org.apache.streampipes.processors.examples.jvm",
-            "StreamPipes Code Examples",
-            "",
-            8090)
-            .registerMessagingProtocols(new SpKafkaProtocolFactory(), new SpJmsProtocolFactory())
-            .registerMessagingFormats(new JsonDataFormatFactory())
-            .registerPipelineElement(new MyPipelineElementController())
-            .registerAdapter(new MyAdapter())
-            .build();
-  }
-}
-```
-
-You can now easily define a StreamPipes extensions service that supports both custom adapters and pipeline elements by using the following Maven dependency:
-This is optional and no changes to your existing Maven dependencies (except the version, e.g., 0.69.0-SNAPSHOT) are required.
-
-```maven
-<dependency>
-    <groupId>org.apache.streampipes</groupId>
-    <artifactId>streampipes-container-extensions</artifactId>
-</dependency>
-```
-
-
-### Configs
-Prior to version 0.69.0, additionally configs had to be provided in a separate ``Config`` class. This is now obsolete - configs can be directly provided within the builder class as follows:
-
-```java
-
- @Override
-  public SpServiceDefinition provideServiceDefinition() {
-    return SpServiceDefinitionBuilder.create("org.apache.streampipes.processors.examples.jvm",
-            "StreamPipes Code Examples",
-            "",
-            8090)
-            .registerPipelineElement(new MyPipelineElement())
-            .registerAdapter(new MyAdapter())
-            .addConfig("key", 1)
-            .addConfig("my-string-config", "myvalue")
-            .build();
-  }
-```
-
-Configs can be easily accessed from the ``EventProcessorRuntimeContext`` (or ``EventSinkRuntimeContext``):
-
-```java
-@Override
-  public void onInvocation(Parameters params, 
-                            SpOutputCollector spOutputCollector, 
-                            EventProcessorRuntimeContext context) {
-  
-    Integer myConfigValue = context.getConfigStore().getConfig().getInteger("key");
-  }
-```
-
-
-### Service Discovery
-An extensions service can be started by executing the Init class. StreamPipes will now automatically select the proper service IP address and register the service in Consul.
-You can inspect the selected IP address in the console:
-
-```
-16:41:58.342 SP [main] INFO  o.a.s.commons.networking.Networking - Using auto-discovered IP: 172.30.80.1
-16:41:58.364 SP [main] INFO  o.a.s.commons.networking.Networking - Using port from provided environment variable SP_PORT: 6025
-16:41:58.367 SP [main] INFO  o.a.s.c.init.DeclarersSingleton - Registering 0 configs in key/value store
-16:41:58.400 SP [main] INFO  o.a.s.s.consul.ConsulProvider - Checking if consul is available...
-16:41:58.419 SP [main] INFO  o.a.s.s.consul.ConsulProvider - Successfully connected to Consul
-```
-
-In some (rare) cases, a non-resolvable IP will be selected. In this case, you can manually override the IP by providing a ``SP_HOST`` environment variable. This falls back to a similar behaviour as in pre-0.69.0-versions and will use the manually provided IP.
-
-
-
-
diff --git a/website-v2/versioned_docs/version-0.68.0/06_extend-sdk-stream-requirements.md b/website-v2/versioned_docs/version-0.68.0/06_extend-sdk-stream-requirements.md
deleted file mode 100644
index da8ce1d..0000000
--- a/website-v2/versioned_docs/version-0.68.0/06_extend-sdk-stream-requirements.md
+++ /dev/null
@@ -1,179 +0,0 @@
----
-id: extend-sdk-stream-requirements
-title: "SDK Guide: Stream Requirements"
-sidebar_label: "SDK: Stream Requirements"
-original_id: extend-sdk-stream-requirements
----
-
-## Introduction
-
-Data processors and data sinks can define ``StreamRequirements``. Stream requirements allow pipeline elements to express requirements on an incoming event stream that are needed for the element to work properly.
-Once users create pipelines in the StreamPipes Pipeline Editor, these requirements are verified against the connected event stream.
-By using this feature, StreamPipes ensures that only pipeline elements can be connected that are syntactically and semantically valid.
-
-This guide covers the creation of stream requirements. Before reading this section, we recommend that you make yourself familiar with the SDK guide on [data processors](dev-guide-processor-sdk.md) and [data sinks](dev-guide-sink-sdk.md).
-
-<div class="admonition tip">
-<div class="admonition-title">Code on Github</div>
-<p>For all examples, the code can be found on <a href="https://www.github.com/apache/incubator-streampipes-examples/tree/dev/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/apache/streampipes/pe/examples/jvm/requirements/">Github</a>.</p>
-</div>
-
-## The StreamRequirementsBuilder
-
-Stream requirements can be defined in the ``declareModel`` method of the pipeline element class. Start with a method body like this:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create(ID, PIPELINE_ELEMENT_NAME, DESCRIPTION)
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-
-                    .build())
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-The ``StreamRequirementsBuilder`` class provides methods to add stream requirements to a pipeline element.
-
-## Requirements on primitive fields
-
-As a very first example, let's assume we would like to create a data processor that filters numerical values that are above a given threshold.
-Consequently, any data stream that is connected to the filter processor needs to provide a numerical value.
-
-The stream requirement would be assigned as follows:
-
-```java
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create(ID, PIPELINE_ELEMENT_NAME, DESCRIPTION)
-            .requiredStream(StreamRequirementsBuilder
-                    .create()
-                    .requiredProperty(EpRequirements.numberReq())
-                    .build())
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-Note the line starting with ``requiredProperty``, which requires any stream to provide a datatype of type ``number``.
-
-In many cases, you'll want to let the user select a specific field from a data stream from all available fields that match the specified requirement. For that, you simply use the method ``requiredPropertyWithUnaryMapping`` as follows:
-
-```java
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create(ID, PIPELINE_ELEMENT_NAME, DESCRIPTION)
-            .requiredStream(StreamRequirementsBuilder
-                    .create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.numberReq(),
-                    Labels.from("number-mapping", "The value that should be filtered", ""), PropertyScope.NONE)
-                    .build())
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-See also the developer guide on [static properties](dev-guide-static-properties.md) to better understand the usage of ``MappingProperties``.
-
-Requirements on primitive fields can be specified for all common datatypes:
-
-```java
- @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.requirements" +
-            ".simple", "Simple requirements specification examples", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.numberReq()) // any number
-                    .requiredProperty(EpRequirements.doubleReq()) // any field of type double
-                    .requiredProperty(EpRequirements.booleanReq()) // any field of type boolean
-                    .requiredProperty(EpRequirements.integerReq()) // any field of type integer
-                    .requiredProperty(EpRequirements.stringReq()) // any field of type string
-
-                    .requiredProperty(EpRequirements.anyProperty()) // any field allowed (no restriction)
-                    .requiredProperty(EpRequirements.timestampReq())  // any timestamp field
-                    .build())
-
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-```
-
-### Specifying semantics
-
-For some algorithms, only specifying the datatype is not sufficient. Let's consider a geofencing algorithm that detects the precense some geospatial coordinate (e.g., from a vehicle) within a given location.
-
-You could specify something like this:
-
-```java
-    StreamRequirementsBuilder
-    .create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.doubleEp(), Labels.from("mapping-latitude", "Latitude", ""), PropertyScope.NONE)
-    .requiredPropertyWithUnaryMapping(EpRequirements.doubleEp(), Labels.from("mapping-longitude", "Longitude", ""), PropertyScope.NONE)
-    .build()
-```
-
-However, this would allow users to create strange pipelines as users could connect any stream containing a double value to our geofencing algorithm.
-To avoid such situations, you can also specify requirements based on the semantics of a field:
-
-```java
-    StreamRequirementsBuilder
-    .create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(SO.Latitude), Labels.from("mapping-latitude", "Latitude", ""), PropertyScope.NONE)
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(SO.Longitude), Labels.from("mapping-longitude", "Longitude", ""), PropertyScope.NONE)
-    .build()
-```
-
-Note that in this case, we make use of Schema.org's ``Latitude`` concept ([https://schema.org/latitude](https://schema.org/latitude)). StreamPipes already includes popular vocabularies for specifying semantics. You are also free to use your own vocabularies.
-
-
-## Requirements on lists
-
-Similarly to primitive requirements, you can define processors that require data streams with list fields, see the following examples:
-
-```java
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.requirements" +
-            ".list", "List requirements specification examples", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.Integer))
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.Double))
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.Boolean))
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.String))
-                    .build())
-
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-## Requirements on nested properties
-
-(coming soon, see the Javadoc for now)
-
-
-
diff --git a/website-v2/versioned_docs/version-0.68.0/06_extend-setup.md b/website-v2/versioned_docs/version-0.68.0/06_extend-setup.md
deleted file mode 100644
index bea5d2c..0000000
--- a/website-v2/versioned_docs/version-0.68.0/06_extend-setup.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-id: extend-setup
-title: Development Setup
-sidebar_label: Development Setup
-original_id: extend-setup
----
-
-Pipeline elements in StreamPipes are provided as standalone microservices. New pipeline elements can be easily developed using the provided Maven archetypes and can be installed in StreamPipes at runtime.
-
-In this section, we describe our recommended minimum setup for locally setting up a development instance of StreamPipes needed to develop, run and test new pipeline elements.
-
-## IDE & required dev tools
-StreamPipes does not have specific requirements on the IDE - so feel free to choose the IDE of your choice.
-The only requirements in terms of development tools are that you have Java 8 and Maven installed.
-
-## StreamPipes CLI: Docker-based local StreamPipes instance
-In order to quickly test developed pipeline elements without needing to install all services required by StreamPipes, we provide a CLI tool that allows you to selectively start StreamPipes components.
-The CLI tool allows to switch to several templates (based on docker-compose) depending on the role. 
-
-The documentation on the usage of the CLI tool is available [here](06_extend-cli.md).
-
-## Override the SP_HOST variable
-
-By default, the backend/core of StreamPipes registers itself within StreamPipes' service discovery mechanism using an auto-discovered hostname.
-Usually, this will be an IP address from the Docker network, which is not resolvable from outside. Therefore, for local development you need to override the hostname with an IP address which is accessible from your local host where you develop extensions.
-When using the CLI, open the CLI folder ``installer/cli``, navigate to ``deploy/standalone/backend``, open the ``docker-compose.dev.yml`` file and add the SP_HOST env variable, e.g.
-
-```
-version: "3.4"
-services:
-  backend:
-    ports:
-      - "8030:8030"
-    environment:
-      - SP_HOST=host.docker.internal
-```
-
-Note that host.docker.internal will work as an alias under Docker for Desktop on Windows and Mac, but not on Linux or M1. In this case, provide a resolvable hostname or IP address manually.
-
-## Starter projects
-
-Now, once you've started the development instance, you are ready to develop your very first pipeline element.
-Instead of starting from scratch, we recommend using our provided maven archetypes:
-
-### Maven archetypes
-
-Create the Maven archetype as described in the [Maven Archetypes](06_extend-archetypes.md) guide.
-
-### Examples
-
-We provide several examples that explain the usage of some concepts in this [Github repo](https://github.com/apache/incubator-streampipes-examples). 
diff --git a/website-v2/versioned_docs/version-0.68.0/06_extend-tutorial-data-processors.md b/website-v2/versioned_docs/version-0.68.0/06_extend-tutorial-data-processors.md
deleted file mode 100644
index b4ca0c5..0000000
--- a/website-v2/versioned_docs/version-0.68.0/06_extend-tutorial-data-processors.md
+++ /dev/null
@@ -1,501 +0,0 @@
----
-id: extend-tutorial-data-processors
-title: "Tutorial: Data Processors"
-sidebar_label: "Tutorial: Data Processors"
-original_id: extend-tutorial-data-processors
----
-
-In this tutorial, we will add a new data processor using the Apache Flink wrapper.
-
-From an architectural point of view, we will create a self-contained service that includes the description of the data processor and a Flink-compatible implementation.
-Once a pipeline is started that uses this data processor, the implementation is submitted to an Apache Flink cluster.
-
-## Objective
-
-We are going to create a new data processor that realized a simple geofencing algorithm - we detect vehicles that enter a specified radius around a user-defined location.
-This pipeline element will be a generic element that works with any event stream that provides geospatial coordinates in form of a latitude/longitude pair.
-
-The algorithm outputs every location event once the position has entered the geofence.
-
-
-<div class="admonition note">
-<div class="admonition-title">Note</div>
-<p>The implementation in this tutorial is pretty simple - our processor will fire an event every time the GPS location is inside the geofence.
-       In a real-world application, you would probably want to define a pattern that recognizes the _first_ event a vehicle enters the geofence.<br/>
-       This can be easily done using a CEP library, e.g., Apache Flink CEP.</p>
-</div>
-
-
-## Project setup
-
-To create new projects from scratch, several Maven archetypes exist to start developing.
-Enter the following command to create a new project based ongit st the StreamPipes ``Processors-Flink`` archetype:
-
-```
-mvn archetype:generate -DarchetypeGroupId=org.apache.streampipes \
--DarchetypeArtifactId=streampipes-archetype-pe-processors-flink -DarchetypeVersion=0.68.0 \
--DgroupId=org.streampipes.tutorial -DartifactId=geofence-tutorial -DclassNamePrefix=Geofencing -DpackageName=geofencing
-```
-
-Once you've imported the generated project, the project structure should look as follows:
-
-<img src="/img/tutorial-processors/project-structure-processor.PNG" alt="Project Structure Data Processor"/>
-
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Besides the basic project skeleton, the sample project also includes an example Dockerfile you can use to package your application into a Docker container.</p>
-</div>
-
-Now you're ready to create your first data processor for StreamPipes!
-
-## Adding data processor requirements
-
-First, we will add a new stream requirement.
-Open the class `GeofencingController` which should look as follows:
-
-```java
-package org.streampipes.tutorial.pe.processor.geofencing;
-
-import org.streampipes.tutorial.config.Config;
-
-import org.streampipes.model.DataProcessorType;
-import org.streampipes.model.graph.DataProcessorDescription;
-import org.streampipes.model.graph.DataProcessorInvocation;
-import org.streampipes.sdk.builder.ProcessingElementBuilder;
-import org.streampipes.sdk.builder.StreamRequirementsBuilder;
-import org.streampipes.sdk.extractor.ProcessingElementParameterExtractor;
-import org.streampipes.sdk.helpers.EpRequirements;
-import org.streampipes.sdk.helpers.Labels;
-import org.streampipes.sdk.helpers.OutputStrategies;
-import org.streampipes.sdk.helpers.SupportedFormats;
-import org.streampipes.sdk.helpers.SupportedProtocols;
-import org.streampipes.wrapper.flink.FlinkDataProcessorDeclarer;
-import org.streampipes.wrapper.flink.FlinkDataProcessorRuntime;
-
-public class GeofencingController extends
-				FlinkDataProcessorDeclarer<GeofencingParameters> {
-
-	private static final String EXAMPLE_KEY = "example-key";
-
-	@Override
-	public DataProcessorDescription declareModel() {
-		return ProcessingElementBuilder.create("org.streampipes.tutorial-geofencing")
-						.category(DataProcessorType.ENRICH)
-                        .withAssets(Assets.DOCUMENTATION, Assets.ICON)
-						.withLocales(Locales.EN)
-						.requiredStream(StreamRequirementsBuilder
-							.create()
-							.requiredProperty(EpRequirements.anyProperty())
-							.build())
-						.outputStrategy(OutputStrategies.keep())
-						.requiredTextParameter(Labels.from(EXAMPLE_KEY, "Example Text Parameter", "Example " +
-				"Text Parameter Description"))
-						.build();
-	}
-
-	@Override
-	public FlinkDataProcessorRuntime<GeofencingParameters> getRuntime(DataProcessorInvocation
-				graph, ProcessingElementParameterExtractor extractor) {
-
-		String exampleString = extractor.singleValueParameter(EXAMPLE_KEY, String.class);
-
-		GeofencingParameters params = new GeofencingParameters(graph, exampleString);
-
-		return new GeofencingProgram(params, Config.INSTANCE.getDebug());
-	}
-
-}
-
-```
-
-In this class, we need to implement two methods: The `declareModel` method is used to define abstract stream requirements such as event properties that must be present in any input stream that is later connected to the element using the StreamPipes UI.
-The second method, `getRuntime` is used to create and deploy the parameterized Flink program once a pipeline using this element is started.
-
-Similar to data sources, the SDK provides a builder class to generate the description for data processors.
-Delete the content within the ``declareModel`` method and add the following lines to the `declareModel` method:
-
-```java
-return ProcessingElementBuilder.create("org.streampipes.tutorial.geofencing", "Geofencing", "A simple geofencing data processor " +
-            "using the Apache Flink wrapper")
-```
-
-This creates a new data processor with the ID, title and description assigned to the element builder.
-Next, we add some _stream requirements_ to the description. As we'd like to develop a generic pipeline element that works with any event that provides a lat/lng pair, we define two stream requirements as stated below:
-
-```java
-.requiredStream(StreamRequirementsBuilder
-    .create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lat),
-            Labels.from("latitude-field", "Latitude", "The event " +
-            "property containing the latitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lng),
-            Labels.from("longitude-field", "Longitude", "The event " +
-                    "property containing the longitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-    .build())
-```
-
-The first line, `.requiredStream()` defines that we want a data processor with exactly one input stream. Adding more stream requirements would create elements with multiple input connectors in StreamPipes.
-Stream requirements can be assigned by using the `StreamRequirementsBuilder` class.
-In our example, we define two requirements, so-called _domain property requirements_. In contrast to _data type requirements_ where we'd expect an event property with a field of a specific data type (e.g., float), domain property requirements expect a specific domain property, e.g., from a vocabulary such as the WGS84 Geo vocab.
-
-Once a pipeline is deployed, we are interested in the actual field (and its field name) that contains the latitude and longitude values.
-In some cases, there might me more than one field that satisfies a property requirement and we would like users to select the property the geofencing component should operate on.
-Therefore, our example uses the method `requiredPropertyWithUnaryMapping`, which will map a requirement to a real event property of an input stream and  let the user choose the appropriate field in the StreamPipes UI when pipelines are defined.
-
-Finally, the `PropertyScope` indicates that the required property is a measurement value (in contrast to a dimension value). This allows us later to provide improved user guidance in the pipeline editor.
-
-Besides requirements, users should be able to define the center coordinate of the Geofence and the size of the fence defined as a radius around the center in meters.
-The radius can be defined by adding a simple required text field to the description:
-
-```java
-.requiredIntegerParameter("radius", "Geofence Size", "The size of the circular geofence in meters.", 0, 1000, 1)
-```
-
-Similar to mapping properties, text parameters have an internalId (radius), a label and a description.
-In addition, we can assign a _value specification_ to the parameter indicating the value range we support.
-Our example supports a radius value between 0 and 1000 with a granularity of 1.
-In the StreamPipes UI, a required text parameter is rendered as a text input field, in case we provide an optional value specification, a slider input is automatically generated.
-
-Such user-defined parameters are called _static properties_. There are many different types of static properties (see
- the [Processor SDK](06_extend-sdk-static-properties.md) for an overview).
-
-One example are _DomainProperties_ we use for defining the center of the geofence.
-Our data processor requires a lat/lng pair that marks the center of the geofence.
-However, letting users directly input latitude and longitude coordinates wouldn't be very user-friendly.
-Therefore, we can link required text parameters to _ontology concepts_. By understanding the required input, the StreamPipes UI is able to determine which user interface works best for a specific concept.
-
-Add the following line to the `declareModel` method:
-
-```java
-.requiredOntologyConcept(Labels.from("location", "Geofence Center", "Provide the coordinate of the " +
-    "geofence center"), OntologyProperties.mandatory(Geo.lat), OntologyProperties.mandatory(Geo.lng))
-
-```
-
-We've now defined that we would like to receive an instance that provides a latitude and a longitude coordinate.
-Users can input these values either manually, or they can look up _domain knowledge_, i.e., knowledge stored isolated from the stream definition.
-
-Finally, we need to define technical requirements of the data processor, called _groundings_.
-StreamPipes supports various runtime data formats (e.g., JSON or Thrift) and various protocols (e.g., Kafka or JMS).
-Each component defines supports formats and protocol separately.
-For our example, we'd like to support JSON-based messages and Kafka as input and output broker protocol, so append the following:
-
-```java
-.supportedProtocols(SupportedProtocols.kafka())
-.supportedFormats(SupportedFormats.jsonFormat())
-.build();
-```
-
-Now we need to define the output of our Geofencing pipeline element.
-As explained in the first section, the element should fire every time some geo-located entity arrives within the defined geofence.
-Therefore, the processor outputs the same schema as it receives as an input.
-Although we don't know the exact input right now as it depends on the stream users connect in StreamPipes when creating pipelines, we can define an _output strategy_ as follows:
-
-```java
-.outputStrategy(OutputStrategies.keep())
-```
-
-This defines a _KeepOutputStrategy_, i.e., the input event schema is not modified by the processor.
-There are many more output strategies you can define depending on the functionality you desire, e.g., _AppendOutput_ for defining a processor that enriches events or _CustomOutput_ in case you would like users to select the output by themselves.
-
-That's it! We've now defined input requirements, required user input, technical requirements concerned with data format and protocol and an output strategy.
-In the next section, you will learn how to extract these parameters once the pipeline element is invoked after a pipeline was created.
-
-## Pipeline element invocation
-
-Once users start a pipeline that uses our geofencing component, the _getRuntime_ method in our class is called. The class `DataSinkInovcation` includes a graph that contains information on the configuration parameters a users has selected in the pipeline editor and information on the acutal streams that are connected to the pipeline element.
-
-Before we explain in more detail how to extract these values from the processor invocation, we need to adapt a little helper class.
-Open the file ```GeofencingParameters``` and modify it as follows:
-
-```java
-public class GeofencingParameters extends EventProcessorBindingParams {
-
-  private String latitudeFieldName;
-  private String longitudeFieldName;
-
-  private Float centerLatitude;
-  private Float centerLongitude;
-
-  private Integer radius;
-
-  public GeofencingParameters(DataProcessorInvocation graph, String latitudeFieldName, String longitudeFieldName,
-                              Float centerLatitude, Float centerLongitude, Integer radius) {
-    super(graph);
-    this.latitudeFieldName = latitudeFieldName;
-    this.longitudeFieldName = longitudeFieldName;
-    this.centerLatitude = centerLatitude;
-    this.centerLongitude = centerLongitude;
-    this.radius = radius;
-  }
-
-  public String getLatitudeFieldName() {
-    return latitudeFieldName;
-  }
-
-  public String getLongitudeFieldName() {
-    return longitudeFieldName;
-  }
-
-  public Float getCenterLatitude() {
-    return centerLatitude;
-  }
-
-  public Float getCenterLongitude() {
-    return centerLongitude;
-  }
-
-  public Integer getRadius() {
-    return radius;
-  }
-```
-
-This simple Pojo class will later serve to store user-defined parameters in a single object.
-
-Now we go back to the controller class and extract these values from the invocation object.
-
-The ``ProcessingElementParameterExtractor``  provides convenience methods to extract the relevant information from the `DataProcessorInvocation` object.
-
-Next, we are interested in the fields of the input event stream that contains the latitude and longitude value we would like to compute against the geofence center location as follows:
-
-```java
-String latitudeFieldName = extractor.mappingPropertyValue("latitude-field");
-String longitudeFieldName = extractor.mappingPropertyValue("longitude-field");
-```
-
-We use the same `internalId` we've used to define the mapping property requirements in the `declareModel` method.
-
-Next, for extracting the geofence center coordinates, we use the following statements:
-
-```java
-Float centerLatitude = extractor.supportedOntologyPropertyValue("location", Geo.lat, Float.class);
-Float centerLongitude = extractor.supportedOntologyPropertyValue("location", Geo.lng, Float.class);
-```
-
-The radius value can be extracted as follows:
-
-```java
-Integer radius = extractor.singleValueParameter("radius", Integer.class);
-```
-
-Now we can create a new instance of our previously created parameter class:
-
-```java
-GeofencingParameters params = new GeofencingParameters(dataProcessorInvocation, latitudeFieldName,
-            longitudeFieldName, centerLatitude, centerLongitude, radius);
-```
-
-Finally, return an instance of the class ```GeofencingProgram```:
-
-```java
-return new GeofencingProgram(params, true);
-```
-
-<div class="admonition tip">
-<div class="admonition-title">Info</div>
-<p>The line above uses the Flink MiniCluster to start the Flink program for debugging purposes.
-       Before you build the project and use it in a real environment, replace the line as follows, which triggers cluster execution:
-       <code>return new GeofencingProgram(params, new FlinkDeploymentConfig(Config.JAR_FILE, Config.INSTANCE.getFlinkHost(), Config.INSTANCE.getFlinkPort())</code></p>
-</div>
-
-
-Great! That's all we need to describe a data processor for usage in StreamPipes. Your controller class should look as follows:
-
-```java
-import org.streampipes.model.graph.DataProcessorDescription;
-import org.streampipes.model.graph.DataProcessorInvocation;
-import org.streampipes.model.schema.PropertyScope;
-import org.streampipes.sdk.builder.ProcessingElementBuilder;
-import org.streampipes.sdk.builder.StreamRequirementsBuilder;
-import org.streampipes.sdk.extractor.ProcessingElementParameterExtractor;
-import org.streampipes.sdk.helpers.EpRequirements;
-import org.streampipes.sdk.helpers.Labels;
-import org.streampipes.sdk.helpers.OntologyProperties;
-import org.streampipes.sdk.helpers.OutputStrategies;
-import org.streampipes.sdk.helpers.SupportedFormats;
-import org.streampipes.sdk.helpers.SupportedProtocols;
-import org.streampipes.vocabulary.Geo;
-import org.streampipes.wrapper.flink.FlinkDataProcessorDeclarer;
-import org.streampipes.wrapper.flink.FlinkDataProcessorRuntime;
-
-public class GeofencingController extends FlinkDataProcessorDeclarer<GeofencingParameters> {
-
-  @Override
-  protected FlinkDataProcessorRuntime<GeofencingParameters> getRuntime(DataProcessorInvocation dataProcessorInvocation) {
-    ProcessingElementParameterExtractor extractor = ProcessingElementParameterExtractor.from(dataProcessorInvocation);
-
-    String latitudeFieldName = extractor.mappingPropertyValue("latitude-field");
-    String longitudeFieldName = extractor.mappingPropertyValue("longitude-field");
-
-    Float centerLatitude = extractor.supportedOntologyPropertyValue("location", Geo.lat, Float.class);
-    Float centerLongitude = extractor.supportedOntologyPropertyValue("location", Geo.lng, Float.class);
-
-    Integer radius = extractor.singleValueParameter("radius", Integer.class);
-
-    GeofencingParameters params = new GeofencingParameters(dataProcessorInvocation, latitudeFieldName,
-            longitudeFieldName, centerLatitude, centerLongitude, radius);
-
-    return new GeofencingProgram(params);
-  }
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("geofencing-flink", "Geofencing", "A simple geofencing data processor " +
-            "using the Apache Flink wrapper")
-            .requiredStream(StreamRequirementsBuilder
-                    .create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lat),
-                            Labels.from("latitude-field", "Latitude", "The event " +
-                            "property containing the latitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-                    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lng),
-                            Labels.from("longitude-field", "Longitude", "The event " +
-                                    "property containing the longitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-                    .build())
-            .requiredIntegerParameter("radius", "Geofence Size", "The size of the circular geofence in meters.",
-                    0, 1000, 1)
-            .requiredOntologyConcept(Labels.from("location", "Geofence Center", "Provide the coordinate of the " +
-                    "geofence center"), OntologyProperties.mandatory(Geo.lat), OntologyProperties.mandatory(Geo.lng))
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-            .build();
-  }
-}
-
-```
-
-## Adding an implementation
-
-Everything we need to do now is to add an implementation which does not differ from writing an Apache Flink topology.
-
-Open the class `GeofencingProcessor.java` and add the following piece of code, which realizes the Geofencing functionality:
-
-```java
-public class GeofencingProcessor implements FlatMapFunction<Map<String, Object>, Map<String, Object>> {
-
-  private String latitudeFieldName;
-  private String longitudeFieldName;
-
-  private Float centerLatitude;
-  private Float centerLongitude;
-
-  private Integer radius;
-
-  public GeofencingProcessor(String latitudeFieldName, String longitudeFieldName, Float centerLatitude, Float centerLongitude, Integer radius) {
-    this.latitudeFieldName = latitudeFieldName;
-    this.longitudeFieldName = longitudeFieldName;
-    this.centerLatitude = centerLatitude;
-    this.centerLongitude = centerLongitude;
-    this.radius = radius;
-  }
-
-  @Override
-  public void flatMap(Event in, Collector<Event> out) throws Exception {
-    Float latitude = in.getFieldBySelector(latitudeFieldName).getAsPrimitive().getAsFloat();
-    Float longitude = in.getFieldBySelector(longitudeFieldName).getAsPrimitive().getAsFloat();
-
-    Float distance = distFrom(latitude, longitude, centerLatitude, centerLongitude);
-
-    if (distance <= radius) {
-      out.collect(in);
-    }
-  }
-
-  public static Float distFrom(float lat1, float lng1, float lat2, float lng2) {
-    double earthRadius = 6371000;
-    double dLat = Math.toRadians(lat2-lat1);
-    double dLng = Math.toRadians(lng2-lng1);
-    double a = Math.sin(dLat/2) * Math.sin(dLat/2) +
-            Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) *
-                    Math.sin(dLng/2) * Math.sin(dLng/2);
-    double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
-    return (float) (earthRadius * c);
-  }
-
-}
-```
-
-We won't go into details here as this isn't StreamPipes-related code, but in general the class extracts latitude and longitude fields from the input event (which is provided as a map data type) and calculates the distance between the geofence center and these coordinates.
-If the distance is below the given radius, the event is forwarded to the next operator.
-
-Finally, we need to connect this program to the Flink topology. StreamPipes automatically adds things like the Kafka consumer and producer, so that you only need to invoke the actual geofencing processor.
-Open the file `GeofencingProgram` and append the following line inside the `getApplicationLogic()` method:
-
-```java
-return dataStreams[0].flatMap(new GeofencingProcessor(params.getLatitudeFieldName(), params.getLongitudeFieldName(),
-    params.getCenterLatitude(), params.getCenterLongitude(), params.getRadius()));
-```
-
-## Preparing the container
-The final step is to define the deployment type of our new data source. In this tutorial, we will create a so-called `StandaloneModelSubmitter`.
-This client will start an embedded web server that provides the description of our data source and automatically submits the program to the registered Apache Flink cluster.
-
-Go to the class `Init` that extends `StandaloneModelSubmitter` and should look as follows:
-```java
-package org.streampipes.tutorial.main;
-
-import org.streampipes.container.init.DeclarersSingleton;
-import org.streampipes.container.standalone.init.StandaloneModelSubmitter;
-
-import org.streampipes.tutorial.config.Config;
-import org.streampipes.tutorial.pe.processor.geofencing.GeofencingController;
-
-public class Init extends StandaloneModelSubmitter {
-
-  public static void main(String[] args) throws Exception {
-    DeclarersSingleton.getInstance()
-            .add(new GeofencingController());
-
-    new Init().init(Config.INSTANCE);
-
-  }
-}
-```
-
-<div class="admonition info">
-<div class="admonition-title">Info</div>
-<p>In the example above, we make use of a class `Config`.
-       This class contains both mandatory and additional configuration parameters required by a pipeline element container.
-       These values are stored in the Consul-based key-value store of your StreamPipes installation.
-       The SDK guide contains a detailed manual on managing container configurations.
-</p>
-</div>
-
-## Starting the container
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>By default, the container registers itself using the hostname later used by the Docker container, leading to a 404 error when you try to access an RDF description.
-       For local development, we provide an environment file in the ``development`` folder. You can add your hostname here, which will override settings from the Config class.
-       For instance, use the IntelliJ ``EnvFile`` plugin to automatically provide the environment variables upon start.
-</p>
-</div>
-
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p> The default port of all pipeline element containers as defined in the `Config` file is port 8090.
-       If you'd like to run mutliple containers at the same time on your development machine, change the port in the environment file.
-</p>
-</div>
-
-Now we are ready to start our container!
-
-Execute the main method in the class `Main` we've just created, open a web browser and navigate to http://localhost:8090 (or the port you have assigned in the environment file).
-
-You should see something as follows:
-
-<img src="/img/tutorial-processors/pe-overview-flink.PNG" alt="Pipeline Element Container Overview (Flink)"/>
-
-Click on the link of the data source to see the RDF description of the pipeline element.
-
-<img src="/img/tutorial-processors/pe-rdf-geofencing.PNG" alt="Geofencing RDF description"/>
-
-The container automatically registers itself in the Consul installation of StreamPipes.
-To install the just created element, open the StreamPipes UI and follow the manual provided in the [user guide](03_use-install-pipeline-elements.md).
-
-## Read more
-
-Congratulations! You've just created your first data processor for StreamPipes.
-There are many more things to explore and data processors can be defined in much more detail using multiple wrappers.
-Follow our [SDK guide](06_extend-sdk-static-properties.md) to see what's possible!
diff --git a/website-v2/versioned_docs/version-0.68.0/06_extend-tutorial-data-sinks.md b/website-v2/versioned_docs/version-0.68.0/06_extend-tutorial-data-sinks.md
deleted file mode 100644
index f7c7429..0000000
--- a/website-v2/versioned_docs/version-0.68.0/06_extend-tutorial-data-sinks.md
+++ /dev/null
@@ -1,248 +0,0 @@
----
-id: extend-tutorial-data-sinks
-title: "Tutorial: Data Sinks"
-sidebar_label: "Tutorial: Data Sinks"
-original_id: extend-tutorial-data-sinks
----
-
-In this tutorial, we will add a new data sink using the standalone wrapper.
-
-From an architectural point of view, we will create a self-contained service that includes the description of the data sink and a corresponding implementation.
-
-## Objective
-
-We are going to create a new data sink that calls an external HTTP endpoint to forward data to an external service.
-
-For each incoming event, an external service is invoked using an HTTP POST request. In this example, we'll call an endpoint provided by [RequestBin](https://requestbin.com/).
-To setup your own endpoint, go to [https://requestbin.com/](https://requestbin.com/) and click "Create a request bin". Copy the URL of the newly created endpoint.
-
-
-## Project setup
-
-We'll create a new project using the provided sinks-standalone-jvm Maven archetype.
-Enter the following command to create a new project based on the StreamPipes ``Sinks-JVM`` archetype:
-
-```
-mvn archetype:generate -DarchetypeGroupId=org.apache.streampipes \
--DarchetypeArtifactId=streampipes-archetype-pe-sinks-jvm -DarchetypeVersion=0.68.0 \
--DgroupId=org.streampipes.tutorial -DartifactId=sink-tutorial -DclassNamePrefix=Rest -DpackageName=geofencing
-```
-
-Once you've imported the generated project, the project structure should look as follows:
-
-<img src="/img/tutorial-sinks/project-structure-sinks.png" alt="Project Structure Data Sink"/>
-
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Besides the basic project skeleton, the sample project also includes an example Dockerfile you can use to package your application into a Docker container.</p>
-</div>
-
-Now you're ready to create your first data sink for StreamPipes!
-
-## Adding data sink requirements
-
-First, we will add a new stream requirement.
-Open the class `RestController` which should look as follows:
-
-```java
-package org.streampipes.tutorial.pe.sink.rest;
-
-import org.streampipes.model.DataSinkType;
-import org.streampipes.model.graph.DataSinkDescription;
-import org.streampipes.model.graph.DataSinkInvocation;
-import org.streampipes.sdk.builder.DataSinkBuilder;
-import org.streampipes.sdk.builder.StreamRequirementsBuilder;
-import org.streampipes.sdk.extractor.DataSinkParameterExtractor;
-import org.streampipes.sdk.helpers.EpRequirements;
-import org.streampipes.sdk.helpers.Labels;
-import org.streampipes.sdk.helpers.SupportedFormats;
-import org.streampipes.sdk.helpers.SupportedProtocols;
-import org.streampipes.wrapper.standalone.ConfiguredEventSink;
-import org.streampipes.wrapper.standalone.declarer.StandaloneEventSinkDeclarer;
-import org.streampipes.sdk.helpers.*;
-import org.streampipes.sdk.utils.Assets;
-
-public class RestController extends StandaloneEventSinkDeclarer<RestParameters> {
-
-	private static final String EXAMPLE_KEY = "example-key";
-
-	@Override
-	public DataSinkDescription declareModel() {
-		return DataSinkBuilder.create("org.streampipes.tutorial.pe.sink.rest")
-						.category(DataSinkType.NOTIFICATION)
-						.withAssets(Assets.DOCUMENTATION, Assets.ICON)
-						.withLocales(Locales.EN)
-						.requiredStream(StreamRequirementsBuilder
-                                            .create()
-                                            .requiredPropertyWithNaryMapping(EpRequirements.anyProperty(), Labels.withId(
-                                                    "fields-to-send"), PropertyScope.NONE)
-                                            .build())
-						.build();
-	}
-
-	@Override
-	public ConfiguredEventSink<RestParameters> onInvocation(DataSinkInvocation graph, DataSinkParameterExtractor extractor) {
-
-		 List<String> fieldsToSend = extractor.mappingPropertyValues("fields-to-send");
-        
-         RestParameters params = new RestParameters(graph, fieldsToSend);
-
-		return new ConfiguredEventSink<>(params, Rest::new);
-	}
-
-}
-
-```
-
-In this class, we need to implement two methods: The `declareModel` method is used to define abstract stream requirements such as event properties that must be present in any input stream that is later connected to the element using the StreamPipes UI.
-The second method, `onInvocation` is used to create and deploy program once a pipeline using this sink is started.
-
-The ``declareModel`` method describes the properties of our data sink:
-* ``category`` defines a category for this sink.
-* ``withAssets`` denotes that we will provide an external documentation file and an icon, which can be found in the ``resources`` folder
-* ``withLocales`` defines that we will provide an external language file, also available in the ``resources`` folder
-* ``requiredStream`` defines requirements any input stream connected to this sink must provide. In this case, we do not have any specific requirements, we just forward all incoming events to the REST sink. However, we want to let the user display a list of available fields from the connected input event, where users can select a subset. This is defined by defining a Mapping from the empty requirement. This will later on render a selection dialog in the pipeline editor.
-
-The ``onInvocation`` method is called when a pipeline containing the sink is started. Once a pipeline is started, we would like to extract user-defined parameters.
-In this example, we simply extract the fields selected by users that should be forwarded to the REST sink. Finally, we return a new configured event sink containing the parameters.
-
-## Pipeline element invocation
-
-Once users start a pipeline that uses our geofencing component, the _getRuntime_ method in our class is called. The class `DataSinkInovcation` includes a graph that contains information on the configuration parameters a users has selected in the pipeline editor and information on the acutal streams that are connected to the pipeline element.
-
-Before we explain in more detail how to extract these values from the processor invocation, we need to adapt a little helper class.
-Open the file ```RestParameters``` and modify it as follows:
-
-```java
-public class RestParameters extends EventSinkBindingParams {
-
-  private List<String> fieldsToSend;
-
-  public RestParameters(DataSinkInvocation graph, List<String> fieldsToSend) {
-    super(graph);
-    this.fieldsToSend = fieldsToSend;
-  }
-
-  public List<String> getFieldsToSend() {
-    return fieldsToSend;
-  }
-}
-```
-
-This file will later provide information on the configured pipeline element.
-
-## Adding an implementation
-
-Now open the class ``Rest`` to add the proper implementation (i.e., the Rest call executed for every incoming event).
-
-Our final class should look as follows:
-
-```java
-private static Logger LOG = LoggerFactory.getLogger(Rest.class.getCanonicalName());
-
-  private static final String REST_ENDPOINT_URI = YOUR_REQUEST_BIN_URL;
-  private List<String> fieldsToSend;
-  private SpDataFormatDefinition dataFormatDefinition;
-
-  public Rest() {
-    this.dataFormatDefinition = new JsonDataFormatDefinition();
-  }
-
-  @Override
-  public void onInvocation(RestParameters parameters, EventSinkRuntimeContext runtimeContext) {
-    this.fieldsToSend = parameters.getFieldsToSend();
-  }
-
-  @Override
-  public void onEvent(Event event) {
-    Map<String, Object> outEventMap = event.getSubset(fieldsToSend).getRaw();
-    try {
-      String json = new String(dataFormatDefinition.fromMap(outEventMap));
-      Request.Post(REST_ENDPOINT_URI).body(new StringEntity(json, Charsets.UTF_8)).execute();
-    } catch (SpRuntimeException e) {
-      LOG.error("Could not parse incoming event");
-    } catch (IOException e) {
-      LOG.error("Could not reach endpoint at {}", REST_ENDPOINT_URI);
-    }
-  }
-
-  @Override
-  public void onDetach() {
-
-  }
-```
-The only class variable you need to change right now is the REST_ENDPOINT_URL. Change this url to the URL provided by your request bin.
-We'll ignore the other class variables and the constructor for now. Important are three methods, ``onInvocation``, ``onEvent`` and ``onDetach``.
-
-The ``onInvocation`` method is called once a pipeline containing our REST data sink is started. The ``onEvent`` method is called for each incoming event. Finally, ``onDetach`` is called when a pipeline is stopped.
-
-In the ``onInvocation`` method, we can extract the selected fields to be forwarded to the REST endpoint.
-In the ``ònEvent`` method, we use a helper method to get a subset of the incoming event.
-Finally, we convert the resulting ``Map`` to a JSON string and call the endpoint.
-
-
-## Preparing the container
-The final step is to define the deployment type of our new data source. In this tutorial, we will create a so-called `StandaloneModelSubmitter`.
-This client will start an embedded web server that provides the description of our data source and automatically starts the program in an embedded container.
-
-Go to the class `Init` that extends `StandaloneModelSubmitter` and should look as follows:
-```java
-
-public static void main(String[] args) throws Exception {
-    DeclarersSingleton.getInstance()
-            .add(new RestController());
-
-    DeclarersSingleton.getInstance().setPort(Config.INSTANCE.getPort());
-    DeclarersSingleton.getInstance().setHostName(Config.INSTANCE.getHost());
-
-    DeclarersSingleton.getInstance().registerDataFormats(new JsonDataFormatFactory(),
-            new CborDataFormatFactory(),
-            new SmileDataFormatFactory(),
-            new FstDataFormatFactory());
-
-    DeclarersSingleton.getInstance().registerProtocols(new SpKafkaProtocolFactory(),
-            new SpJmsProtocolFactory());
-
-    new Init().init(Config.INSTANCE);
-```
-
-<div class="admonition info">
-<div class="admonition-title">Info</div>
-<p>In the example above, we make use of a class `Config`.
-       This class contains both mandatory and additional configuration parameters required by a pipeline element container.
-       These values are stored in the Consul-based key-value store of your StreamPipes installation.
-       The SDK guide contains a detailed manual on managing container configurations.
-</p>
-</div>
-
-## Starting the container
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>By default, the container registers itself using the hostname later used by the Docker container, leading to a 404 error when you try to access an RDF description.
-       For local development, we provide an environment file in the ``development`` folder. You can add your hostname here, which will override settings from the Config class.
-       For instance, use the IntelliJ ``EnvFile`` plugin to automatically provide the environment variables upon start.
-</p>
-</div>
-
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p> The default port of all pipeline element containers as defined in the `Config` file is port 8090.
-       If you'd like to run mutliple containers at the same time on your development machine, change the port in the environment file.
-</p>
-</div>
-
-Now we are ready to start our container!
-
-Execute the main method in the class `Main` we've just created.
-
-The container automatically registers itself in the Consul installation of StreamPipes.
-
-To install the just created element, open the StreamPipes UI and follow the manual provided in the [user guide](03_use-install-pipeline-elements.md).
-
-## Read more
-
-Congratulations! You've just created your first data sink for StreamPipes.
-There are many more things to explore and data sinks can be defined in much more detail using multiple wrappers.
-Follow our [SDK guide](../dev-guide-sdk-guide-sinks) to see what's possible!
diff --git a/website-v2/versioned_docs/version-0.68.0/06_extend-tutorial-data-sources.md b/website-v2/versioned_docs/version-0.68.0/06_extend-tutorial-data-sources.md
deleted file mode 100644
index 9a252c7..0000000
--- a/website-v2/versioned_docs/version-0.68.0/06_extend-tutorial-data-sources.md
+++ /dev/null
@@ -1,284 +0,0 @@
----
-id: extend-tutorial-data-sources
-title: "Tutorial: Data Sources"
-sidebar_label: "Tutorial: Data Sources"
-original_id: extend-tutorial-data-sources
----
-
-In this tutorial, we will add a new data source consisting of a single data stream. The source will be provided as a standalone component (i.e., the description will be accessible through an integrated web server).
-
-## Objective
-
-We are going to create a new data stream that is produced by a GPS sensor installed in a delivery vehicle.
-The sensor produces a continuous stream of events that contain the current timestamp, the current lat/lng position of the vehicle and the plate number of the vehicle.
-Events are published in a JSON format as follows:
-```json
-{
-  "timestamp" : 145838399,
-  "latitude" : 37.04,
-  "longitude" : 17.04,
-  "plateNumber" : "KA-AB 123"
-}
-```
-
-These events are published to a Kafka broker using the topic `org.streampipes.tutorial.vehicle`.
-
-In the following section, we show how to describe this stream in a form that allows you to import and use it in StreamPipes.
-
-## Project setup
-
-Instead of creating a new project from scratch, we recommend to use the Maven archetype to create a new project skeleton.
-Enter the following command in a command line of your choice (Apache Maven needs to be installed):
-
-```
-mvn archetype:generate \
--DarchetypeGroupId=org.apache.streampipes -DarchetypeArtifactId=streampipes-archetype-pe-sources \
--DarchetypeVersion=0.68.0 -DgroupId=my.groupId \
--DartifactId=my-source -DclassNamePrefix=MySource -DpackageName=mypackagename
-```
-
-Configure the variables ``artifactId`` (which will be the Maven artifactId), ``classNamePrefix`` (which will be the class name of your data stream) and ``packageName``.
-
-For this tutorial, use ``Vehicle`` as ``classNamePrefix``.
-
-Your project will look as follows:
-
-<img src="/img/tutorial-sources/project-structure.PNG" alt="Project Structure"/>
-
-That's it, go to the next section to learn how to create your first data stream!
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Besides the basic project skeleton, the sample project also includes an example Dockerfile you can use to package your application into a Docker container.
-</p>
-</div>
-
-## Adding a data stream description
-
-Now we will add a new data stream definition.
-First, open the class `VehicleStream` which should look as follows:
-
-```java
-
-package my.groupId.pe.mypackagename;
-
-import org.streampipes.model.SpDataStream;
-import org.streampipes.model.graph.DataSourceDescription;
-import org.streampipes.sdk.builder.DataStreamBuilder;
-import org.streampipes.sdk.helpers.EpProperties;
-import org.streampipes.sdk.helpers.Formats;
-import org.streampipes.sdk.helpers.Protocols;
-import org.streampipes.sources.AbstractAdapterIncludedStream;
-
-
-public class MySourceStream extends AbstractAdapterIncludedStream {
-
-  @Override
-  public SpDataStream declareModel(DataSourceDescription sep) {
-    return DataStreamBuilder.create("my.groupId-mypackagename", "MySource", "")
-            .property(EpProperties.timestampProperty("timestamp"))
-
-            // configure your stream here
-
-            .format(Formats.jsonFormat())
-            .protocol(Protocols.kafka("localhost", 9092, "TOPIC_SHOULD_BE_CHANGED"))
-            .build();
-  }
-
-  @Override
-  public void executeStream() {
-
-  }
-}
-```
-
-This class extends the class ``AbstractAdapterIncludedStream``, which indicates that this source continuously produces data (configured in the ``executeStream()`` method.
-In contrast, the class `AbstractAlreadyExistingStream` indicates that we only want to describe an already existing stream (e.g., a stream that already sends data to an existing Kafka broker).
-
-Next, we will add the definition of the data stream. Add the following code inside of the `declareModel` method:
-```java
-return DataStreamBuilder.create("org.streampipes.tutorial.vehicle.position", "Vehicle Position", "An event stream " +
-          "that produces current vehicle positions")
-```
-
-This line creates a new instance of the SDK's `DataStreamBuilder` by providing three basic parameters:
-The first parameter must be a unique identifier of your data stream.
-The second and third parameters indicate a label and a description of your stream.
-These values will later be used in the StreamPipes UI to display stream details in a human-readable manner.
-
-Next, we will add the properties as stated above to the stream definition by adding the following lines:
-```java
-.property(EpProperties.timestampProperty("timestamp"))
-.property(EpProperties.stringEp(Labels.from("plate-number", "Plate Number", "Denotes the plate number of the vehicle"), "plateNumber", "http://my.company/plateNumber"))
-.property(EpProperties.doubleEp(Labels.from("latitude", "Latitude", "Denotes the latitude value of the vehicle's position"), "latitude", Geo.lat))
-.property(EpProperties.doubleEp(Labels.from("longitude", "Longitude", "Denotes the longitude value of the vehicle's position"), "longitude", Geo.lng))
-```
-These four _event properties_ compose our _event schema_. An event property must, at least, provide the following attributes:
-
-* **Runtime Name**. The runtime name indicates the key of the property at runtime, e.g., if our JSON message contains a structure such as `{"plateNumber" : "KA-F 123"}`, the runtime name must be `plateNumber`.
-* **Runtime Type**. An event property must have a primitive type (we will later see how to model more complex properties such as lists and nested properties).
-  The type must be an instance of `XMLSchema` primitives, however, the SDK provides convenience methods to provide the property type.
-* **Domain Property**. The domain property indicates the semantics of the event property. For instance, the `latitude` property is linked to the `http://www.w3.org/2003/01/geo/wgs84_pos#lat` property of the WGS84 vocabulary.
-  The domain property should be an URI as part of an existing or domain-specific vocabulary. The SDK provides convenience methods for popuplar vocabularies (e.g., Schema.org, Dolce or WGS84).
-
-In order to complete the minimum required specification of an event stream, we need to provide information on the transport format and protocol of the data stream at runtime.
-
-This can be achieved by extending the builder with the respective properties (which should already have been auto-generated):
-```java
-.format(Formats.jsonFormat())
-.protocol(Protocols.kafka("localhost", 9092, "TOPIC_SHOULD_BE_CHANGED"))
-.build();
-```
-
-Set ``org.streampipes.tutorial.vehicle`` as your new topic by replacing the term ``TOPIC_SHOULD_BE_CHANGED`.
-
-In this example, we defined that the data stream consists of events in a JSON format and that Kafka is used as a message broker to transmit events.
-The last build() method call triggers the construction of the RDF-based data stream definition.
-
-That's it! In the next section, we will connect the data stream to a source and inspect the generated RDF description.
-
-## Creating some dummy data
-
-Let's assume our stream should produce some random values that are sent to StreamPipes. We'll add a very simple data simulator to the ``executeStream`` method as follows:
-
-```java
-@Override
-  public void executeStream() {
-
-    SpKafkaProducer producer = new SpKafkaProducer("localhost:9092", "TOPIC_SHOULD_BE_CHANGED");
-    Random random = new Random();
-    Runnable runnable = new Runnable() {
-      @Override
-      public void run() {
-        for (;;) {
-          JsonObject jsonObject = new JsonObject();
-          jsonObject.addProperty("timestamp", System.currentTimeMillis());
-          jsonObject.addProperty("plateNumber", "KA-FZ 1");
-          jsonObject.addProperty("latitude", random.nextDouble());
-          jsonObject.addProperty("longitude", random.nextDouble());
-
-          producer.publish(jsonObject.toString());
-
-          try {
-            Thread.sleep(1000);
-          } catch (InterruptedException e) {
-            e.printStackTrace();
-          }
-
-        }
-      }
-    };
-
-    new Thread(runnable).start();
-  }
-```
-
-Change the topic and the URL of your Kafka broker (as stated in the controller).
-
-## Adding a source description
-
-A data source can be seen like a container for a set of data streams. Usually, a data source includes events that are logically or physically connected.
-For instance, in our example we would add other streams produced by vehicle sensors (such as fuel consumption) to the same data source description.
-
-Open the class `DataSource` which should look as follows:
-```java
-
-package my.groupId.pe.mypackagename;
-
-import org.streampipes.container.declarer.DataStreamDeclarer;
-import org.streampipes.container.declarer.SemanticEventProducerDeclarer;
-import org.streampipes.model.graph.DataSourceDescription;
-import org.streampipes.sdk.builder.DataSourceBuilder;
-
-import java.util.Arrays;
-import java.util.List;
-
-
-public class DataSource implements SemanticEventProducerDeclarer {
-
-  public DataSourceDescription declareModel() {
-    return DataSourceBuilder.create("my.groupId.mypackagename.source", "MySource " +
-        "Source", "")
-            .build();
-  }
-
-  public List<DataStreamDeclarer> getEventStreams() {
-    return Arrays.asList(new MySourceStream());
-  }
-}
-```
-First, we need to define the source. Similar to data streams, a source consists of an id, a human-readable name and a description.
-Replace the content defined in the `declareModel` method with the following code:
-```java
-return DataSourceBuilder.create("org.streampipes.tutorial.source.vehicle", "Vehicle Source", "A data source that " +
-    "holds event streams produced by vehicles.")
-    .build();
-```
-
-## Preparing the container
-
-The final step is to define the deployment type of our new data source. In this tutorial, we will create a so-called `StandaloneModelSubmitter`.
-This client will start an embedded web server that provides the description of our data source.
-
-Go to the class `Init` that implements `StandaloneModelSubmitter`, which should look as follows:
-```java
-package my.groupId.main;
-
-import org.streampipes.container.init.DeclarersSingleton;
-import org.streampipes.container.standalone.init.StandaloneModelSubmitter;
-import my.groupId.config.Config;
-import my.groupId.pe.mypackagename.DataSource;
-
-public class Init extends StandaloneModelSubmitter {
-
-  public static void main(String[] args) throws Exception {
-    DeclarersSingleton.getInstance()
-            .add(new DataSource());
-
-    new Init().init(Config.INSTANCE);
-
-  }
-}
-```
-This code adds the `VehicleSource`. Finally, the `init` method is called
-which triggers the generation of the corresponding RDF description and startup of the web server.
-
-<div class="admonition info">
-<div class="admonition-title">Info</div>
-<p>In the example above, we make use of a class `Config`.
-       This class contains both mandatory and additional configuration parameters required by a pipeline element container.
-       These values are stored in the Consul-based key-value store of your StreamPipes installation.
-       The SDK guide contains a detailed manual on managing container configurations.</p>
-</div>
-
-## Starting the container
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>By default, the container registers itself using the hostname later used by the Docker container, leading to a 404 error when you try to access an RDF description.
-       For local development, we provide an environment file in the ``development`` folder. You can add your hostname here, which will override settings from the Config class.
-       For instance, use the IntelliJ ``EnvFile`` plugin to automatically provide the environment variables upon start.
-</p>
-</div>
-
-Now we are ready to start our first container!
-
-Execute the main method in the class `Main` we've just created, open a web browser and navigate to http://localhost:8090, or change the port according to the value of the ``SP_PORT`` variable in the env file.
-
-You should see something as follows:
-
-<img src="/img/tutorial-sources/pe-overview.PNG" alt="Pipeline Element Container Overview"/>
-
-Click on the link of the data source to see the RDF description of the pipeline element.
-
-<img src="/img/tutorial-sources/pe-rdf.PNG" alt="Pipeline Element RDF description"/>
-
-The container automatically registers itself in the Consul installation of StreamPipes.
-
-To install the just created element, open the StreamPipes UI and follow the manual provided in the [user guide](../user
--guide-introduction).
-
-## Read more
-
-Congratulations! You've just created your first pipeline element for StreamPipes.
-There are many more things to explore and data sources can be defined in much more detail.
diff --git a/website-v2/versioned_docs/version-0.68.0/09_get-help.md b/website-v2/versioned_docs/version-0.68.0/09_get-help.md
deleted file mode 100644
index 2fafafe..0000000
--- a/website-v2/versioned_docs/version-0.68.0/09_get-help.md
+++ /dev/null
@@ -1,27 +0,0 @@
----
-id: community-get-help
-title: Get Help
-sidebar_label: Get Help
-original_id: community-get-help
----
-
-The Apache StreamPipes community is happy to help with any questions or problems you might have.
-
-## Questions
-Subscribe to our user mailing list to ask a question.
-
-[Mailing Lists](https://streampipes.apache.org/mailinglists.html)
-
-To subscribe to the user list, send an email to [users-subscribe@streampipes.apache.org](users-subscribe@streampipes.apache.org)
-
-We also maintain a Slack channel which might be a good way for problems that require interaction:
-
-[Slack Channel Invite Link](https://join.slack.com/t/streampipes-community/shared_invite/zt-pvivlspi-RLLqpx7eujbHVb5t1SDXHg)
-
-## Bugs and Feature Requests
-
-If you've found a bug or have a feature that you'd love to see in StreamPipes, feel free to create an issue in our Jira:
-[https://issues.apache.org/jira/projects/STREAMPIPES](https://issues.apache.org/jira/projects/STREAMPIPES)
-
-
-
diff --git a/website-v2/versioned_docs/version-0.68.0/dev-guide-processor-sdk.md b/website-v2/versioned_docs/version-0.68.0/dev-guide-processor-sdk.md
deleted file mode 100644
index 5ceca4b..0000000
--- a/website-v2/versioned_docs/version-0.68.0/dev-guide-processor-sdk.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-id: dev-guide-sdk-guide-processors
-title: "SDK Guide: Data Processors"
-sidebar_label: "SDK Guide: Data Processors"
-original_id: dev-guide-sdk-guide-processors
----
-
-## Project Setup
-(coming soon, please check the [tutorial](../dev-guide-tutorial-processors) to learn how to define data processors)
-
-## SDK reference
-The complete SDK reference for defining data processors will follow soon. Please check the SDK's Javadoc for now!
diff --git a/website-v2/versioned_docs/version-0.68.0/dev-guide-sink-sdk.md b/website-v2/versioned_docs/version-0.68.0/dev-guide-sink-sdk.md
deleted file mode 100644
index d2e2534..0000000
--- a/website-v2/versioned_docs/version-0.68.0/dev-guide-sink-sdk.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-id: dev-guide-sdk-guide-sinks
-title: "SDK Guide: Data Sinks"
-sidebar_label: "SDK Guide: Data Sinks"
-original_id: dev-guide-sdk-guide-sinks
----
-
-## Project Setup
-(coming soon, please check the [tutorial](../dev-guide-tutorial-processors) to learn how to define sinks)
-
-## SDK reference
-The complete SDK reference for defining data sinks will follow soon. Please check the SDK's Javadoc for now!
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md
deleted file mode 100644
index 4eb8ec0..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.adapters.flic.mqtt.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.flic.mqtt
-title: Flic MQTT
-sidebar_label: Flic MQTT
-original_id: org.apache.streampipes.connect.adapters.flic.mqtt
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.flic.mqtt/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Connect Flic Smart Button over MQTT
-
-***
-
-## Required input
-
-This adapter uses the MQTT protocol and requires the data in following exemplary JSON format:
-{ "timestamp": 1584973344615, "click_type": SINGLE, "button_id": button1 }.
-***
-
-## Configuration
-
-### Broker URL 
-
-Example: tcp://test-server.com:1883 (Protocol required. Port required)
-
-### Access Mode
-
-The user can choose between unauthenticated or authenticated access.
-
-### TOPIC
-The topic the MQTT broker publishes to.
-
-## Output
-
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.adapters.opcua.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.adapters.opcua.md
deleted file mode 100644
index 3fc7169..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.adapters.opcua.md
+++ /dev/null
@@ -1,77 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.opcua
-title: OPC UA
-sidebar_label: OPC UA
-original_id: org.apache.streampipes.connect.adapters.opcua
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.opcua/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Reads values from an OPC-UA server repeatedly
-
-***
-
-## Required Input
-
-***
-
-## Configuration
-
-### Polling Interval
-
-Duration of the polling interval in seconds
-
-### Anonymous vs. Username/Password
-
-Choose whether you want to connect anonymously or authenticate using your credentials.
-
-&nbsp;&nbsp;&nbsp;&nbsp; **Anonymous**: No further information required <br/>
-&nbsp;&nbsp;&nbsp;&nbsp; **Username/Password**: Insert your `username` and `password` to access the OPC UA server
-
-### OPC UA Server
-
-Where can the OPC UA server be found?
-
-&nbsp;&nbsp;&nbsp;&nbsp; **URL**: Specify the server's full `URL` (including port), can be with our without leading `opc.tcp://`<br/>
-&nbsp;&nbsp;&nbsp;&nbsp; **Host/Port**: Insert the `host` address (with or without leading `opc.tcp://`) and the `port`<br/>
-
-### Namespace Index
-
-Requires the index of the namespace you want to connect to.
-
-### Node ID
-
-The identifier of the node you want to read from, numbers and strings are both valid.
-
-### Available Nodes
-
-Shows all available nodes once namespace index and node ID are given.
-Select as much as you like to query.
-
-***
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md
deleted file mode 100644
index ddc8a8e..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.adapters.plc4x.modbus.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.plc4x.modbus
-title: PLC4X MODBUS
-sidebar_label: PLC4X MODBUS
-original_id: org.apache.streampipes.connect.adapters.plc4x.modbus
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.modbus/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Shows the live position of the International Space Station (ISS), updated every two seconds.
-
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.adapters.simulator.machine.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.adapters.simulator.machine.md
deleted file mode 100644
index a9c4fae..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.adapters.simulator.machine.md
+++ /dev/null
@@ -1,41 +0,0 @@
----
-id: org.apache.streampipes.connect.adapters.simulator.machine
-title: Machine Data Simulator
-sidebar_label: Machine Data Simulator
-original_id: org.apache.streampipes.connect.adapters.simulator.machine
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.adapters.simulator.machine/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes various simulated machine sensor data in a configurable time interval (in milliseconds).
-Sensors are:
-* flowrate
-* pressure
-* waterlevel
-***
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md
deleted file mode 100644
index 0626268..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.connect.protocol.stream.httpserver.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-id: org.apache.streampipes.connect.protocol.stream.httpserver
-title: HTTP Server
-sidebar_label: HTTP Server
-original_id: org.apache.streampipes.connect.protocol.stream.httpserver
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.httpserver/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Continuously fetched events from an HTTP REST endpoint.
-
-***
-
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md
deleted file mode 100644
index 3d42f6e..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.geo.jvm.geocoding.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.jvm.geocoding
-title: Google Maps Geocoder
-sidebar_label: Google Maps Geocoder
-original_id: org.apache.streampipes.processor.geo.jvm.geocoding
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-</p>
-
-***
-
-## Description
-
-This processor computes the latitude and longitude values from a location (a place name such as "Karlsruhe, Germany
-") and adds the result to the event.
-
-***
-
-## Required input
-
-Input event requires to have a field which contains the name of a place.
-
-***
-
-## Configuration
-
-### Place
-
-The field of the input event that should be used to compute the lat/lng values.
-
-## Output
-
-Outputs a similar event like below.
-
-```
-{
-  'latitude': 6.927079,
-  'longitude': 79.861244  
-}
-```
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md
deleted file mode 100644
index 3f3319f..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.geo.jvm.reversegeocoding.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.jvm.reversegeocoding
-title: Reverse Geocoder
-sidebar_label: Reverse Geocoder
-original_id: org.apache.streampipes.processor.geo.jvm.reversegeocoding
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-</p>
-
-***
-
-## Description
-
-This processor computes place name based on given lat/lng coordinates that are transmitted as fields from an event.
-
-This processor automatically downloads the file cities1000.zip from Geonames (http://download.geonames.org/export/dump/cities1000.zip). This file is provided under the CC BY 4.0 license, see https://creativecommons.org/licenses/by/4.0/ for license details.
-
-***
-
-## Required input
-
-Input event requires to have latitude and longitude values.
-
-***
-
-## Configuration
-
-### Latitude
-
-The field containing the latitude value.
-
-### Longitude
-
-The field containing the longitude value.
-
-## Output
-
-Outputs a similar event like below.
-
-```
-{
-  'place': 'Colombo'
-}
-```
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md
deleted file mode 100644
index c63805b..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.geo.jvm.staticgeocoding.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-id: org.apache.streampipes.processor.geo.jvm.staticgeocoding
-title: Static Google Maps Geocoder
-sidebar_label: Static Google Maps Geocoder
-original_id: org.apache.streampipes.processor.geo.jvm.staticgeocoding
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-</p>
-
-***
-
-## Description
-
-This processor computes the latitude and longitude values from a fixed location (a place name such as "Karlsruhe
-, Germany
-") and adds the result to the event.
-
-***
-
-## Required input
-
-Input event requires to have a field which contains the name of a place.
-
-***
-
-## Configuration
-
-### Place
-
-The place name that should be converted to a lat/lng combination
-
-## Output
-
-Outputs a similar event like below.
-
-```
-{
-  'latitude': 6.927079,
-  'longitude': 79.861244  
-}
-```
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md
deleted file mode 100644
index 7a6aa8c..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification.md
+++ /dev/null
@@ -1,53 +0,0 @@
----
-id: org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification
-title: Generic Image Classification
-sidebar_label: Generic Image Classification
-original_id: org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Image  + Classification Description (Generic Model)
-
-***
-
-## Required input
-
-Input events require to have an image field.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Image field
-
-Field that contains the image.
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md
deleted file mode 100644
index e008be9..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
-id: org.apache.streampipes.processor.imageclassification.jvm.image-enricher
-title: Image Enricher
-sidebar_label: Image Enricher
-original_id: org.apache.streampipes.processor.imageclassification.jvm.image-enricher
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.imageclassification.jvm.image-enricher/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Image Enrichment: Enriches an  + image with  + given bounding box coordinates
-
-## Required input
-An image and an array with bounding boxes, an array with scores and an array with labels.
-A box consists of the x and y coordinates in the image as well as the height and width, and the classindex with score
-
-
-## Output
-A new event containing the image with bounding boxes rendered according to the boxes of the input event 
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.imageclassification.qrcode.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.imageclassification.qrcode.md
deleted file mode 100644
index 4bfd514..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processor.imageclassification.qrcode.md
+++ /dev/null
@@ -1,69 +0,0 @@
----
-id: org.apache.streampipes.processor.imageclassification.qrcode
-title: QR Code Reader
-sidebar_label: QR Code Reader
-original_id: org.apache.streampipes.processor.imageclassification.qrcode
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processor.imageclassification.qrcode/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-QR Code Reader: Detects a QR Code in an image
-
-***
-
-## Required input
-
-Input events require to have an image field.
-
-***
-
-## Configuration
-
-### Image
-
-Image of the QR code
-
-### Send placeholder value if no qr code is detected
-
-It is a boolean selection.
-
-### Placeholder value
-
-Place holder value
-
-## Output
-
-Outputs a similar event like below.
-
-```
-{
-  'qrvalue': 'http://githhub.com/',
-  'timestamp': 1621244783151  
-}
-```
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md
deleted file mode 100644
index 5e9e9e8..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.aggregation.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.aggregation
-title: Aggregation
-sidebar_label: Aggregation
-original_id: org.apache.streampipes.processors.aggregation.flink.aggregation
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.aggregation/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs different aggregation functions based on a sliding time window (e.g., average, sum, min, max)
-
-***
-
-## Required input
-
-The aggregation processor requires a data stream that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Group by
-The aggregation function can be calculated separately (partitioned) by the selected field value. 
-
-### Output every
-The frequency in which aggregated values are sent in seconds.
-
-### Time window
-The size of the time window in seconds
-
-### Aggregated Value
-The field used for calculating the aggregation value.
-
-## Output
-
-This processor appends the latest aggregated value to every input event that arrives.
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.count.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.count.md
deleted file mode 100644
index c9516f6..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.count.md
+++ /dev/null
@@ -1,67 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.count
-title: Count Aggregation
-sidebar_label: Count Aggregation
-original_id: org.apache.streampipes.processors.aggregation.flink.count
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.count/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Performs an aggregation based on a given field and outputs the number of occurrences.
-Example: Count the number of vehicle positions per vehicleId.
-The Count aggregation requires a time window, used to perform the count aggregation and a field used to aggregate
-values.
-
-***
-
-## Required input
-There is no specific input required.
-
-***
-
-## Configuration
-### FieldToCount    
-Specifies the field containing the values that should be counted.
-
-### TimeWindowSize  
-Specifies the size of the time window and consequently the number of values that are aggregated each time. 
-
-### Time Window Scale
-Specifies the scale/unit of the time window. There are three different time scales to choose from: seconds, minutes or hours.
-
-## Output
-The output event is composed of two fields. The field "value" specifies the value to count.
-The second field "count" returns the number of occurrences.
-Example:
-```
-{
-  'value': 'vehicleId', 
-  'count': 12
-}
-```
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md
deleted file mode 100644
index d744a88..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.eventcount.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.eventcount
-title: Event Counter
-sidebar_label: Event Counter
-original_id: org.apache.streampipes.processors.aggregation.flink.eventcount
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-
-
-***
-
-## Description
-Counts the number of events arriving within a time window. An event is emitted every time the time window expires.
-
-***
-
-## Required input
-There is no specific input required.
-
-***
-
-## Configuration
-Time Window: The scale and size of the time window.
-
-### TimeWindowSize  
-Specifies the size of the time window.
-
-### Time Window Scale
-Specifies the scale/unit of the time window. There are three different time scales to choose from: seconds, minutes or hours.
-
-## Output
-```
-{
-  'timestamp': 1601301980014, 
-  'count': 12
-}
-```
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.rate.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.rate.md
deleted file mode 100644
index 49a9f8b..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.aggregation.flink.rate.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.aggregation.flink.rate
-title: Event Rate
-sidebar_label: Event Rate
-original_id: org.apache.streampipes.processors.aggregation.flink.rate
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.rate/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Computes the current event rate. Output is a number representing events per second.
-
-***
-
-## Required input
-The event rate processor works with any stream and does not have any specific requirements.
-
-***
-
-## Configuration
-
-
-### Time Baseline
-Specifies the size of the window used used for calculating the rate in seconds. This parameters also determines the output rate.
-
-## Output
-```
-{
-  'rate': 0.8
-}
-```
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md
deleted file mode 100644
index c83f6e5..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.changedetection.jvm.cusum.md
+++ /dev/null
@@ -1,66 +0,0 @@
----
-id: org.apache.streampipes.processors.changedetection.jvm.cusum
-title: Cusum
-sidebar_label: Cusum
-original_id: org.apache.streampipes.processors.changedetection.jvm.cusum
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<!--
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.changedetection.jvm.cusum/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
--->
-
-***
-
-## Description
-
-Performs change detection on a single dimension of the incoming data stream. A change is detected if the cumulative deviation from the mean exceeds a certain threshold. This implementation tracks the mean and the standard deviation using Welford's algorithm, which is well suited for data streams.
-
-***
-
-## Required input
-
-The cusum processor requires a data stream that has at least one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Value to observe
-Specify the dimension of the data stream (e.g. the temperature) on which to perform change detection. 
-
-### Parameter `k`
-`k` controls the sensitivity of the change detector. Its unit are standard deviations. For an observation `x_n`, the Cusum value is `S_n = max(0, S_{n-1} - z-score(x_n) - k)`. Thus, the cusum-score `S` icnreases if `S_{n-1} - z-score(x_n) > k`. 
-
-### Parameter `h`
-The alarm theshold in standard deviations. An alarm occurs if `S_n > h` 
-
-## Output
-
-This processor outputs the original data stream plus 
-
-- `cusumLow`: The cusum value for negative changes
-- `cusumHigh`: The cusum value for positive changes
-- `changeDetectedLow`: Boolean indicating if a negative change was detected
-- `changeDetectedHigh`: Boolean indicating if a positive change was detected
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.filters.jvm.limit.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.filters.jvm.limit.md
deleted file mode 100644
index 5fc7694..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.filters.jvm.limit.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.limit
-title: Rate Limit
-sidebar_label: Rate Limit
-original_id: org.apache.streampipes.processors.filters.jvm.limit
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.limit/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-This limits the number of events emitted based on a specified criterion such as time, and number of events.
-
-***
-
-## Required input
-The processor works with any input event.
-
-***
-
-## Configuration
-
-### Enable Grouping
-Enabling this will use grouping with rate-limiting (note: disabling this will ignore `Grouping Field` property).
-
-### Grouping Field
-Runtime field to be used as the grouping key. If grouping is disabled, this setting will be ignored.
-
-### Window Type
-This specifies the type of window to be used (time / length / cron).
-
-### Length Window Size
-Length window size in event count (note: only works with length window type).
-
-### Time Window Size
-Time window size in milliseconds (note: only works with time window type).
-
-### Cron Window Expression
-Cron expression [Link](https://www.freeformatter.com/cron-expression-generator-quartz.html) to trigger and emit events (i.e `0 * * ? * *` for every minute) (note: only works with cron window type).
-
-### Output Event Selection
-This specifies the event(s) that are selected to be emitted.
-- First: emit first event of the window.
-- Last: emit last event of the window.
-- All: emit all events of the window.
-
-## Output
-The processor outputs events which satisfies rate-limiting conditions.
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.filters.jvm.merge.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.filters.jvm.merge.md
deleted file mode 100644
index 79516d3..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.filters.jvm.merge.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-id: org.apache.streampipes.processors.filters.jvm.merge
-title: Synchronize Two Streams
-sidebar_label: Synchronize Two Streams
-original_id: org.apache.streampipes.processors.filters.jvm.merge
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.merge/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Merges two event streams by their timestamp.
-Two events of the different streams are merged when they occure to the same time
-
-The following figure shows how the events of the two data streams will be mergrged:
-
-<p align="center"> 
-    <img width="300px;" src="/img/pipeline-elements/org.apache.streampipes.processors.filters.jvm.merge/merge_description.png" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Required input
-Each of the data streams needs a timestamp.
-
-***
-
-## Configuration
-
-* For each stream a the timestamp property on which the merger is performed has to be selected
-* The Time Interval describes the maximum value between two events to decide whether they are a match. To be a valid match the following function must be true: | timestamp_stream_1 - timestamp_stream_2 | < interval
-
-## Output
-The Compose processor has a configurable output that can be selected by the user at pipeline modeling time.
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md
deleted file mode 100644
index 8a86104..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: org.apache.streampipes.processors.geo.jvm.processor.distancecalculator
-title: Distance Calculator
-sidebar_label: Distance Calculator
-original_id: org.apache.streampipes.processors.geo.jvm.processor.distancecalculator
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-Calculates the distance between two latitude/longitude pairs in a single event.
-
-***
-
-## Required input
-Requires a position of point on the Earth's surface specified by the two geographic coordinates: the longitude and latitude of the point.
-
-***
-
-## Configuration
-
-### First Longitude
-This is the first geographic coordinate that specifies the east-west position of a point on the Earth's surface.
-
-### First Latitude
-This is the second geographic coordinate that specifies the north-south position of a point on the Earth's surface.
-
-### Second Longitude
-This is the second geographic coordinate that specifies the east-west position of a point on the Earth's surface.
-
-### Second Latitude
-This is the second geographic coordinate that specifies the north-south position of a point on the Earth's surface.
-
-## Output
-{
-  'distance': 12.2
-}
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md
deleted file mode 100644
index f44002c..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-id: org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator
-title: Static Distance Calculator
-sidebar_label: Static Distance Calculator
-original_id: org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-***
-
-## Description
-
-Calculates the distance (in km) between a fixed location (e.g., a place) and a latitude/longitude pair of an input
- event.
-
-***
-
-## Required input
-
-Requires a data stream that provides latitude and longitude values.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Latitude field
-
-The field containing the latitude value.
-
-### Longitude field
-
-The field containing the longitude value.
-
-### Latitude
-
-The latitude value of the fixed location
-
-### Longitude
-
-The longitude value of the fixed location
-
-## Output
-
-Outputs a similar event like below.
-
-```
-{
-  'distance': 12.5
-}
-```
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md
deleted file mode 100644
index bebd762..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.absence.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.pattern-detection.flink.absence
-title: Absence
-sidebar_label: Absence
-original_id: org.apache.streampipes.processors.pattern-detection.flink.absence
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.absence/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects whether an event does not arrive within a specified time after the occurrence of another event.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md
deleted file mode 100644
index 68d03c1..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.and.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.pattern-detection.flink.and
-title: And
-sidebar_label: And
-original_id: org.apache.streampipes.processors.pattern-detection.flink.and
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.and/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects whether an event co-occurs with another event within a given time.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md
deleted file mode 100644
index 4c00311..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.peak-detection.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.pattern-detection.flink.peak-detection
-title: Peak Detection
-sidebar_label: Peak Detection
-original_id: org.apache.streampipes.processors.pattern-detection.flink.peak-detection
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detect peaks in time series data.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md
deleted file mode 100644
index 4605707..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.pattern-detection.flink.sequence.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.pattern-detection.flink.sequence
-title: Sequence
-sidebar_label: Sequence
-original_id: org.apache.streampipes.processors.pattern-detection.flink.sequence
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.sequence/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects a sequence of events in the following form: Event A followed by Event B within X seconds. In addition, both streams can be matched by a common property value (e.g., a.machineId = b.machineId).
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.frequency.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.frequency.md
deleted file mode 100644
index e68ae41..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.frequency.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.frequency
-title: Frequency Calculation
-sidebar_label: Frequency Calculation
-original_id: org.apache.streampipes.processors.siddhi.frequency
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-Frequency calculation with Siddhi CEP engine.
-
-***
-
-## Description
-
-Calculates the frequency of the event stream.
-
-***
-
-## Required input
-
-Does not have any specific input requirements.
-
-***
-
-## Configuration
-
-### Time Unit
-
-The time unit of the window. e.g, hrs, min and sec
-
-### Time window length 
-
-The time duration of the window in seconds.
-
-## Output
-
-Outputs the events according to the frequency specified.
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.frequencychange.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.frequencychange.md
deleted file mode 100644
index e4a99cd..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.frequencychange.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.frequencychange
-title: Frequency Change
-sidebar_label: Frequency Change
-original_id: org.apache.streampipes.processors.siddhi.frequencychange
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-Notifies if there is a frequency change in events.
-
-***
-
-## Description
-
-Detects when the frequency of the event stream changes.
-
-***
-
-## Required input
-
-Does not have any specific input requirements.
-
-***
-
-## Configuration
-
-### Time Unit
-
-The time unit of the window. e.g, hrs, min and sec
-
-### Percentage of Increase/Decrease
-
-Specifies the increase in percent (e.g., 100 indicates an increase by 100 percent within the specified time window).
-
-### Time window length 
-
-The time duration of the window in seconds.
-
-## Output
-
-Outputs event if there is a frequency change according to the provided configuration.
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.increase.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.increase.md
deleted file mode 100644
index 64e3204..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.increase.md
+++ /dev/null
@@ -1,66 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.increase
-title: Trend
-sidebar_label: Trend
-original_id: org.apache.streampipes.processors.siddhi.increase
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.increase/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects the increase of a numerical field over a customizable time window. Example: A temperature value increases by 10 percent within 5 minutes.
-
-***
-
-## Required input
-
-There should be a number field in the event to observe the trend.
-
-***
-
-## Configuration
-
-### Value to Observe
-
-Specifies the value field that should be monitored.
-
-### Increase/Decrease
-
-Specifies the type of operation the processor should perform.
-
-### Percentage of Increase/Decrease
-
-Specifies the increase in percent (e.g., 100 indicates an increase by 100 percent within the specified time window).
-
-### Time Window Length (Seconds)
-
-Specifies the size of the time window in seconds.
-
-## Output
-
-Outputs the events if there is a trend observed according to the configuration defined.
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md
deleted file mode 100644
index 4d84b50..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.numericalfilter.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.numericalfilter
-title: Numerical Filter (Siddhi)
-sidebar_label: Numerical Filter (Siddhi)
-original_id: org.apache.streampipes.processors.siddhi.numericalfilter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.siddhi.numericalfilter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-The Numerical Filter processor filters numerical values based on a given threshold. Therefore, it uses the lightweight
-CEP engine Siddhi by issuing a Siddhi query, e.g.
-
-```
-// filter query to filter out all events not satisfying the condition
-from inputStreamName[numberField<10]
-select *
-```
-
-***
-
-## Required input
-The processor works with any input event that has one field containing a numerical value.
-
-***
-
-## Configuration
-
-### Field
-Specifies the field name where the filter operation should be applied on.
-
-
-### Operation
-Specifies the filter operation that should be applied on the field.
-
-### Threshold value
-Specifies the threshold value.
-
-## Output
-The processor outputs the input event if it satisfies the filter expression.
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.stop.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.stop.md
deleted file mode 100644
index 7d4ce23..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.siddhi.stop.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-id: org.apache.streampipes.processors.siddhi.stop
-title: Stream Stop Detection
-sidebar_label: Stream Stop Detection
-original_id: org.apache.streampipes.processors.siddhi.stop
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-***
-
-## Description
-
-Triggers an event when the input data stream stops sending events
-
-***
-
-## Required input
-
-Does not have any specific input requirements.
-
-***
-
-## Configuration
-
-### Time Window Length (Seconds)
-
-Specifies the size of the time window in seconds.
-
-## Output
-
-Outputs a similar event like below.
-
-```
-{
-  'timestamp': 1621243855401,
-  'message': 'Event stream has stopped'  
-}
-```
\ No newline at end of file
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md
deleted file mode 100644
index ca74d0f..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.textmining.flink.languagedetection.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.flink.languagedetection
-title: Language Detection
-sidebar_label: Language Detection
-original_id: org.apache.streampipes.processors.textmining.flink.languagedetection
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.flink.languagedetection/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Detects the language of a written text.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md
deleted file mode 100644
index f965a1e..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.textmining.flink.wordcount.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.textmining.flink.wordcount
-title: Word Count
-sidebar_label: Word Count
-original_id: org.apache.streampipes.processors.textmining.flink.wordcount
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.textmining.flink.wordcount/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Count words on continuous text-based streams.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md
deleted file mode 100644
index c577f12..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.flink.field-converter.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.field-converter
-title: Field Converter
-sidebar_label: Field Converter
-original_id: org.apache.streampipes.processors.transformation.flink.field-converter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-converter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Converts a string value to a number data type. 
-
-
-***
-
-## Required input
-This processor requires an event that contains at least one string valued field.
-
-***
-
-## Configuration
-
-### Field
-Specifies the string field that is converted.
-
-### Datatype
-Specifies the target datatype depending on the previously specified string field.
-
-## Output
-Output event in the specified target datatype.
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md
deleted file mode 100644
index f879a71..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.flink.field-renamer.md
+++ /dev/null
@@ -1,69 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.field-renamer
-title: Field Renamer
-sidebar_label: Field Renamer
-original_id: org.apache.streampipes.processors.transformation.flink.field-renamer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-renamer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Replaces the runtime name of an event property with a custom defined name. Useful for data ingestion purposes where a specific event schema is required.
-
-
-***
-
-## Required input
-There is no specific input required.
-
-***
-
-## Configuration
-
-### Field   
-Specifies the field to rename.
-
-### NewFieldName
-Specifies the new runtime name of the field.
-
-## Output
-Example:
-
-Old Output:
-```
-{
-  'timestamp': 16003000, 
-}
-```
-
-New Ouput:
-```
-{
-  'time': 16003000, 
-}
-```
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md
deleted file mode 100644
index b2540be..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.flink.fieldhasher.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.fieldhasher
-title: Field Hasher
-sidebar_label: Field Hasher
-original_id: org.apache.streampipes.processors.transformation.flink.fieldhasher
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.fieldhasher/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-The Field Hasher uses an algorithm to encode values in a field. The Field Hasher can use MD5, SHA1 or SHA2 to hash field values.
-
-***
-
-## Required input
-This processor requires at least one field of type string.
-
-***
-
-## Configuration
-
-### Field
-Specifies the string field that will be encoded.
-
-### Hash Algorithm
-Specifies the algorithm used to encode the string field. The following algorithms
-are available: SHA2, MD5 or SHA1.
-
-## Output
-The encoded string field.
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md
deleted file mode 100644
index c498aae..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.flink.measurement-unit-converter
-title: Measurement Unit Converter
-sidebar_label: Measurement Unit Converter
-original_id: org.apache.streampipes.processors.transformation.flink.measurement-unit-converter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Converts a unit of measurement to another one.
-
-***
-
-## Required input
-
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### 1st parameter
-
-
-### 2nd parameter
-
-## Output
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md
deleted file mode 100644
index e53465c..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.counter.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.booloperator.counter
-title: Boolean Counter
-sidebar_label: Boolean Counter
-original_id: org.apache.streampipes.processors.transformation.jvm.booloperator.counter
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.booloperator.counter/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor monitors a boolean value and counts how often the value of the boolean changes. 
-A user can configure whether the changes from FALSE to TRUE, TRUE to FALSE, or BOTH changes should be counted.
-
-***
-
-## Required input
-
-A boolean value is required in the data stream and can be selected with the field mapping.
-
-### Boolean Field
-
-The boolean value to be monitored.
-
-***
-
-## Configuration
-
-A user can configure whether the changes from TRUE to FALSE, FALSE to TRUE, or all changes of the boolean value should be counted.
-
-### Flank parameter
-
-Either:
-* TRUE -> FALSE: Increase counter on a true followed by a false 
-* FALSE -> TRUE: Increase counter on a false followed by a true
-* BOTH: Increase counter on each change of the boolean value on two consecutive events
-
-## Output
-
-Adds an additional numerical field with the current count value to the event. Events are just emitted when the counter changes.
-Runtime Name: countField
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md
deleted file mode 100644
index 8d6bc9a..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge
-title: Signal Edge Filter
-sidebar_label: Signal Edge Filter
-original_id: org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Observes a boolean value and forwards the event when a signal edge is detected
-
-***
-
-## Required input
-
-### Boolean Field
-Boolean field that is observed
-
-***
-
-## Configuration
-### Kind of edge
-* Detect rising edges 
-* Detect falling edges 
-* Detect both
-    
-### Delay
-Defines for how many events the signal must be stable before result is emitted.
-(E.g. if set to 2, the result is not emitted if value toggles between true and false, it fires when two consecutive events are detected after the flank)
-
-## Output
-Emits input event, when the signal edge is detected
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md
deleted file mode 100644
index 9bbe792..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state
-title: Boolean To State
-sidebar_label: Boolean To State
-original_id: org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.state/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Converts boolean fields to a state string representing the current state of the system.
-This processor requires one or multiple boolean values in the data stream.
-For the selected value which is true, the runtime name is added as the state field.
-***
-
-## Required input
-
-### Boolean Fields
-Boolean fields that are converted to the state when true
-
-### Default State
-When all boolean values are false, a default  state can be defined
-
-### Mapping Configuration
-Configuration to provide a string mapping for each possible value.
-On the left ist the value of the runtime name and on the right the new value (e.g. {"runtimeName": "newValue"}).
-
-***
-
-## Configuration
-No further configuration required
-
-## Output
-The output contains a new value with the string values of the state
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md
deleted file mode 100644
index 309e8b4..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.processor.state.buffer
-title: State Buffer
-sidebar_label: State Buffer
-original_id: org.apache.streampipes.processors.transformation.jvm.processor.state.buffer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Buffers values of a sensor, while state does not change.
-Select a state field in the event. Events are buffered as long as state field does not change. When it changes result event is emitted.
-
-***
-
-## Required input
-
-Define the state and sensor value field
-
-### Timestamp
-A mapping  property for a timestamp field
-
-### State
-Select the field representing the state 
-
-### Sensor value to cache
-Select the field with the numerical values to buffer
-
-## Output
-Emits a new event on state change, with the fields `timestamp`, `state`, and a list containing all `sensor values`.
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md
deleted file mode 100644
index 8c3c4e3..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer.md
+++ /dev/null
@@ -1,70 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer
-title: State Buffer Labeler
-sidebar_label: State Buffer Labeler
-original_id: org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Apply a rule to a time-series recorded during a state of a machine. (E.g. when minimum value is lower then 10, add label `not ok` else add label `ok`)
-
-
-***
-
-## Required input
-
-Requires a list with sensor values and a field defining the state
-
-### Sensor values
-
-An array representing sensor values recorded during the state.
-
-### State field
-
-A field representing the state when the sensor values where recorded.
-
-***
-
-## Configuration
-
-### Select a specific state
-When you are interested in the values of a specific state add it here. All other states will be ignored. To get results of all states enter `*`
-
-### Operation
-Operation that will be performed on the sensor values (calculate `maximim`, or `average`, or `minimum`) 
-
-### Condition
-Define a rule which label to add. Example: `<;5;nok` means when the calculated value is smaller then 5 add label ok.
-The default label can be defined with `*;nok`.
-The first rule that is true defines the label. Rules are applied in the same order as defined here.
-
-
-## Output
-Appends a new field  with the label defined in the Condition Configuration
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md
deleted file mode 100644
index 60e8800..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number
-title: Number Labeler
-sidebar_label: Number Labeler
-original_id: org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.number/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Apply a rule to a value of a field. (E.g. when minimum value is lower then 10, add label `not ok` else add label `ok`)
-
-***
-
-## Required input
-
-Requires a sensor value
-
-### Sensor value
-
-A number representing the current sensor value.
-
-***
-
-## Configuration
-
-### Condition
-Define a rule which label to add. Example: `<;5;nok` means when the calculated value is smaller then 5 add label ok.
-The default label can be defined with `*;nok`.
-The first rule that is true defines the label. Rules are applied in the same order as defined here.
-
-
-## Output
-Appends a new field  with the label defined in the Condition Configuration
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md
deleted file mode 100644
index 5f533eb..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state
-title: String To State
-sidebar_label: String To State
-original_id: org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.stringoperator.state/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Convert string fields to a state representing the current state of the system.
-This processor requires one or multiple string values in the data stream.
-For each of the selected values is added to the states field.
-***
-
-## Required input
-
-### String Fields
-String fields that are added to the state array
-
-***
-
-## Configuration
-No further configuration required
-
-## Output
-The output contains a new value with the string values of the state
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md
deleted file mode 100644
index 864ddd6..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.split-array.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.split-array
-title: Split Array
-sidebar_label: Split Array
-original_id: org.apache.streampipes.processors.transformation.jvm.split-array
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.split-array/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor takes an array of event properties and creates an event for each of them. Further property of the events can be added to each element.
-
-***
-
-## Required input
-
-This processor works with any event that has a field of type ``list``.
-
-***
-
-## Configuration
-
-### Keep Fields
-
-Fields of the event that should be kept in each resulting event.
-
-### List field
-
-The name of the field that contains the list values that should be split.
-
-
-## Output
-
-This data processor produces an event with all fields selected by the ``Keep Fields`` parameter and all fields of the
- selected list field.
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md
deleted file mode 100644
index cb1da0a..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-id: org.apache.streampipes.processors.transformation.jvm.stringoperator.timer
-title: String Timer
-sidebar_label: String Timer
-original_id: org.apache.streampipes.processors.transformation.jvm.stringoperator.timer
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.stringoperator.timer/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-This processor measures how long a value of a string field does not change. Once the value is changes the event with the measured time and the corresponding string value is emitted.
-
-
-***
-
-## Required input
-
-A string field is required in the data stream.
-
-### Field
-
-The string field which is monitored for any value changes.
-
-
-***
-
-## Configuration
-
-### Output Frequency 
-
-Define when an event should be emitted, either on each input event or just when the string value changes.
-
-## Output
-The following two fields are appended to the event:
-* [measured_time] the measured time for the string value to not change
-* [field_value] the corresponding string value 
-
-The event is emitted whenever the value of the string field changes.
-
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md
deleted file mode 100644
index cc91a51..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.brokers.jvm.nats.md
+++ /dev/null
@@ -1,79 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.nats
-title: NATS Publisher
-sidebar_label: NATS Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.nats
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.nats/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publishes events to NATS broker.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### NATS Subject
-
-The subject (topic) where events should be sent to.
-
-### NATS Broker URL
-
-The URL to connect to the NATS broker. It can be provided multiple urls separated by commas(,).
- (e.g., nats://localhost:4222,nats://localhost:4223)
- 
-### Username
-
-The username to authenticate the client with NATS broker.
-
-It is an optional configuration.  
-
-### NATS Broker URL
-
-The password to authenticate the client with NATS broker. 
-
-It is an optional configuration.
-
-### NATS Connection Properties
-
-All other possible connection configurations that the nats client can be created with.
-It can be provided as key value pairs separated by colons(:) and commas(,).
- (e.g., io.nats.client.reconnect.max:1, io.nats.client.timeout:1000)
-
-It is an optional configuration.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md
deleted file mode 100644
index c0a34e2..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.brokers.jvm.rabbitmq.md
+++ /dev/null
@@ -1,74 +0,0 @@
----
-id: org.apache.streampipes.sinks.brokers.jvm.rabbitmq
-title: RabbitMQ Publisher
-sidebar_label: RabbitMQ Publisher
-original_id: org.apache.streampipes.sinks.brokers.jvm.rabbitmq
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.brokers.jvm.rabbitmq/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Forwards events to a RabbitMQ broker
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Host
-
-The hostname of the RabbitMQ broker.
-
-### Port
-
-The port of the RabbitMQ broker.
-
-### User
-
-The username used to connect to the RabbitMQ broker.
-
-### Password
-
-The password used to connect to the RabbitMQ broker.
-
-### Exchange Name
-
-The name of the exchange.
-
-### RabbitMQ Topic
-
-The topic where events should be sent to.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.databases.ditto.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.databases.ditto.md
deleted file mode 100644
index 8a7089a..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.databases.ditto.md
+++ /dev/null
@@ -1,74 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.ditto
-title: Eclipse Ditto
-sidebar_label: Eclipse Ditto
-original_id: org.apache.streampipes.sinks.databases.ditto
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.ditto/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Forwards events to the Eclipse Ditto API.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Fields to send
-
-The fields that should be stored as a property to Ditto endpoint.
-
-### Ditto API endpoint
-
-The endpoint URL of the Ditto instance.
-
-### Username
-
-The username to authenticate the Ditto endpoint. 
-
-### Password
-
-The password to authenticate the Ditto endpoint. 
-
-### Thing ID
-
-The Ditto thing ID.
-
-#### Feature ID
-
-The Ditto feature ID
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md
deleted file mode 100644
index 28d2086..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.databases.jvm.mysql.md
+++ /dev/null
@@ -1,75 +0,0 @@
----
-id: org.apache.streampipes.sinks.databases.jvm.mysql
-title: MySQL Database
-sidebar_label: MySQL Database
-original_id: org.apache.streampipes.sinks.databases.jvm.mysql
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.mysql/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Stores events to a MySQL Database.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Hostname
-
-The hostname of the MySQL Server.
-
-### Port
-
-The port of the MySQL Server (default: 3306).
-
-### Database
-
-The database of the MySQL Server the data is written to.
-
-### Table
-
-The table name of the MySQL Server the data is written to.
-
-### Username
-
-The username for the MySQL Server.
-
-### Password
-
-The password for the MySQL Server.
-
-## Output
-
-(not applicable for data sinks)
-
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.internal.jvm.notification.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.internal.jvm.notification.md
deleted file mode 100644
index e6fbe37..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.internal.jvm.notification.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-id: org.apache.streampipes.sinks.internal.jvm.notification
-title: Notification
-sidebar_label: Notification
-original_id: org.apache.streampipes.sinks.internal.jvm.notification
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.internal.jvm.notification/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Displays a notification in the UI panel of StreamPipes.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-### Notification Title
-
-The title of the notification.
-
-### Content
-
-The notification message.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md
deleted file mode 100644
index f0486b9..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.notifications.jvm.slack.md
+++ /dev/null
@@ -1,68 +0,0 @@
----
-id: org.apache.streampipes.sinks.notifications.jvm.slack
-title: Slack Notification
-sidebar_label: Slack Notification
-original_id: org.apache.streampipes.sinks.notifications.jvm.slack
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.notifications.jvm.slack/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Slack bot to send notifications directly into your slack
-
-Before you use this sink, the Slack token needs to be configured.
-After you've installed the element, navigate to ``Settings``, open the panel ``Sinks Notifications JVM`` and add your
-Slack API token.
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here
-
-### Receiver
-
-The receiver of the Slack message.
-
-### Channel Type
-
-The channel type, should be "User" or "Channel"
-
-### Content
-
-The message that should be sent.
-
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md b/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md
deleted file mode 100644
index a4e28dd..0000000
--- a/website-v2/versioned_docs/version-0.68.0/pe/org.apache.streampipes.sinks.notifications.jvm.telegram.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-id: org.apache.streampipes.sinks.notifications.jvm.telegram
-title: Telegram Publisher
-sidebar_label: Telegram Publisher
-original_id: org.apache.streampipes.sinks.notifications.jvm.telegram
----
-
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  ~
-  -->
-
-
-
-<p align="center"> 
-    <img src="/img/pipeline-elements/org.apache.streampipes.sinks.notifications.jvm.telegram/icon.png" width="150px;" class="pe-image-documentation"/>
-</p>
-
-***
-
-## Description
-
-Publisher to send notifications to a Telegram channel.
-
-In order to be able to do so, you will have first to:
-* Create a Telegram public [channel](https://telegram.org/tour/channels).
-> Private channels/groups: also supported.
-* Create a Telegram BOT via [@BotFather](https://core.telegram.org/bots#3-how-do-i-create-a-bot) and get an API key.
-* Set the bot as [administrator](https://www.wikihow.com/Make-Someone-an-Admin-on-Telegram) in your channel.
-
-***
-
-## Required input
-
-This sink does not have any requirements and works with any incoming event type.
-
-***
-
-## Configuration
-
-Describe the configuration parameters here.
-
-### Bot API Key
-
-The API Key generated by `@BotFather` when you created your bot.
-
-### Channel Name or Chat Id
-
-The handle name of your public channel (e.g. `@channel_name`). 
-> For private channels/groups: handle name only available for public channels. Use `chat_id` instead.
-
-### Content
-
-The message to be sent.
-
-## Output
-
-(not applicable for data sinks)
diff --git a/website-v2/versioned_docs/version-0.69.0/01_try-installation.md b/website-v2/versioned_docs/version-0.69.0/01_try-installation.md
deleted file mode 100644
index 700a268..0000000
--- a/website-v2/versioned_docs/version-0.69.0/01_try-installation.md
+++ /dev/null
@@ -1,135 +0,0 @@
----
-id: try-installation
-title: Installation
-sidebar_label: Installation
-original_id: try-installation
----
-
-The easiest way to install StreamPipes is our Docker-based installation. For production-grade deployments, we also
-recommend looking at our Kubernetes support, which is also part of the installation kit.
-
-## Prerequisites
-
-The Docker-based installation requires **Docker** and **Docker Compose** to be installed on the target machine.
-Installation instructions can be found below.
-
-<div class="admonition info">
-<div class="admonition-title">Install Docker</div>
-<p>Go to https://docs.docker.com/installation/ and follow the instructions to install Docker for your OS. Make sure docker can be started as a non-root user (described in the installation manual, don’t forget to log out and in again) and check that Docker is installed correctly by executing docker-run hello-world</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Configure Docker</div>
-<p>By default, Docker uses only a limited number of CPU cores and memory.
-       If you run StreamPipes on Windows or on a Mac you need to adjust the default settings.
-       To do that, click on the Docker icon in your tab bar and open the preferences.
-       Go to the advanced preferences and set the **number of CPUs to 6** (recommended) and the **Memory to 4GB**.
-       After changing the settings, Docker needs to be restarted.</p></div>
-
-### Supported operating systems
-
-The Docker-based installation supports the operating systems **Linux**, **Mac OS X** and **Windows 10**. Older windows
-versions are not fully compatible with Docker. Linux VMs running under Windows might cause network problems with Docker,
-therefore some manual work might be needed to make StreamPipes run properly.
-
-### Web Browser
-
-The StreamPipes application itself will be accessible through a web browser. We recommend a recent version of Chrome (
-best experience), Firefox or Edge.
-
-## Install StreamPipes
-
-<ul style="padding-left:0">
-  <li class="installation-step" style="margin-top:20px;">
-      <div class="wrapper-container" style="">
-          <div class="wrapper-step">
-              <span class="fa-stack fa-2x">
-                   <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                   <strong class="fa-stack-1x" style="color:white;">1</strong>
-              </span>
-          </div>
-          <div class="wrapper-instruction">
-              Download the latest Apache StreamPipes release and extract the zip file to a directory of your choice.
-                  <table class="table" style="margin-top:30px;">
-                      <thead>
-                      <tr style="background:rgb(27, 20, 100);color:white;">
-                          <th scope="col" style="border-bottom:0px;border-top:0px;">File</th>
-                          <th scope="col" style="border-bottom:0px;border-top:0px;">Version</th>
-                          <th scope="col" style="border-bottom:0px;border-top:0px;">Release Date</th>
-                          <th scope="col" style="border-bottom:0px;border-top:0px;">Signatures</th>
-                      </tr>
-                      </thead>
-                      <tbody>
-                      <tr>
-                          <td><a href="https://www.apache.org/dyn/mirrors/mirrors.cgi?action=download&filename=incubator/streampipes/0.69.0/apache-streampipes-0.69.0-incubating-source-release.zip">apache-streampipes-0.69.0-incubating-source-release.zip</a></td>
-                          <td>0.69.0</td>
-                          <td>2022-03-21</td>
-                          <td>
-                              <a href="https://downloads.apache.org/incubator/streampipes/0.69.0/apache-streampipes-0.69.0-incubating-source-release.zip.sha512">SHA</a>
-                              <a href="https://downloads.apache.org/incubator/streampipes/0.69.0/apache-streampipes-0.69.0-incubating-source-release.zip.asc">PGP</a>
-                          </td>
-                      </tr>
-                      </tbody>
-                  </table>
-              <div class="row">
-                  <div class="alert alert-info" role="alert">
-                    The above release file should be verified using the PGP signatures and the <a href="https://downloads.apache.org/incubator/streampipes/KEYS">project release KEYS</a>. See the official ASF <a target="asf" href="https://www.apache.org/dyn/closer.cgi#verify">verification instructions</a> for a description of using the PGP and KEYS files for verification. A SHA512 checksum is also provided as an additional verification method.
-                  </div>
-              </div>
-          </div>
-      </div>
-  </li>
-  <li class="installation-step">
-      <div class="wrapper-container">
-          <div class="wrapper-step">
-              <span class="fa-stack fa-2x">
-                   <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                   <strong class="fa-stack-1x" style="color:white;">2</strong>
-              </span>
-          </div>
-          <div class="wrapper-instruction">
-             <div style="margin-bottom:5px;">In a command prompt, open the folder <code>installer/compose</code> and run <code>docker-compose up -d</code>.
-            </div>
-        </div>
-    </div>
-  </li>
-    <li class="installation-step">
-        <div class="wrapper-container" style="align-items: center;justify-content: center;">
-            <div class="wrapper-step">
-                <span class="fa-stack fa-2x">
-                     <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                     <strong class="fa-stack-1x" style="color:white;">3</strong>
-                </span>
-            </div>
-            <div class="wrapper-instruction">
-                Open your browser, navigate to http://localhost:80 (or the domain name of your server) and log in using the default email <code>admin@streampipes.apache.org</code> and default password <code>admin</code>.
-            </div>
-        </div>
-    </li>
-</ul>
-
-## Setup StreamPipes
-
-Once you've opened the browser at the URL given above, you should see the StreamPipes application as shown below. At initial startup, StreamPipes automatically performs an installation process.
-After the installation has finished, continue by clicking on "Go to login
-page", once all components are successfully configured.
-
-On the login page, enter your credentials, then you should be forwarded to the home page.
-
-Congratulations! You've successfully managed to install StreamPipes. Now we're ready to build our first pipeline!
-
-<div class="my-carousel docs-carousel">
-    <img src="/img/01_try-installation/03_login.png" alt="Go to login page"/>
-    <img src="/img/01_try-installation/04_home.png" alt="Home page"/>
-</div>
-
-<div class="admonition error">
-<div class="admonition-title">Errors during the installation process</div>
-<p>In most cases, errors during the installation are due to an under-powered system.<br/>
-If there is a problem with any of the components, please restart the whole system (<code>docker-compose down</code> and eventually also delete the volumes).
-   Please also make sure that your system meets the hardware requirements as mentioned in the first section of the installation guide.</p>
-</div>
-
-## Next Steps
-
-That's it! To ease your first steps with StreamPipes, we've created an [interactive tutorial](01_try-tutorial.md).
diff --git a/website-v2/versioned_docs/version-0.69.0/01_try-overview.md b/website-v2/versioned_docs/version-0.69.0/01_try-overview.md
deleted file mode 100644
index 8be91ea..0000000
--- a/website-v2/versioned_docs/version-0.69.0/01_try-overview.md
+++ /dev/null
@@ -1,129 +0,0 @@
----
-id: user-guide-introduction
-title: Apache StreamPipes Documentation
-sidebar_label: Overview
-original_id: user-guide-introduction
----
-
-This is the documentation of Apache StreamPipes.
-
-<img class="docs-image docs-image-small docs-image-no-shadow" style="padding: 10px;" src="/img/01_try-overview/01_streampipes-overview.png" alt="StreamPipes Overview"/>
-
-
-<div class="container grid col-3">
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                🚀 Try
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>Your first steps with Apache StreamPipes:</b></div>
-               <a href="try-installation.html">Install StreamPipes 🔗</a>
-            </div>
-        </div>
-    </div>
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                💡 Concepts
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>Learn about some general concepts of StreamPipes:</b></div>
-                <a href="concepts-overview.html">Overview 🔗</a>
-            </div>
-        </div>
-    </div>
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                🎓 Use
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>Learn how to use the various modules of StreamPipes:</b></div>
-                <a href="use-connect.html">StreamPipes Connect 🔗</a>, <a href="use-pipeline-editor.html">Pipeline Editor 🔗</a>, 
-                <a href="use-managing-pipelines.html">Managing Pipelines 🔗</a>, 
-                <a href="use-live-dashboard.html">Live Dashboard 🔗</a>, <a href="use-data-explorer.html">Data Explorer 🔗</a>, 
-                <a href="use-notifications.html">Notifications 🔗</a>
-            </div>
-        </div>
-    </div>
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                📚 Pipeline Elements
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>Available pipeline elements in StreamPipes:</b></div>
-                <a href="pe/org.apache.streampipes.connect.protocol.stream.kafka.html">Adapters 🔗</a>, 
-                <a href="pe/org.apache.streampipes.processors.aggregation.flink.aggregation.html">Data Processors 🔗</a>, 
-                <a href="pe/org.apache.streampipes.sinks.databases.jvm.couchdb.html">Data Sinks 🔗</a> 
-            </div>
-        </div>
-    </div>
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                ⚡ Deploy 
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>How to set up StreamPipes in test and production environments:</b></div>
-                <a href="deploy-docker.html">Docker 🔗</a>, <a href="deploy-kubernetes.html">Kubernetes 🔗</a>, <a href="../deploy
-                -use-ssl">Use SSL 🔗</a>
-            </div>
-        </div>
-    </div>
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                💻 Extend
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>Write your own pipeline elements for StreamPipes:</b></div>
-                <a href="extend-setup.html">Development Setup 🔗</a>, <a href="extend-cli.html">CLI 🔗</a>, <a href="../extend
-                -archetypes">Maven Archetypes 🔗</a>,
-                <a href="extend-tutorial-data-sources.html">Tutorial Data Sources 🔗</a>, <a href="../extend-tutorial-data
-                -processors">Tutorial Data Processors 🔗</a>, <a href="extend-tutorial-data-sinks.html">Tutorial Data Sinks 🔗
-                </a>,
-                <a href="extend-sdk-event-model.html">Event Model 🔗</a>, <a href="extend-sdk-stream-requirements.html">Stream
-                 Requirements 🔗</a>, <a href="extend-sdk-static-properties.html">Static Properties 🔗</a>,
-                <a href="extend-sdk-output-strategies.html">Output Strategies 🔗</a>
-            </div>
-        </div>
-    </div>
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                🔧 Technicals
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>Learn about technical concepts behind the curtain:</b></div>
-                <a href="technicals-architecture.html">Architecture 🔗</a>, <a href="technicals-user-guidance.html">User
-                 Guidance 🔗
-                </a>, <a href="technicals-runtime-wrappers.html">Runtime Wrappers 🔗</a>,
-                <a href="technicals-messaging.html">Messaging 🔗</a>, <a href="technicals-configuration.html">Configuration 🔗</a>
-            </div>
-        </div>
-    </div>
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                👪 Community
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>Get support and learn how to contribute to StreamPipes:</b></div>
-                <a href="community-get-help.html">Get Help 🔗</a>, <a href="community-contribute.html">Contribute 🔗</a>
-            </div>
-        </div>
-    </div>
-    <div class="column">
-        <div class="toc-box">
-            <div class="toc-header border-thin">
-                🐍 StreamPipes Python
-            </div>
-            <div class="toc-content">
-                <div class="toc-section-header"><b>Discover what we offer for the Python world:</b></div>
-                <a href="/docs/docs/python/latest">Python Documentation 🔗</a>
-            </div>
-        </div>
-    </div>
-</div>
diff --git a/website-v2/versioned_docs/version-0.69.0/03_use-configurations.md b/website-v2/versioned_docs/version-0.69.0/03_use-configurations.md
deleted file mode 100644
index 3f6c677..0000000
--- a/website-v2/versioned_docs/version-0.69.0/03_use-configurations.md
+++ /dev/null
@@ -1,49 +0,0 @@
----
-id: use-configurations
-title: Configurations
-sidebar_label: Configurations
-original_id: use-configurations
----
-
-The configuration section is an admin-only interface for system-wide settings.
-
-## General configuration
-
-<img class="docs-image" src="/img/03_use-configurations/01_general-configuration.png" alt="General configuration"/>
-
-The general configuration serves to provide basic system settings. The basic settings allow to configure the app name (which is used, e.g., for mails sent by StreamPipes). 
-Additionally, the externally available host and port can be set which is used by the mail system to add links to emails.
-
-Furthermore, self-registration and password recovery features can be activated in this view. Note that both features require a working email configuration.
-
-## Datalake
-
-<img class="docs-image" src="/img/03_use-configurations/02_datalake-configuration.png" alt="Datalake configuration"/>
-
-Here, stored data lake databases can be truncated or deleted. The view also gives information on the number of data points currently stored in a measurement series.
-
-## Email configuration
-
-<img class="docs-image" src="/img/03_use-configurations/03_email-configuration.png" alt="Email configuration"/>
-
-In this section, the email configuration is set. The email configuration is used to send mails to users. Most standard mail server settings are supported. The configuration can be validated by triggering a test mail that is sent to a given recipient.
-
-## Messaging
-
-<img class="docs-image" src="/img/03_use-configurations/04_messaging-configuration.png" alt="Messaging configuration"/>
-
-Messaging configuration is used to control parameters used for communication between pipeline elements. Individual Kafka settings can be configured, as well as the priority of selected message formats and protocols during pipeline creation.
-
-## Pipeline Element Configuration
-
-<img class="docs-image" src="/img/03_use-configurations/05_pipeline-element-configuration.png" alt="Pipeline element configuration"/>
-
-Individual configurations of extensions services are available in this view. The available configurations depend on the provided configuration variables in the service definition of each extensions service.
-
-## Security
-
-<img class="docs-image" src="/img/03_use-configurations/06_security-configuration.png" alt="Messaging configuration"/>
-
-The security configuration allows to manage existing user accounts, service accounts and groups. New users can be added and roles can be assigned.
-
-Please also read more about security [here](05_deploy-security.md).
diff --git a/website-v2/versioned_docs/version-0.69.0/03_use-connect.md b/website-v2/versioned_docs/version-0.69.0/03_use-connect.md
deleted file mode 100644
index 852fdb1..0000000
--- a/website-v2/versioned_docs/version-0.69.0/03_use-connect.md
+++ /dev/null
@@ -1,73 +0,0 @@
----
-id: version-0.90.0-use-connect
-title: StreamPipes Connect
-sidebar_label: StreamPipes Connect
-original_id: use-connect
----
-
-StreamPipes Connect is the module to connect external data sources with Apache StreamPipes directly from the user interface. 
-StreamPipes Connect offers various adapters for common communication protocols and some specific sensors. Besides connecting data, StreamPipes Connect offers ways to pre-process data without the need to build pipelines and integrates a schema guesser that listens for incoming data and recommends the recognized event schema.
-
-The screenshot below illustrates the data marketplace, which shown after navigating to "StreamPipes Connect" and then clicking the "New adapter" button at the top.
-
-<img class="docs-image" src="/img/03_use-connect/01_connect-overview.png"alt="StreamPipes Connect Overview"/>
-
-## Connecting new data sources
-
-### Data Marketplace
-The data marketplace shows a list of all adapters that are currently installed in Apache StreamPipes. Each adapter offers various configuration options which depend on the specifics of the adapter.
-Adapters are distinguished a) by the data source concept they provide (data set or data stream) and b) the adapter type, where we distinguish between _generic adapters_, which usually implement a generic communication protocol such as MQTT or Apache Kafka or a specific sensor interface (e.g., for Netio power sockets).
-Several filter options are available to find a suitable adapter. The configuration of a new adapter starts with selecting one of the available adapters, which starts an assistant that supports the adapter generation.
-
-### Protocol/Basic Settings
-In the first step, basic configurations need to be provided. For instance, for an Apache PLC4X adapter, the IP address of the PLC needs to be provided. In this example, we provide basic settings for connecting to an Apache Kafka broker. After all values are provided, the "Next" button opens the next step. 
-
-<img class="docs-image" src="/img/03_use-connect/06_connect-create.png"alt="StreamPipes Connect Basic Settings"/>
-
-### Format Specification
-The next step, format generation, is only available for generic adapters which support different message formats to be sent over the corresponding protocol. Think of a message broker that is able to consume messages in both JSON format or binary format.
-Currently supported formats include XML, various JSON representations, images and CSV. After a format has been selected, further format configurations can be provided (depending on the selected format) to further customize the incoming message format.
-
-<img class="docs-image" src="/img/03_use-connect/02_customize-format.png"alt="StreamPipes Connect Format Selection"/>
-
-### Schema Editor
-In the next step, based on the previously provided protocol and format settings, the system will either provide the fixed/pre-defined schema of the adapter or, in case of specific adapters, will connect to the underlying system and try to listen for incoming data. After a few seconds, the schema editor will appear that provides a list of detected fields from the incoming events (the schema).
-
-<img class="docs-image" src="/img/03_use-connect/03_schema-editor.png"alt="StreamPipes Connect Schema Editor"/>
-
-In the toolbar, several configuration options are available which transform the original schema:
-
-* **Add Nested Property**. This option allows to modify the structure of the event by creating a nested structure. The schema can be simply changed by dragging and dropping fields into the nested structure.
-* **Add Static Value**. This option allows to add a field containing a static value (e.g., an identifier) to the event.
-* **Add Timestamp**. This options appends the current timestamp to each incoming event, useful in case the timestamp is not provided by the origin.
-* **Refresh**. Re-triggers the schema guessing.
-* **Delete field**. Select one or more fields by clicking the checkbox on the right and trigger the delete button.
-* **Property scope**. For each field, a property scope can be defined which is either _Measurement_, _Dimension_ or _Header_. These values are later be used in the pipeline editor to assist in configuring pipeline elements and do not have any functional consequence. 
-Use _Measurement_ to indicate the field measures a value (e.g., a temperature value from a sensor), use _Dimension_ for any identifier (e.g., the sensor ID) and use _Header_ for any other metadata such as timestamps.
-
-For each field (also called event property) of the schema, additional configuration options are available by clicking the _Edit_ button:
-
-* **Label**. Used to provide a human-readable label for the field, which will ease the identification of fields when building pipelines.
-* **Runtime Name.** This is the identifier of the field in the underlying message representation format (e.g., the JSON key). Renaming the runtime name will trigger a so-called _transformation rule_ which renames the incoming field name to the new field name before forwarding it to StreamPipes.
-* **Domain Property/Semantic Type**. To help StreamPipes better understand the value which is represented by the field, semantic type information can be given. Up from StreamPipes 0.68.0, the semantic type can be selected from a wide range of available options. Additionally, an URL can be manually provided that indicates the meaning of the value (e.g., http://schema.org/Temperature).
-* **Mark as Timestamp**. Indicates that the selected value represents a timestamp. When selected, a _timestamp converter_ can be configured which will convert incoming timestamps to the UNIX timestamp.
-* **Runtime Type**. Here, the data type can be changed  
-* **Unit**. Allows to specify the unit in which the value is measured. Once selected, you can also automatically convert the unit to a target unit, which will then be inserted into the data stream produced by the adapter (see screenshot below). 
-
-<img class="docs-image" src="/img/03_use-connect/04_schema-editor-conversion.png"alt="StreamPipes Connect Unit Conversion"/>
-
-Assigning a timestamp is mandatory and can be either done by adding a timestamp from the menu, or by choosing an existing field and marking it as timestamp.
-
-### Adapter Generation
-Finally, the adapter is ready to be started. In the _Adapter Generation_ page, a name and description for the resulting data stream must be provided.
-Once started, StreamPipes creates your new adapter and displays a preview of the connected data, which refreshes about once per second.
-Afterwards, the newly created data stream is available in the pipeline editor for further usage.
-
-<img class="docs-image" src="/img/03_use-connect/05_adapter-generation.png"alt="StreamPipes Connect Adapter Generation"/>
-
-## Managing adapters
-
-Currently running adapters are available in the "Running adapters" section of StreamPipes Connect. Existing adapters can be stopped and deleted. Currently, there is no mechanism to edit an existing adapter or to stop the adapter without deleting it.
-
-### Adapter Templates
-For frequently used configurations, adapter templates can be created. An adapter template is a pre-configured adapter which can be further customized by users. Created adapter templates are available in the marketplace similar to standard adapters.
diff --git a/website-v2/versioned_docs/version-0.69.0/03_use-dashboard.md b/website-v2/versioned_docs/version-0.69.0/03_use-dashboard.md
deleted file mode 100644
index 0f828b8..0000000
--- a/website-v2/versioned_docs/version-0.69.0/03_use-dashboard.md
+++ /dev/null
@@ -1,67 +0,0 @@
----
-id: use-dashboard
-title: Live Dashboard
-sidebar_label: Live Dashboard
-original_id: use-dashboard
----
-
-The live dashboard can be used to visualize live data of data streams using a set of visualizations
-The entry page of the live dashboard lists all created dashboards as in the screenshot below:
-
-<img class="docs-image" src="/img/03_use-dashboard/01_dashboard-overview.png" alt="StreamPipes Dashboard Overview"/>
-
-## Visualizing Data Streams
-
-To visualize data streams in the live dashboard, a pipeline must be created that makes use of the so-called **Data Lake** sink.
-Any data stream or data processor can serve as an input of the data lake sink. Switch to the pipeline editor, create a pipeline and configure the data lake sink. The visualization name is used to identify the sink in case multiple data lake sinks are used within a single pipeline.
-
-## Managing Dashboards
-Multiple dashboards can be created, e.g., to organize different assets in a single dashboard view.
-
-A new dashboard can be created by clicking the _New Dashboard_ button, which opens a dialog that requires basic dashboard settings such as the title and description of the new dashboard.
-Once created, the dashboard will be shown in the overview. Here, the following dashboard actions are available:
-
-* **Show** opens the dashboard.
-* **Window** opens the dashboard in a new window with reduced controls, e.g., without the StreamPipes navigation and toolbar. This is a useful view for standalone displays that should visualize key parameters.
-* **Settings** allows to modify the basic dashboard settings. 
-* **Edit** opens the dashboard in edit mode, where widgets can be added to the dashboard.
-+ **Delete** deletes the selected dashboard.
-
-## Creating Visualizations
-
-Visualizations can be added to each dashboard in form of widgets. To add new visualizations, switch to the dashboard in _Edit_ mode.
-In edit mode, a button appears that allows to add a new visualization.
-
-Adding a new visualization is supported by a wizard consisting of three steps:
-
-<img class="docs-image" src="/img/03_use-dashboard/02_add-widget.png" alt="StreamPipes Dashboard Pipeline Selection"/>
-
-* **Select pipeline** is the first step where a pipeline is selected on which the visualization is based. In this view, all pipelines are listed that have at least one **Dashboard Sink**. In case a pipeline contains multiple data lake sinks, the visualization name is listed below the pipeline name which eases discovering of the proper visualization.
-* **Select widget** is the next step where the visualization widget must be selected. StreamPipes automatically filters this list based on input requirements of widgets. For instance, image visualizations are only visible if the input data stream provides an image object.
-* **Configure widget** provides widget-specific settings to configure the visualization. In most cases, colors and titles of widgets can be modified. Additionally, chart-specific settings such as axis value ranges can be configured.
-
-<img class="docs-image" src="/img/03_use-dashboard/03_configure-widget.png" alt="StreamPipes Dashboard Widget Configuration"/>
-
-By clicking _Create_, the new widget is placed on the canvas. Size and positioning of visualizations can be flexibly changed based on the provided grid. To change the widget configuration, the _Settings_ button of each widget can be clicked to re-open the configuration dialog.
-
-Once created, the dashboard provides a live view of all visualizations:
-
-<img class="docs-image" src="/img/03_use-dashboard/04_live-dashboard.png" alt="StreamPipes Live Dashboard"/>
-
-
-Before the dashboard is closed, make sure to click the _Save_ button to persist the updated dashboard. Changes can be discarded by clicking the _Discard_ button.
-
-
-## Available widgets
-
-The following visualizations are available in the latest release:
-
-* Area Chart
-* Gauge
-* HTML page (renders HTML markup)
-* Image  
-* Line Chart
-* Raw (displays the raw JSON input for debugging purposes)
-* Single Value (displays a single measurement)
-* Table
-* Traffic Light
diff --git a/website-v2/versioned_docs/version-0.69.0/03_use-data-explorer.md b/website-v2/versioned_docs/version-0.69.0/03_use-data-explorer.md
deleted file mode 100644
index 4fdc713..0000000
--- a/website-v2/versioned_docs/version-0.69.0/03_use-data-explorer.md
+++ /dev/null
@@ -1,103 +0,0 @@
----
-id: use-data-explorer
-title: Data Explorer
-sidebar_label: Data Explorer
-original_id: use-data-explorer
----
-
-The data explorer can be used to visualize and explore data streams that are persisted by using the **Data Lake** sink.
-
-<img class="docs-image" src="/img/03_use-data-explorer/01_data-explorer-overview.png" alt="StreamPipes Data Explorer Overview"/>
-
-It provides a canvas (i.e. a data view) where various visualizations from multiple pipelines can be placed. For each data view, you can set a date and time range for the configured visualizations.
-
-## Using the data explorer
-
-### Get the data 
-
-In the data explorer, any pipeline that uses the so-called **Data Lake** sink can be explored in the data explorer. Switch to the pipeline editor and add the data lake sink to a data processor or stream.
-The sink requires an index name as a configuration parameter, which is used as an identifier in the data explorer.
-
-### Data Views & Widgets
-
-After your data is stored in the data lake, you can switch over to the data-explorer tab to create a novel data view and the widgets of your choice. In StreamPipes, a data view organizes a set of related widgets (i.e. data visualizations or plots) and gets assigned a single date and time range. The standard date and time range consists of the last 15 minutes of the current date and time. You can select predefined ranges (e.g. day or month) or configure the exact date and time range you want to explore.
-
-<img class="docs-image" src="/img/03_use-data-explorer/02_data-explorer-overview-2.png" alt="StreamPipes Data Explorer Component"/>
-
-First create and name your data view and select the edit icon to proceed. In your data view, you can now add a new widget congiguration (plus icon) to configure and create your first widget. The widget configuration consists of (i) data, where the individual data sources in the data lake are selected, the properties for the widget are chosen and filters on the data sources are defined and applied, (ii) visualization, where the type of widget is chosen and the respective configuration for the widget type is done and (iii) appearance, where general style configurations for the widget (such as background color) can be performed. 
-
-### Data Configuration
-
-The data configuration is the first step to define your widget. You can add several data sources (i.e. data sinks) and need to configure each added data source individually. This gives you sufficient freedom to combine the needed information, potentially consisting of different data resolutions, filters or types of information.
-
-<img class="docs-image" src="/img/03_use-data-explorer/03_data-explorer-data.png" alt="StreamPipes Data Explorer Data Configuration"/>
-
-After selecting the initial data source, you can choose if the underlying data query is to be performed raw, aggregated or single. Raw queries refer to using the data as-is, where you can define a limit on the number of events to guarantee performant usage in the application. In aggregated mode, you can choose among predefined aggregation granularites (e.g. day, minute, second). 
-
-In the next step, you can choose the fields (i.e. properties of your data source) you are interested in exploring. If you selected aggregation or single mode, you can also modify the type of aggregation to be performed on the selected property.
-
-You can also filter your data source by adding conjunctive conditions.
-
-### Visualization Configuration
-
-The visualization configuration is dependent on the visulization type, which needs to be selected first. The data-explorer currently supports the following types:
-
-#### Table
-
-The table view formats the selected properties in table format. 
-
-<img class="docs-image" src="/img/03_use-data-explorer/04_data-explorer-table.png" alt="StreamPipes Data Explorer Table"/>
-
-#### Map
-
-The map allows to visualize and explore coordinates on the world map. The configuration requires to choose the property which comprises the coordinates, allows to choose the marker style, a zoom level as well as the tooltip content.
-
-<img class="docs-image" src="/img/03_use-data-explorer/05_data-explorer-map.png" alt="StreamPipes Data Explorer Map"/>
-
-#### Heatmap
-
-The heatmap widget visualizes data in terms of the available intensity, where higher values are interpreted as being more intense. You only need to select the property which you want to visualize. Note that it might be interesting to aggregate the data in the data configuration to get more insights in your heatmap.
-
-<img class="docs-image" src="/img/03_use-data-explorer/06_data-explorer-heatmap.png" alt="StreamPipes Data Explorer Heatmap"/>
-
-#### Time Series
-
-The time series widget allows you to do exploration and analysis for your numerical and boolean data properties. You can easily visualize your data properties in various styles (i.e. scatter, line, scattered line, bar or symbol) and colors, and configure a second y-axis for better interpretation of varying property ranges.
-
-<img class="docs-image" src="/img/03_use-data-explorer/07_data-explorer-timeseries-1.png" alt="StreamPipes Data Explorer Time Series 1"/>
-
-<img class="docs-image" src="/img/03_use-data-explorer/08_data-explorer-timeseries-2.png" alt="StreamPipes Data Explorer Time Series 2"/>
-
-<img class="docs-image" src="/img/03_use-data-explorer/09_data-explorer-timeseries-3.png" alt="StreamPipes Data Explorer Time Series 3"/>
-
-#### Image
-
-The image widget enables to integrate and visualize your image data.
-
-#### Indicator
-
-The indiator widget lets you visualize a single numerical value as well as (optionally) the delta to another indicator. You only need to configure the respective properties.
-
-<img class="docs-image" src="/img/03_use-data-explorer/11_data-explorer-indicator.png" alt="StreamPipes Data Explorer Indicator"/>
-
-#### 2D Correlation
-
-The correlation plot currently supports analyzing the relationship of two properties. Once selected, you can choose between a scatter view of the plotted data points or directly extract correlations in a density chart.
-
-<img class="docs-image" src="/img/03_use-data-explorer/12_data-explorer-correlation-1.png" alt="StreamPipes Data Explorer Correlation 1"/>
-
-<img class="docs-image" src="/img/03_use-data-explorer/13_data-explorer-correlation-2.png" alt="StreamPipes Data Explorer Correlation 2"/>
-
-#### Distribution
-
-In the distribution widget, you can quickly get an overview of your data range and common data values. You can either choose a histrogram view, where a bar chart is used to show data the frequency of automatically extracted data ranges or a pie view, where you can also select the granularity of how your data is clustered in terms of frequency.
-
-<img class="docs-image" src="/img/03_use-data-explorer/14_data-explorer-distribution-1.png" alt="StreamPipes Data Explorer Distribution 1"/>
-
-<img class="docs-image" src="/img/03_use-data-explorer/15_data-explorer-distribution-2.png" alt="StreamPipes Data Explorer Distribution 2"/>
-
-### Appearance Configuration
-
-Finally, you can change the title of your created widget as well as background and text colors in the appearance configuration. 
-
-<img class="docs-image" src="/img/03_use-data-explorer/16_data-explorer-appearance.png" alt="StreamPipes Data Explorer Appearance"/>
diff --git a/website-v2/versioned_docs/version-0.69.0/03_use-pipeline-editor.md b/website-v2/versioned_docs/version-0.69.0/03_use-pipeline-editor.md
deleted file mode 100644
index ba848e0..0000000
--- a/website-v2/versioned_docs/version-0.69.0/03_use-pipeline-editor.md
+++ /dev/null
@@ -1,63 +0,0 @@
----
-id: version-0.90.0-use-pipeline-editor
-title: Pipeline Editor
-sidebar_label: Pipeline Editor
-original_id: use-pipeline-editor
----
-
-The pipeline editor module supports building pipelines that transform a data stream using a set of resuable data processors and data sinks.
-The empty pipeline editor looks similar to the illustration below after a new installation.
-
-<img class="docs-image" src="/img/03_use-pipeline-editor/01_pipeline-editor-overview.png"alt="StreamPipes Pipeline Editor Overview"/>
-
-## Pipeline Elements
-The four main concepts data sets, data streams, data processors and data sinks are available at the top of the pipeline editor. By switching the tabs, the individual pipeline elements for each category can be found.
-By clicking the questionmark symbol, which appears when hovering over an element, additional information can be viewed (e.g., for data streams a live preview of incoming data and the documentation of the pipeline element for data processors and sinks).
-
-<img class="docs-image" src="/img/03_use-pipeline-editor/02_pipeline-element-info.png"alt="StreamPipes Pipeline Element Info"/>
-
-## Creating Pipelines
-Pipelines are built by dragging data streams, processors and sinks into the pipeline assembly area. Typically, a pipeline is built step-by-step starting with a data soure (stream or set). 
-Afterwards, data processors and sinks are subsequently added to the pipeline. Connections between pipeline elements are made by selecting the gray connector of the source and moving it to the target pipeline element.
-Once a connection is made, StreamPipes performs a quick validation step and, in case two pipeline elements are compatible, automatically opens a configuration window.
-
-### Configuring Pipeline Elements
-The configuration depends on the selected pipeline element and looks similar to the screenshot below.
-In general, pipeline elements are configured by providing the required values. Once the pipeline element is fully configured, the _Save_ button activates and can be used to save the configuration for the pipeline element.
-
-<img class="docs-image" src="/img/03_use-pipeline-editor/03_configure-pipeline-element.png"alt="StreamPipes Pipeline Element Configuration"/>
-
-In addition, the following options are available in the pipeline element configuration menu:
-* **Show documentation** extends the view and displays the pipeline element's documentation next to the configuration view.
-* **Show only recommended settings** filters the list of available fields provided by the connected input data stream based on the _property scope_, e.g., so that only measurement values are displayed and dimension fields from the input stream are not available for selection. If deactivated, selections contain the full list of available fields that match the input requirement of the data processor.
-
-### Pipeline Element Options
-Further options for a pipeline element can be displayed by hovering over a pipeline element in the assembly area, so that additional buttons appear around the pipeline element:
-
-* **Configure element** re-opens the configuration view to update the pipeline element configuration (only available for data processors and sinks)
-* **Delete element** removes the pipeline element from the pipeline  
-* **Help** opens the pipeline element's documentation
-* **Compatible element** opens a dialog which shows all pipeline elements that are compatible to the current element's output data stream. The dialog offers an alternative to selecting pipeline elements directly from the pipeline element selection in the top.
-* **Pipeline Element Recommendation** opens a dialog which shows all recommended pipeline elements that are compatible the current element's output data stream. The recommendation is based on previously connected pipeline elements and is displayed below.
-
-### Pipeline Editor Options
-Several pipeline editor options are available in the menu bar of the pipeline assembly:
-
-<img class="docs-image" src="/img/03_use-pipeline-editor/05_pipeline-editor-options.png"alt="StreamPipes Pipeline Editor Options"/>
-
-* **Save pipeline** opens the save dialog (see below)
-* **Pan** allows to pan within the assembly area, useful for larger pipelines that do not fit in the screen
-* **Select** is visible if pan mode is active and switches back to the default select mode
-* **Zoom in/out** triggers the zoom in the pipeline assembly
-* **Auto Layout** layouts the pipeline in a much more beautiful way than you are able to do by yourself ;-)
-* **All pipeline modification saved** is displayed if the current pipeline has been cached. Cache updates are triggered after every change of the pipeline so that changes are not lost after reloading the window.
-* **Hints** are shown to display current errors (e.g., incomplete pipelines). Details can be opened by clicking the hint button.
-* **Clear assembly** clears the assembly and removes the current pipeline.
-
-### Saving a pipeline
-To save a pipeline, press the _save pipeline_ button. A dialog pops up where a name and description of the pipeline can be entered (only name is mandatory).
-Additionally, a pipeline can be directly started after it has been stored by checking the corresponding button.
-
-<img class="docs-image" src="/img/03_use-pipeline-editor/06_save-pipeline.png"alt="StreamPipes Save Pipeline Dialog"/>
-
-
diff --git a/website-v2/versioned_docs/version-0.69.0/05_deploy-security.md b/website-v2/versioned_docs/version-0.69.0/05_deploy-security.md
deleted file mode 100644
index b9958c4..0000000
--- a/website-v2/versioned_docs/version-0.69.0/05_deploy-security.md
+++ /dev/null
@@ -1,76 +0,0 @@
----
-id: deploy-security
-title: Security
-sidebar_label: Security
-original_id: deploy-security
----
-
-## Overriding default settings
-
-At installation time, StreamPipes checks for available environment variables relevant for the securing the system. If they are not set, it will use the default values.
-
-The following variables are checked by the core at installation time:
-
-* SP_INITIAL_ADMIN_EMAIL The email address of the initial administrator.
-* SP_INITIAL_ADMIN_PASSWORD The password of the initial administrator.
-* SP_INITIAL_CLIENT_USER The initial client user, used by the extensions modules to make authenticated API requests to the core.
-* SP_INITIAL_CLIENT_SECRET The default password of the initial client user.
-* SP_SETUP_INSTALL_PIPELINE_ELEMENTS Indicates whether pipeline elements should be installed.
-* SP_ENCRYPTION_PASSCODE The encryption passcode, used for securely storing secrets (e.g., database connection strings).
-* SP_JWT_SECRET The JWT secret, used for signing JWT tokens.
-
-In addition, all extensions services that perform requests to the core will need to have the following environment variables set:
-
-* SP_CLIENT_USER The client user, used by the extensions modules to make authenticated API requests to the core.
-* SP_CLIENT_SECRET The password of the client user.
-
-Note that there are default values for all environment variables that are set at installation time - make sure to change these settings when moving to production!
-
-## Configuration
-
-Most security-related settings can be set in the configuration section of StreamPipes. The *General* section allows to set self-service registration and password recovery (both are disabled by default and require a valid email configuration).
-In the *Security* section, users, service accounts, roles and groups can be configured.
-
-
-## User types
-
-StreamPipes distinguishes between User Accounts (real users that interact with StreamPipes over the UI or an API) and Service Accounts (user-independent accounts which solely use StreamPipes over the API).
-
-User accounts are typically used by extensions service that require API access to the core (e.g., to get a list of running pipelines).
-
-## Permissions
-
-StreamPipes v0.69.0 comes with more advanced mechanisms to manage permissions.
-For each major resource (pipeline elements, pipelines, StreamPipes Connect adapters, dashboards, data explorer views), permissions can be assigned individually to users and groups.
-
-To ease permission handling, StreamPipes comes with a default number of roles with pre-assigned privileges:
-
-### Roles
-
-* Admin The administrator role has full access to all resources.
-* Service Admin The service administrator role has full access to all resources, but has no access to the UI.
-* Pipeline Admin has full control of pipelines (create, edit, delete, start, stop, pause, resume, etc.).
-* Pipeline User has limited control of pipelines (read only).
-* Dashboard Admin has full control of dashboards (create, edit, delete, etc.).
-* Dashboard User has limited control of dashboards (read only).
-* Data Explorer Admin has full control of data explorer views (create, edit, delete, etc.).
-* Data Explorer User has limited control of data explorer views (read only).
-* Connect Admin has full control of StreamPipes Connect adapters (create, edit, delete, etc.).
-
-### Groups
-
-Roles can be either assigned to specific users or groups. Any group can contain several members. 
-The permissions of a user are the union of the permissions of all roles assigned to the user and the groups to which the user belongs.
-
-### Changing permissions
-
-Any resource has a resource owner, which is the authority that created the resource. Resources can be either public or private. Public resources are available to all users, while the user role determines what the user can do with the resource.
-E.g., a public pipeline created by a user of role ROLE_ADMIN can be edited by all users with role PIPELINE_ADMIN, while the same pipeline can be read by all users with role PIPELINE_USER.
-
-Permissions can only be changed by admin users currently.
-In the overview section of each resource (e.g., pipelines and dashboards), a permission dialog is available to users with role ROLE_ADMIN. The dialog allows to assign users and groups to the individual resource.
-
-
-
-
-
diff --git a/website-v2/versioned_docs/version-0.69.0/06_extend-archetypes.md b/website-v2/versioned_docs/version-0.69.0/06_extend-archetypes.md
deleted file mode 100644
index 2880d92..0000000
--- a/website-v2/versioned_docs/version-0.69.0/06_extend-archetypes.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-id: extend-archetypes
-title: Maven Archetypes
-sidebar_label: Maven Archetypes
-original_id: extend-archetypes
----
-
-In this tutorial we explain how you can use the Maven archetypes to develop your own StreamPipes processors and sinks.
-We use IntelliJ in this tutorial, but it works with any IDE of your choice.
-
-## Prerequisites
-You need to have Maven installed, further you need an up and running StreamPipes installation on your development computer.
-
-## Create Project
-To create a new project, we provide multiple Maven Archteypes.
-Currently, we provide archetypes for standalone Java-based microservices and archetypes for the experimental Flink wrapper.
-The commands required to create a new pipeline element project can be found below. Make sure that you select a version compatible with your StreamPipes installation.
-Copy the command into your terminal to create a new project.
-The project will be created in the current folder.
-First, the ``groupId`` of the resulting Maven artifact must be set.
-We use ``groupId``: ``org.example`` and ``artifactId``: ``ExampleProcessor``.
-You can keep the default values for the other settings, confirm them by hitting enter.
-
-The current {sp.version} is 0.69.0 (for a pre-release version, use the SNAPSHOT appendix, e.g. 0.69.0-SNAPSHOT)
-
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.apache.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-extensions-jvm  \
-  -DarchetypeVersion={sp.version}
-```
-<details class="info">
-    <summary>Other archetypes</summary>
-
-## Processors Flink
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.apache.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-processors-flink  \
-  -DarchetypeVersion={sp.version}
-```
-
-## Sinks Flink
-```bash
-mvn archetype:generate                              	 	     \
-  -DarchetypeGroupId=org.apache.streampipes          			         \
-  -DarchetypeArtifactId=streampipes-archetype-pe-sinks-flink  \
-  -DarchetypeVersion={sp.version}
-```
-</details>
-
-
-## Project structure
-Open the project in your IDE.
-If everything worked, the structure should look similar to the following image.
-In the *main* package, it is defined which processors / sinks you want to activate and the *pe.example* package contains two skeletons for creating a data processor and sink.
-For details, have a look at the other parts of the Developer Guide, where these classes are explained in more depth.
-
-<img src="/img/archetype/project_structure.png" width="30%" alt="Project Structure"/>
-
-## Next steps
-
-Click [here](06_extend-first-processor.md) to learn how to create your first data processor.
-
-
diff --git a/website-v2/versioned_docs/version-0.69.0/06_extend-cli.md b/website-v2/versioned_docs/version-0.69.0/06_extend-cli.md
deleted file mode 100644
index 79fde00..0000000
--- a/website-v2/versioned_docs/version-0.69.0/06_extend-cli.md
+++ /dev/null
@@ -1,191 +0,0 @@
----
-id: extend-cli
-title: StreamPipes CLI
-sidebar_label: StreamPipes CLI
-original_id: extend-cli
----
-
-The StreamPipes command-line interface (CLI) is focused on developers in order to provide an easy entrypoint to set up a suitable dev environment, either planning on developing
-
-* new extensions such as **connect adapters, processors, sinks** or,
-* new core features for **backend** and **ui**.
-
-The main difference between the standard Docker/K8s installation is an improved communication between services running as containers and services running locally for development.
-
-The CLI can be found in the [main repository](https://github.com/apache/incubator-streampipes/tree/master/installer/cli) or in the ``compose/cli`` folder of the downloaded source code.
-
-## TL;DR
-
-```bash
-streampipes env --list
-[INFO] Available StreamPipes environment templates:
-pipeline-element
-...
-streampipes env --set pipeline-element
-streampipes up -d
-```
-> **NOTE**: use `./streampipes` if you haven't add it to the PATH and sourced it (see section "Run `streampipes` from anywhere?").
-
-## Prerequisites
-The CLI is basically a wrapper around multiple `docker` and `docker-compose` commands plus some additional sugar.
-
-* Docker >= 17.06.0
-* Docker-Compose >= 1.26.0 (Compose file format: 3.4)
-* Google Chrome (recommended), Mozilla Firefox, Microsoft Edge
-* For Windows Developer: GitBash only
-
-
-Tested on: **macOS**, **Linux**, **Windows***)
-
-> **NOTE**: *) If you're using Windows the CLI only works in combination with GitBash - CMD, PowerShell won't work.
-
-
-## CLI commands overview
-
-```
-StreamPipes CLI - Manage your StreamPipes environment with ease
-
-Usage: streampipes COMMAND [OPTIONS]
-
-Options:
-  --help, -h      show help
-  --version, -v   show version
-
-Commands:
-  clean       Remove StreamPipes data volumes, dangling images and network
-  down        Stop and remove StreamPipes containers
-  env         Inspect and select StreamPipes environments
-  info        Get information
-  logs        Get container logs for specific container
-  ps          List all StreamPipes container for running environment
-  pull        Download latest images from Dockerhub
-  restart     Restart StreamPipes environment
-  up          Create and start StreamPipes container environment
-
-Run 'streampipes COMMAND --help' for more info on a command.
-```
-
-## Usage: Along dev life-cycle
-
-**List** available environment templates.
-```bash
-streampipes env --list
-```
-
-**Inspect** services in an available environment to know what kind of services it is composed of.
-```bash
-streampipes env --inspect pipeline-element
-```
-
-**Set** environment, e.g. `pipeline-element`, if you want to write a new pipeline element.
-```bash
-streampipes env --set pipeline-element
-```
-
-**Start** environment ( default: `dev` mode). Here the service definition in the selected environment is used to start the multi-container landscape.
-> **NOTE**: `dev` mode is enabled by default since we rely on open ports to core service such as `consul`, `couchdb`, `kafka` etc. to reach from the IDE when developing. If you don't want to map ports (except the UI port), then use the `--no-ports` flag.
-
-```bash
-streampipes up -d
-# start in production mode with unmapped ports
-# streampipes up -d --no-ports
-```
-Now you're good to go to write your new pipeline element :tada: :tada: :tada:
-
-> **HINT for extensions**: Use our [Maven archetypes](https://streampipes.apache.org/docs/docs/dev-guide-archetype/) to setup a project skeleton and use your IDE of choice for development. However, we do recommend using IntelliJ.
-
-> **HINT for core**: To work on `backend` or `ui` features you need to set the template to `backend` and clone the core repository [incubator-streampipes](https://github.com/apache/incubator-streampipes) - check the prerequisites there for more information.
-
-**Stop** environment and remove docker container
-```bash
-streampipes down
-# want to also clean docker data volumes when stopping the environment?
-# streampipes down -v
-```
-
-## Additionally, useful commands
-
-**Start individual services only?** We got you! You chose a template that suits your needs and now you only want to start individual services from it, e.g. only Kafka and Consul.
-
-> **NOTE**: the service names need to be present and match your current `.spenv` environment.
-
-```bash
-streampipes up -d kafka consul
-```
-
-**Get current environment** (if previously set using `streampipes env --set <environment>`).
-```bash
-streampipes env
-```
-
-**Get logs** of specific service and use optional `--follow` flag to stay attached to the logs.
-```bash
-streampipes logs --follow backend
-```
-
-**Update** all services of current environment
-```bash
-streampipes pull
-```
-
-**Restart** all services of current environment or specific services
-```bash
-streampipes restart
-# restart backend & consul
-# streampipes restart backend consul
-```
-
-**Clean** your system and remove created StreamPipes Docker volumes, StreamPipes docker network and dangling StreamPipes images of old image layers.
-```bash
-streampipes clean
-# remove volumes, network and dangling images
-# streampipes clean --volumes
-```
-
-## Modify/Create an environment template
-As of now, this step has to be done **manually**. All environments are located in `environments/`.
-
-```bash
-├── adapter               # developing a new connect adapter
-├── backend               # developing core backend features
-├── basic                 # wanna run core, UI, connect etc from the IDE?
-├── full                  # full version containing more pipeline elements
-├── lite                  # few pipeline elements, less memory  
-├── pipeline-element      # developing new pipeline-elements
-└── ui                    # developing UI features
-```
-**Modifying an existing environment template**. To modify an existing template, you can simply add a `<YOUR_NEW_SERVICE>` to the template.
-> **NOTE**: You need to make sure, that the service your are adding exists in `deploy/standalone/service/<YOUR_NEW_SERVICE>`. If your're adding a completely new service take a look at existing ones, create a new service directory and include a `docker-compose.yml` and `docker-compose.dev.yml` file.
-
-```
-[environment:backend]
-activemq
-kafka
-...
-<YOUR_NEW_SERVICE>
-```
-
-**Creating a new** environment template. To create a new environment template, place a new file `environments/<YOUR_NEW_ENVIRONMENT>` in the template directory. Open the file and use the following schema.
-> **IMPORTANT**: Please make sure to have `[environment:<YOUR_NEW_ENVIRONMENT>]` header in the first line of your new template matching the name of the file. Make sure to use small caps letters (lowercase) only.
-
-```
-[environment:<YOUR_NEW_ENVIRONMENT>]
-<SERVICE_1>
-<SERVICE_2>
-...
-```
-
-## Run `streampipes` from anywhere? No problem
-Simply add the path to this cli directory to your `$PATH` (on macOS, Linux) variable, e.g. in your `.bashrc` or `.zshrc`, or `%PATH%` (on Windows).
-
-For **macOS**, or **Linux**:
-
-```bash
-export PATH="/path/to/incubator-streampipes-installer/cli:$PATH"
-```
-
-For **Windows 10**, e.g. check this [documentation](https://helpdeskgeek.com/windows-10/add-windows-path-environment-variable/).
-
-
-## Upgrade to new version
-To upgrade to a new version, simply edit the version tag `SP_VERSION` in the `.env` file.
diff --git a/website-v2/versioned_docs/version-0.69.0/06_extend-first-processor.md b/website-v2/versioned_docs/version-0.69.0/06_extend-first-processor.md
deleted file mode 100644
index aa00bbb..0000000
--- a/website-v2/versioned_docs/version-0.69.0/06_extend-first-processor.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-id: extend-first-processor
-title: Your first data processor
-sidebar_label: Your first data processor
-original_id: extend-first-processor
----
-
-In this section, we will explain how to start a pipeline element service and install it using the StreamPipes UI.
-
-Open the class *ExampleDataProcessor* and edit the ``onEvent`` method to print the incoming event, log it to the console and send it to the next component without changing it.
-
-```java
-@Override
-public void onEvent(Event event, SpOutputCollector collector) {
-    // Print the incoming event on the console
-    System.out.println(event);
-
-    // Hand the incoming event to the output collector without changing it.
-    collector.collect(event);
-}
-```
-
-## Start Processor
-Starting from StreamPipes 0.69.0, the IP address of an extensions service (processor, adapter or sink) will be auto-discovered upon start.
-The auto-discovery is done by the StreamPipes service discovery mechanism and should work for most setups.
-Once you start an extensions service, you will see the chosen IP in printed in the console. Make sure that this IP does not point to localhost (127.0.0.1).
-If you see such an IP or the extensions service complains that it cannot resolve the IP, you can manually set the IP address of the extensions service. You can do so by providing an <code>SP_HOST</code> environment variable.
-
-
-To check if the service is up and running, open the browser on *'localhost:8090'* (or the port defined in the service definition). The machine-readable description of the processor should be visible as shown below.
-
-<img src="/img/archetype/endpoint.png" width="90%" alt="Project Structure"/>
-
-
-<div class="admonition error">
-<div class="admonition-title">Common Problems</div>
-<p>
-If the service description is not shown on 'localhost:8090', you might have to change the port address.
-This needs to be done in the configuration of your service, further explained in the configurations part of the developer guide.
-
-If the service does not show up in the StreamPipes installation menu, click on 'MANAGE ENDPOINTS' and add 'http://<span></span>YOUR_IP_OR_DNS_NAME:8090'.
-Use the IP or DNS name you provided as the SP_HOST variable or the IP (if resolvable) found by the auto-discovery service printed in the console.
-After adding the endpoint, a new processor with the name *Example* should show up.
-</p>
-</div>
-
-Now you can go to StreamPipes.
-Your new processor *'Example'* should now show up in the installation menu ("Install Pipeline Elements" in the left navigation bar).
-Install it, then switch to the pipeline view and create a simple pipeline that makes use of your newly created processor.
-In case you opened the StreamPipes installation for the first time, it should have been automatically installed during the setup process.
-
-<img src="/img/archetype/example_pipeline.png" width="80%" alt="Project Structure"/>
-
-Start this pipeline.
-Now you should see logging messages in your console and, once you've created a visualization, you can also see the resulting events of your component in StreamPipes.
-
-Congratulations, you have just created your first processor!
-From here on you can start experimenting and implement your own algorithms.
diff --git a/website-v2/versioned_docs/version-0.69.0/06_extend-sdk-event-model.md b/website-v2/versioned_docs/version-0.69.0/06_extend-sdk-event-model.md
deleted file mode 100644
index 1152010..0000000
--- a/website-v2/versioned_docs/version-0.69.0/06_extend-sdk-event-model.md
+++ /dev/null
@@ -1,142 +0,0 @@
----
-id: extend-sdk-event-model
-title: "SDK Guide: Event Model"
-sidebar_label: "SDK: Event Model"
-original_id: extend-sdk-event-model
----
-
-## Introduction
-
-This guide explains the usage of the event model to manipulate runtime events for data processors and data sink.
-
-## Prerequisites
-
-This guide assumes that you are already familiar with the basic setup of [data processors](dev-guide-processor-sdk.md) and [data sinks](dev-guide-sink-sdk.md).
-
-### Property Selectors
-
-In most cases, fields that are subject to be transformed by pipeline elements are provided by the assigned ``MappingProperty`` (see the guide on [static properties](dev-guide-static-properties.md)).
-
-Mapping properties return a ``PropertySelector`` that identifies a field based on (i) the **streamIndex** and (ii) the runtime name of the field.
-Let's assume we have an event with the following structure:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "sensor1",
-    "running" : true,
-    "location" : {"latitude" : 34.4, "longitude" : -47},
-    "lastValues" : [45, 22, 21]
-}
-```
-
-In addition, we assume that a data processor exists (with one input node) that converts the temperature value (measured in degrees celsius) to a degree fahrenheit value.
-In this case, a mapping property (selected by the pipeline developer in the StreamPipes UI) would link to the ``temperature`` field of the event.
-
-The mapping property value will be the ``PropertySelector`` of the temperature value, which looks as follows:
-
-```
-s0::temperature
-```
-
-``s0`` identifies the stream (in this case, only one input streams exist, but as data processors might require more than one input stream, a stream identifier is required), while the appendix identifies the runtime name.
-
-Note: If you add a new field to an input event, you don't need to provide the selector, you can just assign the runtime name as defined by the [output strategy](dev-guide-output-strategies.md).
-
-### Reading Fields
-
-You can get a field from an event by providing the corresponding selector:
-
-```java
-
-@Override
-  public void onEvent(Event event, SpOutputCollector out) {
-
-  PrimitiveField temperatureField = event.getFieldBySelector(PROPERTY_SELECTOR).getAsPrimitive();
-  }
-
-```
-
-Similarly, if your mapping property links to a nested property, use
-
-```java
-
-@Override
-  public void onEvent(Event event, SpOutputCollector out) {
-
-  NestedField nestedField = event.getFieldBySelector(PROPERTY_SELECTOR).getAsNested();
-  }
-
-```
-
-and for a list-based field:
-
-```java
-
-@Override
-  public void onEvent(Event event, SpOutputCollector out) {
-
-  ListField listField = event.getFieldBySelector(PROPERTY_SELECTOR).getAsList();
-  }
-
-```
-
-### Parsing Fields
-
-#### Primitive Fields
-
-A ``PrimitiveField`` contains convenience methods to directly cast a field to the target datatype:
-
-```java
-
-// parse the value as a float datatype
-Float temperatureValue = event.getFieldBySelector(temperatureSelector).getAsPrimitive().getAsFloat();
-
-// or do the same with a double datatype
-Double temperatureValue = event.getFieldBySelector(temperatureSelector).getAsPrimitive().getAsDouble();
-
-// extracting a string
-String deviceId = event.getFieldBySelector(deviceIdSelector).getAsPrimitive().getAsString();
-
-// this also works for extracting fields from nested fields:
-Double latitude = event.getFieldBySelector(latitudeSelector).getAsPrimitive().getAsDouble();
-
-// extracting boolean values
-Boolean running = event.getFieldBySelector(runningSelector).getAsPrimitive().getAsBoolean();
-```
-
-In rare cases, you might want to receive a field directly based on the runtime name as follows:
-
-```java
-Double temperature = event.getFieldByRuntimeName("temperature").getAsPrimitive().getAsDouble();
-```
-
-#### List Fields
-
-Lists can also be retrieved by providing the corresponding selector and can automatically be parsed to a list of primitive datatypes:
-
-```java
-
-List<Integer> lastValues = event.getFieldBySelector(lastValueSelector).getAsList().parseAsSimpleType(Integer.class);
-
-```
-
-(coming soon: parsing complex lists)
-
-
-### Adding/Updating Fields
-
-Primitive fields can easily be added to an event by providing the runtime name and the object:
-
-```java
-
-    // add a primitive field with runtime name "city" and value "Karlsruhe"
-    event.addField("city", "Karlsruhe");
-
-    // remove the field "temperature" from the event
-    event.removeFieldBySelector(temperatureSelector);
-
-    // add a new field
-    event.addField("fahrenheit", 48);
-```
diff --git a/website-v2/versioned_docs/version-0.69.0/06_extend-sdk-functions.md b/website-v2/versioned_docs/version-0.69.0/06_extend-sdk-functions.md
deleted file mode 100644
index 646e2ba..0000000
--- a/website-v2/versioned_docs/version-0.69.0/06_extend-sdk-functions.md
+++ /dev/null
@@ -1,126 +0,0 @@
----
-id: version-0.90.0-extend-sdk-functions
-title: "SDK Guide: Functions"
-sidebar_label: "SDK: Functions"
-original_id: extend-sdk-functions
----
-
-## Introduction
-
-Pipeline elements such as data processors and data sinks are a great way 
-to create _reusable_ components that can be part of pipelines.
-However, creating a pipeline element is not always the best choice:
-
-* The behaviour of a data processor is bound to a specific input stream _and_
-* A data processor doesn't contain any user-defined configuration _and_
-* The intended action is fixed or known at build time and the data processor shouldn't be available in the pipeline editor.
-
-To cover such use cases, we provide _StreamPipes Functions_. Functions 
-are a great way to define custom processing logic based on previously 
-connected data streams.
-
-Functions can be registered in a similar way to pipeline elements, but define expected input 
-streams at startup time. Functions are started once the corresponding _extensions service_ starts
-and run until the service is stopped. 
-
-## Writing a function
-
-<div class="admonition warning">
-    <div class="admonition-title">Work in Progress</div>
-    <p>Functions are currently in preview mode and are not yet recommended for production usage. 
-APIs are subject to change in a future version.</p>
-</div>
-
-To define a function, create a new extensions service using the [Maven Archetypes](06_extend-archetypes.md) or use an already existing service.
-
-### Skeleton
-
-Functions can be defined by creating a new class which extends the ``StreamPipesFunction`` class.
-
-The basic skeleton looks like this:
-
-```java
-public class StreamPipesFunctionExample extends StreamPipesFunction {
-  
-  @Override
-  public FunctionId getFunctionId() {
-    return FunctionId.from("my-function-id", 1);
-  }
-
-  @Override
-  public List<String> requiredStreamIds() {
-    return List.of("<id of the required stream>");
-  }
-
-  @Override
-  public void onServiceStarted(FunctionContext context) {
-    // called when the service is started
-  }
-
-  @Override
-  public void onEvent(Event event, String streamId) {
-    // called when an event arrives
-  }
-
-  @Override
-  public void onServiceStopped() {
-    // called when the service is stopped
-  }
-}
-
-```
-
-The structure of a function class is easy to understand:
-* _getFunctionId_ requires an identifier in form of a ``FunctionId``, which defines the id itself along with a version number that can be freely chosen.
-* _requiredStreamIds_ expects a list of references to data streams that are already available in StreamPipes. See below to learn how to find the id of a stream in StreamPipes.
-* _onServiceStarted_ is called once the extensions service is started and can be used to initialize the function.
-* _onEvent_ is called every time a new event arrives and provides a ``streamId`` as a reference to the corresponding stream, which is useful in case multiple data streams are received by the function.
-* _onServiceStopped_ is called when the extensions service is stopped and can be used to perform any required cleanup.
-
-### Getting a stream ID
-
-Functions require a reference to all data streams that should be retrieved by the function.
-Currently, the only way to get the ID of a function is by navigating to the ``Asset Management`` view in the StreamPipes UI.
-Create a new asset, click on ``Edit Asset`` and open ``Add Link`` in the _Linked Resources_ panel.
-Choose ``Data Source`` as link type, select one of the available sources, copy the ``Resource ID`` and provide this ID in the ``requiredStreamIds`` method.
-
-### Function Context
-
-The ``onServiceStarted`` method provides a function context which provides several convenience methods to work with functions:
-
-* _getFunctionId_ returns the current function identifier
-* _getConfig_ returns a reference to configuration options of the extensions service
-* _getClient_ returns a reference to the StreamPipes client to interact with features from the REST API.
-* _getStreams_ returns the data model of all data streams defined in the ``requiredStreamIds`` method.
-* _getSchema_ returns the schema of a specific data stream by providing the ``streamId``
-
-
-## Registering a function
-
-Registering a function is easy and can be done in the _Init_ class of the service.
-E.g., considering a service definition as illustrated below, simply call ``registerFunction`` and 
-provide an instance of your function.
-
-```java
-
-  @Override
-  public SpServiceDefinition provideServiceDefinition() {
-    return SpServiceDefinitionBuilder.create("my-service-id",
-            "StreamPipes Function Example",
-            "",
-            8090)
-        .registerFunction(new MyExampleFunction())
-        .registerMessagingFormats(
-            new JsonDataFormatFactory())
-        .registerMessagingProtocols(
-            new SpNatsProtocolFactory())
-        .build();
-  }
-  
-```
-
-## Metrics & Monitoring
-
-Similar to pipeline elements, function register at the StreamPipes core. 
-Running functions can be seen in the pipeline view of the user interface under _Functions_, right below the list of available pipelines.
-Similar to pipelines, simple metrics, monitoring info and exceptions can be viewed in the _Details_ section of each function. 
diff --git a/website-v2/versioned_docs/version-0.69.0/06_extend-sdk-migration-sd.md b/website-v2/versioned_docs/version-0.69.0/06_extend-sdk-migration-sd.md
deleted file mode 100644
index 6631fbe..0000000
--- a/website-v2/versioned_docs/version-0.69.0/06_extend-sdk-migration-sd.md
+++ /dev/null
@@ -1,117 +0,0 @@
----
-id: extend-sdk-migration-service-discovery
-title: "Migration Guide: New Service Discovery in 0.69.0"
-sidebar_label: "Migration Guide: 0.69.0"
-original_id: extend-sdk-migration-service-discovery
----
-
-
-## Introduction
-As part of our roadmap towards a release 1.0, Apache StreamPipes 0.69.0 features a new service discovery approach along with performance improvements related to a new storage layer for pipeline element descriptions.
-
-The new service discovery approach is better suited for cloud-native scenarios, as the hostname of a pipeline element is now decoupled from its description. As such, StreamPipes now supports recovery of pipeline elements independent from their assigned host.
-In addition, the new approach simplifies development of StreamPipes, e.g., in cases where the core is running in Docker and pipeline elements are developed on a local machine. In this case, the IP of the host machine should now be auto-discovered so that provision of environement variables should now be obsolete in most cases.
-The second large improvement is related to the replacement of RDF4J as the storage engine with a NoSQL database. This leads to much faster load times (you will notice this especially at system startup).
-
-While we are heavily working towards a stable release 1.0, we decided to put our efforts into the remaining features required for 1.0 and do not provide an auto-migration related to some breaking changes.
-Therefore, we recommend to reinstall StreamPipes when updating to 0.69.0. We currently plan to have at most two more releases before releasing the first 1.x version of StreamPipes.
-
-## Installation
-* Before upgrading to 0.69.0, clean any existing installation (e.g., by running ``docker-compose down -v``) and make sure that no volumes of StreamPipes are left.
-* Upgrade to the latest installer version (currently the dev branch of incubator-streampipes-installer)
-* Upon restart, make sure that the setup dialog appears (make sure that the new StreamPipes logo appears) and re-initialize the system.
-
-## SDK changes
-
-0.69.0 comes with a new ``ServiceDefinitionBuilder`` for pipelines, which simplifies the definition of a pipeline element. 
-
-The ServiceDefinitionBuilder requires an ID of your extensions service, an optional title and description and a default port.
-It is best to provide 8090 as the default port, so that this will be the standard port of all StreamPipes extensions services at deployment time in a containerized environment.
-The port port can always be overriden by providing an ``SP_PORT`` environment variable.
-
-### Init class
-
-Modify the Init class of your pipeline element service as follows:
-
-```java
-public class ExamplesInit extends StandaloneModelSubmitter {
-
-  public static void main(String[] args) {
-    new ExamplesInit().init();
-  }
-
-  @Override
-  public SpServiceDefinition provideServiceDefinition() {
-    return SpServiceDefinitionBuilder.create("org.apache.streampipes.processors.examples.jvm",
-            "StreamPipes Code Examples",
-            "",
-            8090)
-            .registerMessagingProtocols(new SpKafkaProtocolFactory(), new SpJmsProtocolFactory())
-            .registerMessagingFormats(new JsonDataFormatFactory())
-            .registerPipelineElement(new MyPipelineElementController())
-            .registerAdapter(new MyAdapter())
-            .build();
-  }
-}
-```
-
-You can now easily define a StreamPipes extensions service that supports both custom adapters and pipeline elements by using the following Maven dependency:
-This is optional and no changes to your existing Maven dependencies (except the version, e.g., 0.69.0-SNAPSHOT) are required.
-
-```maven
-<dependency>
-    <groupId>org.apache.streampipes</groupId>
-    <artifactId>streampipes-container-extensions</artifactId>
-</dependency>
-```
-
-
-### Configs
-Prior to version 0.69.0, additionally configs had to be provided in a separate ``Config`` class. This is now obsolete - configs can be directly provided within the builder class as follows:
-
-```java
-
- @Override
-  public SpServiceDefinition provideServiceDefinition() {
-    return SpServiceDefinitionBuilder.create("org.apache.streampipes.processors.examples.jvm",
-            "StreamPipes Code Examples",
-            "",
-            8090)
-            .registerPipelineElement(new MyPipelineElement())
-            .registerAdapter(new MyAdapter())
-            .addConfig("key", 1)
-            .addConfig("my-string-config", "myvalue")
-            .build();
-  }
-```
-
-Configs can be easily accessed from the ``EventProcessorRuntimeContext`` (or ``EventSinkRuntimeContext``):
-
-```java
-@Override
-  public void onInvocation(Parameters params, 
-                            SpOutputCollector spOutputCollector, 
-                            EventProcessorRuntimeContext context) {
-  
-    Integer myConfigValue = context.getConfigStore().getConfig().getInteger("key");
-  }
-```
-
-
-### Service Discovery
-An extensions service can be started by executing the Init class. StreamPipes will now automatically select the proper service IP address and register the service in Consul.
-You can inspect the selected IP address in the console:
-
-```
-16:41:58.342 SP [main] INFO  o.a.s.commons.networking.Networking - Using auto-discovered IP: 172.30.80.1
-16:41:58.364 SP [main] INFO  o.a.s.commons.networking.Networking - Using port from provided environment variable SP_PORT: 6025
-16:41:58.367 SP [main] INFO  o.a.s.c.init.DeclarersSingleton - Registering 0 configs in key/value store
-16:41:58.400 SP [main] INFO  o.a.s.s.consul.ConsulProvider - Checking if consul is available...
-16:41:58.419 SP [main] INFO  o.a.s.s.consul.ConsulProvider - Successfully connected to Consul
-```
-
-In some (rare) cases, a non-resolvable IP will be selected. In this case, you can manually override the IP by providing a ``SP_HOST`` environment variable. This falls back to a similar behaviour as in pre-0.69.0-versions and will use the manually provided IP.
-
-
-
-
diff --git a/website-v2/versioned_docs/version-0.69.0/06_extend-sdk-output-strategies.md b/website-v2/versioned_docs/version-0.69.0/06_extend-sdk-output-strategies.md
deleted file mode 100644
index 85a2b9d..0000000
--- a/website-v2/versioned_docs/version-0.69.0/06_extend-sdk-output-strategies.md
+++ /dev/null
@@ -1,349 +0,0 @@
----
-id: version-0.90.0-extend-sdk-output-strategies
-title: "SDK Guide: Output Strategies"
-sidebar_label: "SDK: Output Strategies"
-original_id: extend-sdk-output-strategies
----
-
-## Introduction
-In StreamPipes, output strategies determine the output of a data processor.
-As the exact input schema of a processor is usually not yet known at development time (as processors can be connected with any stream that matches their requirements), output strategies are a concept to define how an input data stream is transformed to an output data stream.
-
-The following reference describes how output strategies can be defined using the SDK.
-
-<div class="admonition tip">
-<div class="admonition-title">Code on Github</div>
-<p>For all examples, the code can be found on <a href="https://www.github.com/apache/streampipes-examples
-/tree/dev/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/apache/streampipes/pe/examples/jvm
-/outputstrategy/">Github</a>.</p>
-</div>
-
-## Reference
-
-The methods described below to create static properties are available in the ``ProcessingElementBuilder`` class and are usually used in the ``declareModel`` method of the controller class.
-
-As follows, we will use the following example event to explain how output strategies define the output of a data processor:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "1"
-
-}
-```
-
-### Keep Output
-
-A ``KeepOutputStrategy`` declares that the output event schema will be equal to the input event schema.
-In other terms, the processor does not change the schema, but might change the values of event properties.
-
-A keep output strategy can be defined as follows:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".keep", "Keep output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.anyProperty())
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // declaring a keep output strategy
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-
-```
-
-According to the example above, the expected output event schema of the example input event would be:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "1"
-
-}
-```
-
-Data processors that perform filter operations (e.g., filtering temperature values that are above a given threshold) are a common example for using keep output strategies.
-
-
-### Fixed Output
-
-A ``FixedOutputStrategy`` declares that the data processor itself provides the event schema. The output schema does not depend on the input event.
-
-Fixed output strategies need to provide the event schema they produce at development time:
-
-```java
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".fixed", "Fixed output example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.anyProperty())
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // the fixed output strategy provides the schema
-            .outputStrategy(OutputStrategies.fixed(EpProperties.timestampProperty("timestamp"),
-                    EpProperties.doubleEp(Labels.from("avg", "Average value", ""), "avg", SO.Number)))
-
-            .build();
-  }
-
-```
-
-In this example, we declare that the output schema always consists of two fields (``timestamp`` and ``avg``).
-
-Therefore, an output event should look like:
-
-```json
-{
-    "timestamp" : 1234556,
-    "avg" : 36.0
-}
-```
-
-
-### Append Output
-
-An ``AppendOutputStrategy`` appends additional fields to a schema of an incoming event stream. For instance, data processors that perform enrichment operations usually make use of append output strategies.
-
-Similar to the fixed output strategy, the additional fields must be provided at development time in the controller method as follows:
-
-```java
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".append", "Append output example", "")
-
-            // boilerplate code not relevant here, see above
-
-            // declaring an append output
-            .outputStrategy(OutputStrategies.append(EpProperties.integerEp(Labels.from("avg",
-                    "The average value", ""), "avg", SO.Number)))
-
-            .build();
-  }
-```
-
-In this case, the output event would have an additional field ``avg``:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : "1",
-    "avg" : 123.0
-
-}
-```
-
-### Custom Output
-
-In some cases, pipeline developers using the StreamPipes UI should be able to manually select fields from an input event schema. For such use cases, a ``CustomOutputStrategy`` can be used:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".custom", "Custom output example", "")
-
-            // boilerplate code not relevant here, see above
-
-            // declaring a custom output
-            .outputStrategy(OutputStrategies.custom())
-
-            .build();
-  }
-
-```
-
-If a data processor defines a custom output strategy, the customization dialog in the pipeline editor will show a dialog to let users select the fields to keep:
-
-<img src="/img/dev-guide-output-strategies/os-custom.png" width="80%"alt="Number Parameter"/>
-
-Taking our example, and assuming that the user selects both the ``timestamp`` and the ``temperature`` the expected output event should look like this:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0
-}
-```
-
-How do we know which fields were selected once the data processor is invoked? Use the proper method from the extractor in the ``onInvocation`` method:
-
-```java
-@Override
-  public ConfiguredEventProcessor<DummyParameters> onInvocation(DataProcessorInvocation graph, ProcessingElementParameterExtractor extractor) {
-
-    List<String> outputSelectors = extractor.outputKeySelectors();
-
-    return new ConfiguredEventProcessor<>(new DummyParameters(graph), DummyEngine::new);
-  }
-```
-
-### Transform Output
-
-A ``TransformOutputStrategy`` declares that one or more fields of an incoming event stream are transformed. Transformations can be applied to the datatype of the property, the runtime name of the property, or any other scheam-related declaration such as measurement units.
-
-#### Static Transform Operations
-
-Static transform operations do not depend on any user input (at pipeline development time) in order to know how to transform a field of an incoming event schema.
-
-Let's say our data processor transforms strings (that are actually a number) to a number datatype. In this case, we can use a static transform output strategy:
-
-```java
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".transform", "Transform output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.stringReq(), Labels.from
-                            ("str", "The date property as a string", ""), PropertyScope.NONE)
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // static transform operation
-            .outputStrategy(OutputStrategies.transform(TransformOperations
-                    .staticDatatypeTransformation("str", Datatypes.Long)))
-
-            .build();
-  }
-
-```
-
-Note the mapping property that we use to determine which field of the input event should be transformed.
-
-The expected output event would look like this:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temperature" : 37.0,
-    "deviceId" : 1
-}
-```
-
-#### Dynamic Transform Operations
-
-Sometimes, user input depends on the exact transform output. Let's take a field renaming processor as an example, which lets the user rename a field from an input event schema to another field name.
-For such use cases, we can use a ``DynamicTransformOperation``:
-
-```java
-
-  @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".transform", "Transform output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.stringReq(), Labels.from
-                            ("str", "The date property as a string", ""), PropertyScope.NONE)
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // the text input to enter the new runtime name
-            .requiredTextparameter(Labels.from("new-runtime-name", "New Runtime Name", ""))
-
-            // static transform operation
-            .outputStrategy(OutputStrategies.transform(TransformOperations
-                    .dynamicRuntimeNameTransformation("str", "new-runtime-name")))
-
-            .build();
-  }
-
-```
-
-For dynamic transform operations, an additional identifier that links to another static property can be assigned and later be fetched in the ``onInvocation`` method.
-
-Assuming we want to rename the field ``temperature`` to ``temp``, the resulting output event should look like this:
-
-```json
-{
-    "timestamp" : 1234556,
-    "temp" : 37.0,
-    "deviceId" : 1
-}
-```
-
-### Custom Transform Output
-
-Finally, in some cases the output schema cannot be described at pipeline development time. For these (usually rare) cases, a ``CustomTransformOutput`` strategy can be used.
-
-In this case, a callback function will be invoked in the controller class just after a user has filled in any static properties and clicks on ``Save`` in the pipeline editor.
-
-To define a custom transform output, we need to implement an interface in the controller class:
-
-```java
-public class CustomTransformOutputController extends
-        StandaloneEventProcessingDeclarer<DummyParameters> implements
-        ResolvesContainerProvidedOutputStrategy<DataProcessorInvocation, ProcessingElementParameterExtractor> {
-
-
-@Override
-  public EventSchema resolveOutputStrategy(DataProcessorInvocation processingElement, ProcessingElementParameterExtractor parameterExtractor) throws SpRuntimeException {
-
-  }
-}
-```
-
-In addition, the output strategy must be declared in the ``declareModel`` method:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.outputstrategy" +
-            ".customtransform", "Custom transform output example example", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.stringReq(), Labels.from
-                            ("str", "The date property as a string", ""), PropertyScope.NONE)
-                    .build())
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-
-            // declare a custom transform output
-            .outputStrategy(OutputStrategies.customTransformation())
-
-            .build();
-  }
-
-```
-
-Once a new pipeline using this data processor is created and the configuration is saved, the ``resolveOutputStrategy`` method will be called, so that an event schema can be provided based on the given configuration. An extractor instance (see the guide on static properties) is available to extract the selected static properties and the connected event stream.
-
-```java
-@Override
-  public EventSchema resolveOutputStrategy(DataProcessorInvocation processingElement, ProcessingElementParameterExtractor parameterExtractor) throws SpRuntimeException {
-    return new EventSchema(Arrays
-            .asList(EpProperties
-                    .stringEp(Labels.from("runtime", "I was added at runtime", ""), "runtime", SO.Text)));
-  }
-```
-
-In this example, the output event schema should look like this:
-
-```json
-{
-    "runtime" : "Hello world!"
-}
-```
-
diff --git a/website-v2/versioned_docs/version-0.69.0/06_extend-sdk-static-properties.md b/website-v2/versioned_docs/version-0.69.0/06_extend-sdk-static-properties.md
deleted file mode 100644
index 095bd82..0000000
--- a/website-v2/versioned_docs/version-0.69.0/06_extend-sdk-static-properties.md
+++ /dev/null
@@ -1,267 +0,0 @@
----
-id: version-0.90.0-extend-sdk-static-properties
-title: "SDK Guide: Static Properties"
-sidebar_label: "SDK: Static Properties"
-original_id: extend-sdk-static-properties
----
-
-## Introduction
-Static properties represent user-faced parameters that are provided by pipeline developers.
-Processing elements can specify required static properties, which will render different UI views in the pipeline editor.
-
-The following reference describes how static properties can be defined using the SDK.
-
-<div class="admonition tip">
-<div class="admonition-title">Code on Github</div>
-<p>For all examples, the code can be found on <a href="https://github.com/apache/streampipes-examples/tree
-/dev/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/apache/streampipes/pe/examples/jvm
-/staticproperty">Github</a>.</p>
-</div>
-
-## Reference
-
-The methods described below to create static properties are available in the ``ProcessingElementBuilder`` and ``DataSinkBuilder`` classes and are usually used in the ``declareModel`` method of the controller class.
-
-### Mapping property
-
-In StreamPipes, processing elements usually operate on fields of an event stream. For instance, a filter processor operates on a specific field from an input stream (e.g., a field measuring the temperature).
-Typically, pipeline developers should select the exact field where the operations is applied upon by themselves.
-As this field is not yet known at pipeline element development time (as it is defined by the pipeline developer in the pipeline editor), mapping properties serve to map a stream requirement to a specific field from the actual input event stream.
-
-### Unary mapping property
-
-A unary mapping property maps a stream requirement to an actual field of an event stream. Therefore, the ``StreamRequirementsBuilder`` provides the opportunity to directly add a mapping property based along with a property requirement:
-
-```java
-.requiredStream(StreamRequirementsBuilder.
-    create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.numberReq(),
-            Labels.from("mp-key", "My Mapping", ""),
-            PropertyScope.NONE)
-    .build())
-```
-
-This leads to a selection dialog in the pipeline element customization which provides the user with a selection of all event properties (fields) from the input stream that match the specified property requirement:
-
-<img src="/img/dev-guide-static-properties/sp-mapping-unary.png" width="80%"alt="Text"/>
-
-At invocation time, the value can be extracted in the ``onInvocation`` method as follows:
-
-```java
-// Extract the mapping property value
-String mappingPropertySelector = extractor.mappingPropertyValue("mp-key");
-```
-
-Note that this method returns a ``PropertySelector``, which can be used by the event model to extract the actual value of this field.
-
-### N-ary mapping property
-
-N-ary mapping properties work similar to unary mapping properties, but allow the mapping of one requirement to multiple event properties matching the requirement:
-
-```java
-.requiredStream(StreamRequirementsBuilder.
-    create()
-    .requiredPropertyWithNaryMapping(EpRequirements.numberReq(),
-            Labels.from("mp-key", "My Mapping", ""),
-            PropertyScope.NONE)
-    .build())
-```
-
-This renders the following selection, where users can select more than one matching event property:
-
-<img src="/img/dev-guide-static-properties/sp-mapping-nary.png" width="80%"alt="Text"/>
-
-The following snippet returns a list containing the property selectors of all event properties that have been selected:
-
-```java
-// Extract the mapping property value
-List<String> mappingPropertySelectors = extractor.mappingPropertyValues("mp-key");
-```
-
-### Free-Text Parameters
-
-A free-text parameter requires the pipeline developer to enter a single value - which can be a string or another primitive data type.
-The input of free-text parameters can be restricted to specific value ranges or can be linked to the value set of a connected input data stream.
-
-#### Text Parameters
-
-A text parameter lets the user enter a string value. The following code line in the controller class
-
-```java
-.requiredTextParameter(Labels.from(SP_KEY, "Example Name", "Example Description"))
-```
-
-leads to the following input dialog in the pipeline editor:
-
-<img src="/img/dev-guide-static-properties/sp-text-parameter.png" width="80%"alt="Text"/>
-
-Users can enter any value that will be converted to a string datatype. To receive the entered value in the ``onInvocation`` method, use the following method from the ``ParameterExtractor``
-
-```java
-String textParameter = extractor.singleValueParameter(SP_KEY, String.class);
-```
-
-#### Number parameters
-
-A number parameter lets the user enter a number value, either a floating-point number or an integer:
-
-```java
-// create an integer parameter
-.requiredIntegerParameter(Labels.from(SP_KEY, "Integer Parameter", "Example Description"))
-
-// create a float parameter
-.requiredFloatParameter(Labels.from("float-key", "Float Parameter", "Example Description"))
-
-```
-
-leads to the following input dialog in the pipeline editor only accepting integer values:
-
-<img src="/img/dev-guide-static-properties/sp-number-parameter.png" width="80%"alt="Number Parameter"/>
-
-The pipeline editor performs type validation and ensures that only numbers can be added by the user. To receive the entered value in the ``onInvocation`` method, use the following method from the ``ParameterExtractor``
-
-```java
-// Extract the integer parameter value
-Integer integerParameter = extractor.singleValueParameter(SP_KEY, Integer.class);
-
-// Extract the float parameter value
-Float floatParameter = extractor.singleValueParameter("float-key", Float.class);
-
-```
-
-#### Numbers with value specification
-
-You can also specify the value range of a number-based free text parameter:
-
-```java
-// create an integer parameter with value range
-.requiredIntegerParameter(Labels.from(SP_KEY, "Integer Parameter", "Example Description"), 0, 100, 1)
-
-```
-
-which renders the following input field:
-
-<img src="/img/dev-guide-static-properties/sp-number-parameter-with-range.png" width="80%"alt="Number Parameter"/>
-
-Receive the entered value in the same way as a standard number parameter.
-
-#### Free-text parameters linked to an event property
-
-
-### Single-Value Selections
-
-Single-value selections let the user select from a pre-defined list of options.
-A single-value selection requires to select exactly one option.
-
-```java
-.requiredSingleValueSelection(Labels.from("id", "Example Name", "Example Description"),
-    Options.from("Option A", "Option B", "Option C"))
-
-```
-
-Single-value selections will be rendered as a set of radio buttons in the pipeline editor:
-
-<img src="/img/dev-guide-static-properties/sp-single-selection.png" width="80%"alt="Number Parameter"/>
-
-To extract the selected value, use the following method from the parameter extractor:
-
-```java
-// Extract the selected value
-String selectedSingleValue = extractor.selectedSingleValue("id", String.class);
-```
-
-<div class="admonition tip">
-<div class="admonition-title">Declaring options</div>
-<p>Sometimes, you may want to use an internal name that differs from the display name of an option.
-For that, you can use the method Options.from(Tuple2{'<'}String, String{'>'}) and the extractor method selectedSingleValueInternalName.</p>
-</div>
-
-
-
-### Multi-Value Selections
-
-Multi-value selections let the user select from a pre-defined list of options, where multiple or no option might be selected.
-
-```java
-.requiredMultiValueSelection(Labels.from("id", "Example Name", "Example Description"),
-    Options.from("Option A", "Option B", "Option C"))
-
-```
-
-Multi-value selections will be rendered as a set of checkboxes in the pipeline editor:
-
-<img src="/img/dev-guide-static-properties/sp-multi-selection.png" width="80%"alt="Number Parameter"/>
-
-To extract the selected value, use the following method from the parameter extractor:
-
-```java
-// Extract the selected value
-List<String> selectedMultiValue = extractor.selectedMultiValues("id", String.class);
-```
-
-### Domain Concepts
-
-(coming soon...)
-
-### Collections
-
-You can also define collections based on other static properties.
-
-```java
-// create a collection parameter
-.requiredParameterAsCollection(Labels.from("collection", "Example Name", "Example " +
-        "Description"), StaticProperties.stringFreeTextProperty(Labels
-        .from("text-property","Text","")))
-```
-
-While the items of the collection can be provided in the same way as the underlying static property, the UI provides buttons to add and remove items to the collections.
-
-<img src="/img/dev-guide-static-properties/sp-collection.png" width="80%"alt="Number Parameter"/>
-
-To extract the selected values from the collection, use the following method from the parameter extractor:
-
-```java
-// Extract the text parameter value
-List<String> textParameters = extractor.singleValueParameterFromCollection("collection", String.class);
-```
-
-### Runtime-resolvable selections
-
-In some cases, the options of selection parameters are not static, but depend on other values or might change at runtime. In this case, you can use runtime-resolvable selections.
-
-First, let your controller class implement ``ResolvesContainerProvidedOptions``:
-
-```java
-public class RuntimeResolvableSingleValue extends
-     StandaloneEventProcessingDeclarer<DummyParameters> implements ResolvesContainerProvidedOptions { ... }
-```
-
-Next, define the parameter in the ``declareModel`` method:
-
-```java
-// create a single value selection parameter that is resolved at runtime
-    .requiredSingleValueSelectionFromContainer(Labels.from("id", "Example Name", "Example " +
-            "Description"))
-```
-
-Finally, implement the method ``resolveOptions``, which will be called at runtime once the processor is used:
-
-```java
-  @Override
-  public List<RuntimeOptions> resolveOptions(String requestId, EventProperty linkedEventProperty) {
-    return Arrays.asList(new RuntimeOptions("I was defined at runtime", ""));
-  }
-```
-
-The UI will render a single-value parameter based on the options provided at runtime:
-
-<img src="/img/dev-guide-static-properties/sp-single-selection-remote.png" width="80%"alt="Number Parameter"/>
-
-The parameter extraction does not differ from the extraction of static single-value parameters.
-
-<div class="admonition info">
-<div class="admonition-title">Multi-value selections</div>
-<p>Although this example shows the usage of runtime-resolvable selections using single value selections, the same also works for multi-value selections!</p>
-</div>
-
-
diff --git a/website-v2/versioned_docs/version-0.69.0/06_extend-sdk-stream-requirements.md b/website-v2/versioned_docs/version-0.69.0/06_extend-sdk-stream-requirements.md
deleted file mode 100644
index da8ce1d..0000000
--- a/website-v2/versioned_docs/version-0.69.0/06_extend-sdk-stream-requirements.md
+++ /dev/null
@@ -1,179 +0,0 @@
----
-id: extend-sdk-stream-requirements
-title: "SDK Guide: Stream Requirements"
-sidebar_label: "SDK: Stream Requirements"
-original_id: extend-sdk-stream-requirements
----
-
-## Introduction
-
-Data processors and data sinks can define ``StreamRequirements``. Stream requirements allow pipeline elements to express requirements on an incoming event stream that are needed for the element to work properly.
-Once users create pipelines in the StreamPipes Pipeline Editor, these requirements are verified against the connected event stream.
-By using this feature, StreamPipes ensures that only pipeline elements can be connected that are syntactically and semantically valid.
-
-This guide covers the creation of stream requirements. Before reading this section, we recommend that you make yourself familiar with the SDK guide on [data processors](dev-guide-processor-sdk.md) and [data sinks](dev-guide-sink-sdk.md).
-
-<div class="admonition tip">
-<div class="admonition-title">Code on Github</div>
-<p>For all examples, the code can be found on <a href="https://www.github.com/apache/incubator-streampipes-examples/tree/dev/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/apache/streampipes/pe/examples/jvm/requirements/">Github</a>.</p>
-</div>
-
-## The StreamRequirementsBuilder
-
-Stream requirements can be defined in the ``declareModel`` method of the pipeline element class. Start with a method body like this:
-
-```java
-
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create(ID, PIPELINE_ELEMENT_NAME, DESCRIPTION)
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-
-                    .build())
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-The ``StreamRequirementsBuilder`` class provides methods to add stream requirements to a pipeline element.
-
-## Requirements on primitive fields
-
-As a very first example, let's assume we would like to create a data processor that filters numerical values that are above a given threshold.
-Consequently, any data stream that is connected to the filter processor needs to provide a numerical value.
-
-The stream requirement would be assigned as follows:
-
-```java
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create(ID, PIPELINE_ELEMENT_NAME, DESCRIPTION)
-            .requiredStream(StreamRequirementsBuilder
-                    .create()
-                    .requiredProperty(EpRequirements.numberReq())
-                    .build())
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-Note the line starting with ``requiredProperty``, which requires any stream to provide a datatype of type ``number``.
-
-In many cases, you'll want to let the user select a specific field from a data stream from all available fields that match the specified requirement. For that, you simply use the method ``requiredPropertyWithUnaryMapping`` as follows:
-
-```java
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create(ID, PIPELINE_ELEMENT_NAME, DESCRIPTION)
-            .requiredStream(StreamRequirementsBuilder
-                    .create()
-                    .requiredPropertyWithUnaryMapping(EpRequirements.numberReq(),
-                    Labels.from("number-mapping", "The value that should be filtered", ""), PropertyScope.NONE)
-                    .build())
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-See also the developer guide on [static properties](dev-guide-static-properties.md) to better understand the usage of ``MappingProperties``.
-
-Requirements on primitive fields can be specified for all common datatypes:
-
-```java
- @Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.requirements" +
-            ".simple", "Simple requirements specification examples", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.numberReq()) // any number
-                    .requiredProperty(EpRequirements.doubleReq()) // any field of type double
-                    .requiredProperty(EpRequirements.booleanReq()) // any field of type boolean
-                    .requiredProperty(EpRequirements.integerReq()) // any field of type integer
-                    .requiredProperty(EpRequirements.stringReq()) // any field of type string
-
-                    .requiredProperty(EpRequirements.anyProperty()) // any field allowed (no restriction)
-                    .requiredProperty(EpRequirements.timestampReq())  // any timestamp field
-                    .build())
-
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-```
-
-### Specifying semantics
-
-For some algorithms, only specifying the datatype is not sufficient. Let's consider a geofencing algorithm that detects the precense some geospatial coordinate (e.g., from a vehicle) within a given location.
-
-You could specify something like this:
-
-```java
-    StreamRequirementsBuilder
-    .create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.doubleEp(), Labels.from("mapping-latitude", "Latitude", ""), PropertyScope.NONE)
-    .requiredPropertyWithUnaryMapping(EpRequirements.doubleEp(), Labels.from("mapping-longitude", "Longitude", ""), PropertyScope.NONE)
-    .build()
-```
-
-However, this would allow users to create strange pipelines as users could connect any stream containing a double value to our geofencing algorithm.
-To avoid such situations, you can also specify requirements based on the semantics of a field:
-
-```java
-    StreamRequirementsBuilder
-    .create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(SO.Latitude), Labels.from("mapping-latitude", "Latitude", ""), PropertyScope.NONE)
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(SO.Longitude), Labels.from("mapping-longitude", "Longitude", ""), PropertyScope.NONE)
-    .build()
-```
-
-Note that in this case, we make use of Schema.org's ``Latitude`` concept ([https://schema.org/latitude](https://schema.org/latitude)). StreamPipes already includes popular vocabularies for specifying semantics. You are also free to use your own vocabularies.
-
-
-## Requirements on lists
-
-Similarly to primitive requirements, you can define processors that require data streams with list fields, see the following examples:
-
-```java
-@Override
-  public DataProcessorDescription declareModel() {
-    return ProcessingElementBuilder.create("org.streampipes.examples.requirements" +
-            ".list", "List requirements specification examples", "")
-            .requiredStream(StreamRequirementsBuilder.
-                    create()
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.Integer))
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.Double))
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.Boolean))
-                    .requiredProperty(EpRequirements.listRequirement(Datatypes.String))
-                    .build())
-
-
-            .supportedProtocols(SupportedProtocols.kafka())
-            .supportedFormats(SupportedFormats.jsonFormat())
-            .outputStrategy(OutputStrategies.keep())
-
-            .build();
-  }
-```
-
-## Requirements on nested properties
-
-(coming soon, see the Javadoc for now)
-
-
-
diff --git a/website-v2/versioned_docs/version-0.69.0/06_extend-setup.md b/website-v2/versioned_docs/version-0.69.0/06_extend-setup.md
deleted file mode 100644
index e170be0..0000000
--- a/website-v2/versioned_docs/version-0.69.0/06_extend-setup.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-id: extend-setup
-title: Development Setup
-sidebar_label: Development Setup
-original_id: extend-setup
----
-
-Pipeline elements in StreamPipes are provided as standalone microservices. New pipeline elements can be easily developed using the provided Maven archetypes and can be installed in StreamPipes at runtime.
-
-In this section, we describe our recommended minimum setup for locally setting up a development instance of StreamPipes needed to develop, run and test new pipeline elements.
-
-## IDE & required dev tools
-StreamPipes does not have specific requirements on the IDE - so feel free to choose the IDE of your choice.
-The only requirements in terms of development tools are that you have Java 8 and Maven installed.
-
-## StreamPipes CLI: Docker-based local StreamPipes instance
-In order to quickly test developed pipeline elements without needing to install all services required by StreamPipes, we provide a CLI tool that allows you to selectively start StreamPipes components.
-The CLI tool allows to switch to several templates (based on docker-compose) depending on the role. 
-
-The documentation on the usage of the CLI tool is available [here](06_extend-cli.md).
-
-## Override the SP_HOST variable
-
-By default, the backend/core of StreamPipes registers itself within StreamPipes' service discovery mechanism using an auto-discovered hostname. 
-Usually, this will be an IP address from the Docker network, which is not resolvable from outside. Therefore, for local development you need to override the hostname with an IP address which is accessible from your local host where you develop extensions.
-When using the CLI, open the CLI folder ``installer/cli``, navigate to ``deploy/standalone/backend``, open the ``docker-compose.dev.yml`` file and add the SP_HOST env variable, e.g.
-
-```
-version: "3.4"
-services:
-  backend:
-    ports:
-      - "8030:8030"
-    environment:
-      - SP_HOST=host.docker.internal
-```
-
-Note that host.docker.internal will work as an alias under Docker for Desktop on Windows and Mac, but not on Linux or M1. In this case, provide a resolvable hostname or IP address manually.
-
-## Starter projects
-
-Now, once you've started the development instance, you are ready to develop your very first pipeline element.
-Instead of starting from scratch, we recommend using our provided maven archetypes:
-
-### Maven archetypes
-
-Create the Maven archetype as described in the [Maven Archetypes](06_extend-archetypes.md) guide.
-
-### Examples
-
-We provide several examples that explain the usage of some concepts in this [Github repo](https://github.com/apache/incubator-streampipes-examples). 
diff --git a/website-v2/versioned_docs/version-0.69.0/06_extend-tutorial-data-processors.md b/website-v2/versioned_docs/version-0.69.0/06_extend-tutorial-data-processors.md
deleted file mode 100644
index c9d2348..0000000
--- a/website-v2/versioned_docs/version-0.69.0/06_extend-tutorial-data-processors.md
+++ /dev/null
@@ -1,361 +0,0 @@
----
-id: extend-tutorial-data-processors
-title: "Tutorial: Data Processors"
-sidebar_label: "Tutorial: Data Processors"
-original_id: extend-tutorial-data-processors
----
-
-In this tutorial, we will add a new data processor using the standalone wrapper.
-
-From an architectural point of view, we will create a self-contained service that includes the description of the data processor and a an implementation.
-
-## Objective
-
-We are going to create a new data processor that realized a simple geofencing algorithm - we detect vehicles that enter a specified radius around a user-defined location.
-This pipeline element will be a generic element that works with any event stream that provides geospatial coordinates in form of a latitude/longitude pair.
-
-The algorithm outputs every location event once the position has entered the geofence.
-
-
-<div class="admonition note">
-<div class="admonition-title">Note</div>
-<p>The implementation in this tutorial is pretty simple - our processor will fire an event every time the GPS location is inside the geofence.
-       In a real-world application, you would probably want to define a pattern that recognizes the _first_ event a vehicle enters the geofence.<br/>
-       This can be easily done using a CEP library.</p>
-</div>
-
-
-## Project setup
-
-Instead of creating a new project from scratch, we recommend to use the Maven archetype to create a new project skeleton (streampipes-archetype-extensions-jvm).
-Enter the following command in a command line of your choice (Apache Maven needs to be installed):
-
-```
-mvn archetype:generate \
--DarchetypeGroupId=org.apache.streampipes -DarchetypeArtifactId=streampipes-archetype-extensions-jvm \
--DarchetypeVersion=0.69.0 -DgroupId=my.groupId \
--DartifactId=my-example -DclassNamePrefix=MyExample -DpackageName=mypackagename
-```
-
-You will see a project structure similar to the structure shown in the [archetypes](06_extend-archetypes.md) section.
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Besides the basic project skeleton, the sample project also includes an example Dockerfile you can use to package your application into a Docker container.</p>
-</div>
-
-Now you're ready to create your first data processor for StreamPipes!
-
-## Adding data processor requirements
-
-First, we will add a new stream requirement.
-Create a new class `GeofencingProcessor` which should look as follows:
-
-```java
-package org.apache.streampipes.pe.example;
-
-import org.apache.streampipes.commons.exceptions.SpRuntimeException;
-import org.apache.streampipes.model.DataProcessorType;
-import org.apache.streampipes.model.graph.DataProcessorDescription;
-import org.apache.streampipes.model.runtime.Event;
-import org.apache.streampipes.sdk.builder.ProcessingElementBuilder;
-import org.apache.streampipes.sdk.builder.StreamRequirementsBuilder;
-import org.apache.streampipes.sdk.helpers.EpRequirements;
-import org.apache.streampipes.sdk.helpers.Labels;
-import org.apache.streampipes.sdk.helpers.Locales;
-import org.apache.streampipes.sdk.helpers.OutputStrategies;
-import org.apache.streampipes.sdk.utils.Assets;
-import org.apache.streampipes.wrapper.context.EventProcessorRuntimeContext;
-import org.apache.streampipes.wrapper.routing.SpOutputCollector;
-import org.apache.streampipes.wrapper.standalone.ProcessorParams;
-import org.apache.streampipes.wrapper.standalone.StreamPipesDataProcessor;
-
-public class GeofencingProcessor extends StreamPipesDataProcessor {
-
- private static final String LATITUDE_CENTER = "latitude-center";
- private static final String LONGITUDE_CENTER = "longitude-center";
-
- @Override
- public DataProcessorDescription declareModel() {
-  return ProcessingElementBuilder.create("org.streampipes.tutorial-geofencing")
-          .category(DataProcessorType.ENRICH)
-          .withAssets(Assets.DOCUMENTATION, Assets.ICON)
-          .build();
- }
-
- @Override
- public void onInvocation(ProcessorParams parameters, SpOutputCollector spOutputCollector, EventProcessorRuntimeContext runtimeContext) throws SpRuntimeException {
-
- }
-
- @Override
- public void onEvent(Event event, SpOutputCollector collector) throws SpRuntimeException {
-
- }
-
- @Override
- public void onDetach() throws SpRuntimeException {
-
- }
-}
-
-
-```
-
-In this class, we need to implement three methods: The `declareModel` method is used to define abstract stream requirements such as event properties that must be present in any input stream that is later connected to the element using the StreamPipes UI.
-The second method, `onInvocation` is triggered once a pipeline is started. Finally, the `onEvent` method
-
-Similar to data sources, the SDK provides a builder class to generate the description for data processors.
-Delete the content within the ``declareModel`` method and add the following lines to the `declareModel` method:
-
-```java
-return ProcessingElementBuilder.create("org.streampipes.tutorial.geofencing", "Geofencing", "A simple geofencing data processor")
-```
-
-This creates a new data processor with the ID, title and description assigned to the element builder.
-Next, we add some _stream requirements_ to the description. As we'd like to develop a generic pipeline element that works with any event that provides a lat/lng pair, we define two stream requirements as stated below:
-
-```java
-.requiredStream(StreamRequirementsBuilder
-    .create()
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lat),
-            Labels.from("latitude-field", "Latitude", "The event " +
-            "property containing the latitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-    .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lng),
-            Labels.from("longitude-field", "Longitude", "The event " +
-                    "property containing the longitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-    .build())
-```
-
-The first line, `.requiredStream()` defines that we want a data processor with exactly one input stream. Adding more stream requirements would create elements with multiple input connectors in StreamPipes.
-Stream requirements can be assigned by using the `StreamRequirementsBuilder` class.
-In our example, we define two requirements, so-called _domain property requirements_. In contrast to _data type requirements_ where we'd expect an event property with a field of a specific data type (e.g., float), domain property requirements expect a specific domain property, e.g., from a vocabulary such as the WGS84 Geo vocab.
-
-Once a pipeline is deployed, we are interested in the actual field (and its field name) that contains the latitude and longitude values.
-In some cases, there might me more than one field that satisfies a property requirement and we would like users to select the property the geofencing component should operate on.
-Therefore, our example uses the method `requiredPropertyWithUnaryMapping`, which will map a requirement to a real event property of an input stream and  let the user choose the appropriate field in the StreamPipes UI when pipelines are defined.
-
-Finally, the `PropertyScope` indicates that the required property is a measurement value (in contrast to a dimension value). This allows us later to provide improved user guidance in the pipeline editor.
-
-Besides requirements, users should be able to define the center coordinate of the Geofence and the size of the fence defined as a radius around the center in meters.
-The radius can be defined by adding a simple required text field to the description:
-
-```java
-.requiredIntegerParameter("radius", "Geofence Size", "The size of the circular geofence in meters.", 0, 1000, 1)
-```
-
-Similar to mapping properties, text parameters have an internalId (radius), a label and a description.
-In addition, we can assign a _value specification_ to the parameter indicating the value range we support.
-Our example supports a radius value between 0 and 1000 with a granularity of 1.
-In the StreamPipes UI, a required text parameter is rendered as a text input field, in case we provide an optional value specification, a slider input is automatically generated.
-
-Such user-defined parameters are called _static properties_. There are many different types of static properties (see
- the [Processor SDK](06_extend-sdk-static-properties.md) for an overview).
-
-In this example, we'll further add two very simple input fields to let users provide latitude and longitude of the geofence center.
-
-Add the following line to the `declareModel` method:
-
-```java
-   .requiredFloatParameter(Labels.from(LATITUDE_KEY, "Latitude", "The latitude value"))
-   .requiredFloatParameter(Labels.from(LONGITUDE_KEY, "Longitude", "The longitude value"))
-
-```
-
-Now we need to define the output of our Geofencing pipeline element.
-As explained in the first section, the element should fire every time some geo-located entity arrives within the defined geofence.
-Therefore, the processor outputs the same schema as it receives as an input.
-Although we don't know the exact input right now as it depends on the stream users connect in StreamPipes when creating pipelines, we can define an _output strategy_ as follows:
-
-```java
-.outputStrategy(OutputStrategies.keep())
-```
-
-This defines a _KeepOutputStrategy_, i.e., the input event schema is not modified by the processor.
-There are many more output strategies you can define depending on the functionality you desire, e.g., _AppendOutput_ for defining a processor that enriches events or _CustomOutput_ in case you would like users to select the output by themselves.
-
-That's it! We've now defined input requirements, required user input and an output strategy.
-In the next section, you will learn how to extract these parameters once the pipeline element is invoked after a pipeline was created.
-
-## Pipeline element invocation
-
-Once users start a pipeline that uses our geofencing component, the _onInvocation_ method in our class is called. The class `ProcessorParams` includes convenient access to user-configured parameters a users has selected in the pipeline editor and information on the acutal streams that are connected to the pipeline element.
-
-Next, we are interested in the fields of the input event stream that contains the latitude and longitude value we would like to compute against the geofence center location as follows:
-
-```java
-String latitudeFieldName = extractor.mappingPropertyValue("latitude-field");
-String longitudeFieldName = extractor.mappingPropertyValue("longitude-field");
-```
-
-We use the same `internalId` we've used to define the mapping property requirements in the `declareModel` method.
-
-Next, for extracting the geofence center coordinates, add to class variables centerLatitude and centerLongitude and assign the selected values using the following statements:
-
-```java
-this.centerLatitude = parameters.extractor().singleValueParameter(LATITUDE_CENTER, Float.class);
-this.centerLongitude = parameters.extractor().singleValueParameter(LONGITUDE_CENTER, Float.class);
-```
-
-The radius value can be extracted as follows:
-
-```java
-int radius = parameters.extractor().singleValueParameter("radius", Float.class);
-```
-
-Great! That's all we need to describe a data processor for usage in StreamPipes. Your controller class should look as follows:
-
-```java
-package org.apache.streampipes.pe.example;
-
-import org.apache.streampipes.commons.exceptions.SpRuntimeException;
-import org.apache.streampipes.model.DataProcessorType;
-import org.apache.streampipes.model.graph.DataProcessorDescription;
-import org.apache.streampipes.model.runtime.Event;
-import org.apache.streampipes.model.schema.PropertyScope;
-import org.apache.streampipes.sdk.builder.ProcessingElementBuilder;
-import org.apache.streampipes.sdk.builder.StreamRequirementsBuilder;
-import org.apache.streampipes.sdk.helpers.EpRequirements;
-import org.apache.streampipes.sdk.helpers.Labels;
-import org.apache.streampipes.sdk.helpers.Locales;
-import org.apache.streampipes.sdk.helpers.OutputStrategies;
-import org.apache.streampipes.sdk.utils.Assets;
-import org.apache.streampipes.vocabulary.Geo;
-import org.apache.streampipes.wrapper.context.EventProcessorRuntimeContext;
-import org.apache.streampipes.wrapper.routing.SpOutputCollector;
-import org.apache.streampipes.wrapper.standalone.ProcessorParams;
-import org.apache.streampipes.wrapper.standalone.StreamPipesDataProcessor;
-
-public class GeofencingProcessor extends StreamPipesDataProcessor {
-
- private static final String LATITUDE_CENTER = "latitude-center";
- private static final String LONGITUDE_CENTER = "longitude-center";
-
- private float centerLatitude;
- private float centerLongitude;
- private int radius;
-
- @Override
- public DataProcessorDescription declareModel() {
-  return ProcessingElementBuilder.create("org.streampipes.tutorial-geofencing")
-          .category(DataProcessorType.ENRICH)
-          .withAssets(Assets.DOCUMENTATION, Assets.ICON)
-          .withLocales(Locales.EN)
-          .requiredStream(StreamRequirementsBuilder
-                  .create()
-                  .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lat),
-                          Labels.from("latitude-field", "Latitude", "The event " +
-                                  "property containing the latitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-                  .requiredPropertyWithUnaryMapping(EpRequirements.domainPropertyReq(Geo.lng),
-                          Labels.from("longitude-field", "Longitude", "The event " +
-                                  "property containing the longitude value"), PropertyScope.MEASUREMENT_PROPERTY)
-                  .build())
-          .outputStrategy(OutputStrategies.keep())
-          .requiredIntegerParameter("radius", "Geofence Size", "The size of the circular geofence in meters.", 0, 1000, 1)
-          .requiredFloatParameter(Labels.from(LATITUDE_CENTER, "Latitude", "The latitude value"))
-          .requiredFloatParameter(Labels.from(LONGITUDE_CENTER, "Longitude", "The longitude value"))
-          .build();
- }
-
- @Override
- public void onInvocation(ProcessorParams parameters, SpOutputCollector spOutputCollector, EventProcessorRuntimeContext runtimeContext) throws SpRuntimeException {
-  this.centerLatitude = parameters.extractor().singleValueParameter(LATITUDE_CENTER, Float.class);
-  this.centerLongitude = parameters.extractor().singleValueParameter(LONGITUDE_CENTER, Float.class);
-  this.radius = parameters.extractor().singleValueParameter("radius", Integer.class);
- }
-
- @Override
- public void onEvent(Event event, SpOutputCollector collector) throws SpRuntimeException {
-
- }
-
- @Override
- public void onDetach() throws SpRuntimeException {
-
- }
-}
-
-
-```
-
-## Adding an implementation
-
-Everything we need to do now is to add an implementation.
-
-Open the class `GeofencingProcessor.java` and add the following piece of code to the onEvent method, which realizes the Geofencing functionality:
-
-```java
-
-  @Override
-  public void onEvent(Event event, SpOutputCollector collector) throws SpRuntimeException {
-      float latitude = event.getFieldBySelector(latitudeFieldName).getAsPrimitive().getAsFloat();
-      float longitude = event.getFieldBySelector(longitudeFieldName).getAsPrimitive().getAsFloat();
-
-      float distance = distFrom(latitude, longitude, centerLatitude, centerLongitude);
-
-      if (distance <= radius) {
-      collector.collect(event);
-      }
-  }
-
-  public static float distFrom(float lat1, float lng1, float lat2, float lng2) {
-    double earthRadius = 6371000;
-    double dLat = Math.toRadians(lat2-lat1);
-    double dLng = Math.toRadians(lng2-lng1);
-    double a = Math.sin(dLat/2) * Math.sin(dLat/2) +
-            Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) *
-                    Math.sin(dLng/2) * Math.sin(dLng/2);
-    double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
-    return (float) (earthRadius * c);
-  }
-
-}
-```
-
-We won't go into details here as this isn't StreamPipes-related code, but in general the class extracts latitude and longitude fields from the input event (which is provided as a map data type) and calculates the distance between the geofence center and these coordinates.
-If the distance is below the given radius, the event is forwarded to the next operator.
-
-See the [event model](06_extend-sdk-event-model.md) guide to learn how to extract parameters from events.
-
-## Registering the pipeline element
-The final step is to register the data processor in the `Init` method. Add the following line to the `SpServiceDefinitionBuilder`:
-
-```java
- .registerPipelineElement(new GeofencingProcessor())
-```
-
-## Starting the service
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Once you start the service, it will register in StreamPipes with the hostname. The hostname will be auto-discovered and should work out-of-the-box.
-In some cases, the detected hostname is not resolvable from within a container (where the core is running). In this case, provide a SP_HOST environment variable to override the auto-discovery.
-</p>
-</div>
-
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p> The default port of all pipeline element services as defined in the `create` method is port 8090.
-       If you'd like to run multiple services at the same time on your development machine, change the port here. As an alternative, you can also provide an env variable `SP_PORT` which overrides the port settings. This is useful to use different configs for dev and prod environments.
-</p>
-</div>
-
-Now we are ready to start our service!
-
-Configure your IDE to provide an environment variable called ``SP_DEBUG`` with value ``true`` when starting the project.
-
-Execute the main method in the class `Init` we've just created, open a web browser and navigate to http://localhost:8090 (or the port you have assigned).
-
-You should see something as follows:
-
-<img src="/img/tutorial-processors/pe-overview-flink.PNG" alt="Pipeline Element Container Overview"/>
-
-
-The services automatically registers itself in StreamPipes.
-To install the just created element, open the StreamPipes UI and follow the manual provided in the [user guide](03_use-install-pipeline-elements.md).
-
-## Read more
-
-Congratulations! You've just created your first data processor for StreamPipes.
-There are many more things to explore and data processors can be defined in much more detail using multiple wrappers.
-Follow our [SDK guide](06_extend-sdk-static-properties.md) to see what's possible!
diff --git a/website-v2/versioned_docs/version-0.69.0/06_extend-tutorial-data-sinks.md b/website-v2/versioned_docs/version-0.69.0/06_extend-tutorial-data-sinks.md
deleted file mode 100644
index ee10b26..0000000
--- a/website-v2/versioned_docs/version-0.69.0/06_extend-tutorial-data-sinks.md
+++ /dev/null
@@ -1,233 +0,0 @@
----
-id: extend-tutorial-data-sinks
-title: "Tutorial: Data Sinks"
-sidebar_label: "Tutorial: Data Sinks"
-original_id: extend-tutorial-data-sinks
----
-
-In this tutorial, we will add a new data sink using the standalone wrapper.
-
-From an architectural point of view, we will create a self-contained service that includes the description of the data sink and a corresponding implementation.
-
-## Objective
-
-We are going to create a new data sink that calls an external HTTP endpoint to forward data to an external service.
-
-For each incoming event, an external service is invoked using an HTTP POST request. In this example, we'll call an endpoint provided by [RequestBin](https://requestbin.com/).
-To setup your own endpoint, go to [https://requestbin.com/](https://requestbin.com/) and click "Create a request bin". Copy the URL of the newly created endpoint.
-
-
-## Project setup
-
-Instead of creating a new project from scratch, we recommend to use the Maven archetype to create a new project skeleton (streampipes-archetype-extensions-jvm).
-Enter the following command in a command line of your choice (Apache Maven needs to be installed):
-
-```
-mvn archetype:generate -DarchetypeGroupId=org.apache.streampipes \
--DarchetypeArtifactId=streampipes-archetype-extensions-jvm -DarchetypeVersion=0.68.0 \
--DgroupId=org.streampipes.tutorial -DartifactId=sink-tutorial -DclassNamePrefix=Rest -DpackageName=mypackage
-```
-
-You will see a project structure similar to the structure shown in the [archetypes](06_extend-archetypes.md) section.
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Besides the basic project skeleton, the sample project also includes an example Dockerfile you can use to package your application into a Docker container.</p>
-</div>
-
-Now you're ready to create your first data sink for StreamPipes!
-
-## Adding data sink requirements
-
-First, we will add a new stream requirement.
-Create a class `RestSink` which should look as follows:
-
-```java
-package org.apache.streampipes.pe.example;
-
-import org.apache.streampipes.commons.exceptions.SpRuntimeException;
-import org.apache.streampipes.model.DataSinkType;
-import org.apache.streampipes.model.graph.DataSinkDescription;
-import org.apache.streampipes.model.runtime.Event;
-import org.apache.streampipes.model.schema.PropertyScope;
-import org.apache.streampipes.sdk.builder.DataSinkBuilder;
-import org.apache.streampipes.sdk.builder.StreamRequirementsBuilder;
-import org.apache.streampipes.sdk.helpers.EpRequirements;
-import org.apache.streampipes.sdk.helpers.Labels;
-import org.apache.streampipes.sdk.helpers.Locales;
-import org.apache.streampipes.sdk.utils.Assets;
-import org.apache.streampipes.wrapper.context.EventSinkRuntimeContext;
-import org.apache.streampipes.wrapper.standalone.SinkParams;
-import org.apache.streampipes.wrapper.standalone.StreamPipesDataSink;
-
-public class RestSink extends StreamPipesDataSink {
-
-  @Override
-  public DataSinkDescription declareModel() {
-    return DataSinkBuilder.create("org.streampipes.tutorial.pe.sink.rest")
-        .category(DataSinkType.NOTIFICATION)
-        .withAssets(Assets.DOCUMENTATION, Assets.ICON)
-        .withLocales(Locales.EN)
-        .requiredStream(StreamRequirementsBuilder
-                .create()
-                .requiredPropertyWithNaryMapping(EpRequirements.anyProperty(), Labels.withId(
-                        "fields-to-send"), PropertyScope.NONE)
-                .build())
-        .build();
-  }
-
-  @Override
-  public void onInvocation(SinkParams parameters, EventSinkRuntimeContext runtimeContext) throws SpRuntimeException {
-
-  }
-
-  @Override
-  public void onEvent(Event event) throws SpRuntimeException {
-
-  }
-
-  @Override
-  public void onDetach() throws SpRuntimeException {
-
-  }
-}
-
-
-```
-
-In this class, we need to implement three methods: The `declareModel` method is used to define abstract stream requirements such as event properties that must be present in any input stream that is later connected to the element using the StreamPipes UI.
-The second method, `onInvocation` is called once a pipeline using this sink is started. The third method, `onEvent`, is called for every incoming event.
-
-The ``declareModel`` method describes the properties of our data sink:
-* ``category`` defines a category for this sink.
-* ``withAssets`` denotes that we will provide an external documentation file and an icon, which can be found in the ``resources`` folder
-* ``withLocales`` defines that we will provide an external language file, also available in the ``resources`` folder
-* ``requiredStream`` defines requirements any input stream connected to this sink must provide. In this case, we do not have any specific requirements, we just forward all incoming events to the REST sink. However, we want to let the user display a list of available fields from the connected input event, where users can select a subset. This is defined by defining a Mapping from the empty requirement. This will later on render a selection dialog in the pipeline editor.
-
-The ``onInvocation`` method is called when a pipeline containing the sink is started. Once a pipeline is started, we would like to extract user-defined parameters.
-In this example, we simply extract the fields selected by users that should be forwarded to the REST sink. Finally, we return a new configured event sink containing the parameters.
-
-## Pipeline element invocation
-
-Once users start a pipeline that uses our geofencing component, the _onInvocation_ method in our class is called. The class `SinkParams` includes a graph that contains information on the configuration parameters a users has selected in the pipeline editor and information on the acutal streams that are connected to the pipeline element.
-
-
-## Adding an implementation
-
-Now we'll add a proper implementation (i.e., the Rest call executed for every incoming event) to the following methods:
-
-Our final class should look as follows:
-
-```java
-package org.apache.streampipes.pe.example;
-
-import com.google.common.base.Charsets;
-import org.apache.http.client.fluent.Request;
-import org.apache.http.entity.StringEntity;
-import org.apache.streampipes.commons.exceptions.SpRuntimeException;
-import org.apache.streampipes.dataformat.SpDataFormatDefinition;
-import org.apache.streampipes.dataformat.json.JsonDataFormatDefinition;
-import org.apache.streampipes.model.DataSinkType;
-import org.apache.streampipes.model.graph.DataSinkDescription;
-import org.apache.streampipes.model.runtime.Event;
-import org.apache.streampipes.model.schema.PropertyScope;
-import org.apache.streampipes.sdk.builder.DataSinkBuilder;
-import org.apache.streampipes.sdk.builder.StreamRequirementsBuilder;
-import org.apache.streampipes.sdk.helpers.EpRequirements;
-import org.apache.streampipes.sdk.helpers.Labels;
-import org.apache.streampipes.sdk.helpers.Locales;
-import org.apache.streampipes.sdk.utils.Assets;
-import org.apache.streampipes.wrapper.context.EventSinkRuntimeContext;
-import org.apache.streampipes.wrapper.standalone.SinkParams;
-import org.apache.streampipes.wrapper.standalone.StreamPipesDataSink;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.IOException;
-import java.util.List;
-import java.util.Map;
-
-public class RestSink extends StreamPipesDataSink {
-
-  private static final Logger LOG = LoggerFactory.getLogger(RestSink.class);
-
-  private static final String REST_ENDPOINT_URI = YOUR_REQUEST_BIN_URL;
-  private List<String> fieldsToSend;
-  private SpDataFormatDefinition dataFormatDefinition;
-
-  @Override
-  public DataSinkDescription declareModel() {
-    ...
-  }
-
-  @Override
-  public void onInvocation(SinkParams parameters, EventSinkRuntimeContext runtimeContext) throws SpRuntimeException {
-    this.dataFormatDefinition = new JsonDataFormatDefinition();
-    this.fieldsToSend = parameters.extractor().mappingPropertyValues("fields-to-send");
-
-  }
-
-  @Override
-  public void onEvent(Event event) throws SpRuntimeException {
-    Map<String, Object> outEventMap = event.getSubset(fieldsToSend).getRaw();
-    try {
-      String json = new String(dataFormatDefinition.fromMap(outEventMap));
-      Request.Post(REST_ENDPOINT_URI).body(new StringEntity(json, Charsets.UTF_8)).execute();
-    } catch (SpRuntimeException e) {
-      LOG.error("Could not parse incoming event");
-    } catch (IOException e) {
-      LOG.error("Could not reach endpoint at {}", REST_ENDPOINT_URI);
-    }
-  }
-
-  @Override
-  public void onDetach() throws SpRuntimeException {
-
-  }
-}
-
-```
-The only class variable you need to change right now is the REST_ENDPOINT_URL. Change this url to the URL provided by your request bin.
-In the ``ònEvent`` method, we use a helper method to get a subset of the incoming event.
-Finally, we convert the resulting ``Map`` to a JSON string and call the endpoint.
-
-
-## Preparing the service
-The final step is to register the sink as a pipeline element.
-
-Go to the class `Init` and register the sink:
-```java
-.registerPipelineElement(new RestSink())
-```
-
-## Starting the service
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Once you start the service, it will register in StreamPipes with the hostname. The hostname will be auto-discovered and should work out-of-the-box.
-In some cases, the detected hostname is not resolvable from within a container (where the core is running). In this case, provide a SP_HOST environment variable to override the auto-discovery.
-</p>
-</div>
-
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p> The default port of all pipeline element services as defined in the `create` method is port 8090.
-       If you'd like to run multiple services at the same time on your development machine, change the port here. As an alternative, you can also provide an env variable `SP_PORT` which overrides the port settings. This is useful to use different configs for dev and prod environments.
-</p>
-</div>
-
-Now we are ready to start our service!
-
-Configure your IDE to provide an environment variable called ``SP_DEBUG`` with value ``true`` when starting the project.
-
-Execute the main method in the class `Init` we've just created, open a web browser and navigate to http://localhost:8090 (or the port you have assigned).
-
-The services automatically registers itself in StreamPipes.
-
-To install the created element, open the StreamPipes UI and follow the manual provided in the [user guide](03_use-install-pipeline-elements.md).
-
-## Read more
-
-Congratulations! You've just created your first data sink for StreamPipes.
-There are many more things to explore and data sinks can be defined in much more detail using multiple wrappers.
-Follow our [SDK guide](../dev-guide-sdk-guide-sinks) to see what's possible!
diff --git a/website-v2/versioned_docs/version-0.69.0/06_extend-tutorial-data-sources.md b/website-v2/versioned_docs/version-0.69.0/06_extend-tutorial-data-sources.md
deleted file mode 100644
index e6d8c37..0000000
--- a/website-v2/versioned_docs/version-0.69.0/06_extend-tutorial-data-sources.md
+++ /dev/null
@@ -1,214 +0,0 @@
----
-id: extend-tutorial-data-sources
-title: "Tutorial: Data Sources"
-sidebar_label: "Tutorial: Data Sources"
-original_id: extend-tutorial-data-sources
----
-
-In this tutorial, we will add a new data source consisting of a single data stream. The source will be provided as a standalone component (i.e., the description will be accessible through an integrated web server).
-
-## Objective
-
-We are going to create a new data stream that is produced by a GPS sensor installed in a delivery vehicle.
-The sensor produces a continuous stream of events that contain the current timestamp, the current lat/lng position of the vehicle and the plate number of the vehicle.
-Events are published in a JSON format as follows:
-```json
-{
-  "timestamp" : 145838399,
-  "latitude" : 37.04,
-  "longitude" : 17.04,
-  "plateNumber" : "KA-AB 123"
-}
-```
-
-These events are published to a Kafka broker using the topic `org.streampipes.tutorial.vehicle`.
-
-In the following section, we show how to describe this stream in a form that allows you to import and use it in StreamPipes.
-
-## Project setup
-
-Instead of creating a new project from scratch, we recommend to use the Maven archetype to create a new project skeleton (streampipes-archetype-extensions-jvm).
-Enter the following command in a command line of your choice (Apache Maven needs to be installed):
-
-```
-mvn archetype:generate \
--DarchetypeGroupId=org.apache.streampipes -DarchetypeArtifactId=streampipes-archetype-extensions-jvm \
--DarchetypeVersion=0.69.0 -DgroupId=my.groupId \
--DartifactId=my-source -DclassNamePrefix=MySource -DpackageName=mypackagename
-```
-
-You will see a project structure similar to the structure shown in the [archetypes](06_extend-archetypes.md) section.
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Besides the basic project skeleton, the sample project also includes an example Dockerfile you can use to package your application into a Docker container.
-</p>
-</div>
-
-## Adding a data stream description
-
-Now we will add a new data stream definition.
-First, create a new class `MyVehicleStream` which should look as follows:
-
-```java
-
-package org.apache.streampipes.pe.example;
-
-import org.apache.streampipes.model.SpDataStream;
-import org.apache.streampipes.sources.AbstractAdapterIncludedStream;
-
-public class MyVehicleStream extends AbstractAdapterIncludedStream {
-
-  @Override
-  public SpDataStream declareModel() {
-    return null;
-  }
-
-  @Override
-  public void executeStream() {
-
-  }
-}
-```
-
-This class extends the class ``AbstractAdapterIncludedStream``, which indicates that this source continuously produces data (configured in the ``executeStream()`` method.
-In contrast, the class `AbstractAlreadyExistingStream` indicates that we only want to describe an already existing stream (e.g., a stream that already sends data to an existing Kafka broker).
-
-Next, we will add the definition of the data stream. Add the following code inside of the `declareModel` method:
-```java
-return DataStreamBuilder.create("org.streampipes.tutorial.vehicle.position", "Vehicle Position", "An event stream " +
-          "that produces current vehicle positions")
-```
-
-This line creates a new instance of the SDK's `DataStreamBuilder` by providing three basic parameters:
-The first parameter must be a unique identifier of your data stream.
-The second and third parameters indicate a label and a description of your stream.
-These values will later be used in the StreamPipes UI to display stream details in a human-readable manner.
-
-Next, we will add the properties as stated above to the stream definition by adding the following lines:
-```java
-.property(EpProperties.timestampProperty("timestamp"))
-.property(EpProperties.stringEp(Labels.from("plate-number", "Plate Number", "Denotes the plate number of the vehicle"), "plateNumber", "http://my.company/plateNumber"))
-.property(EpProperties.doubleEp(Labels.from("latitude", "Latitude", "Denotes the latitude value of the vehicle's position"), "latitude", Geo.lat))
-.property(EpProperties.doubleEp(Labels.from("longitude", "Longitude", "Denotes the longitude value of the vehicle's position"), "longitude", Geo.lng))
-```
-These four _event properties_ compose our _event schema_. An event property must, at least, provide the following attributes:
-
-* **Runtime Name**. The runtime name indicates the key of the property at runtime, e.g., if our JSON message contains a structure such as `{"plateNumber" : "KA-F 123"}`, the runtime name must be `plateNumber`.
-* **Runtime Type**. An event property must have a primitive type (we will later see how to model more complex properties such as lists and nested properties).
-  The type must be an instance of `XMLSchema` primitives, however, the SDK provides convenience methods to provide the property type.
-* **Domain Property**. The domain property indicates the semantics of the event property. For instance, the `latitude` property is linked to the `http://www.w3.org/2003/01/geo/wgs84_pos#lat` property of the WGS84 vocabulary.
-  The domain property should be an URI as part of an existing or domain-specific vocabulary. The SDK provides convenience methods for popuplar vocabularies (e.g., Schema.org, Dolce or WGS84).
-
-In order to complete the minimum required specification of an event stream, we need to provide information on the transport format and protocol of the data stream at runtime.
-
-This can be achieved by extending the builder with the respective properties:
-```java
-.format(Formats.jsonFormat())
-.protocol(Protocols.kafka("localhost", 9094, "TOPIC_SHOULD_BE_CHANGED"))
-.build();
-```
-
-Set ``org.streampipes.tutorial.vehicle`` as your new topic by replacing the term ``TOPIC_SHOULD_BE_CHANGED`.
-
-In this example, we defined that the data stream consists of events in a JSON format and that Kafka is used as a message broker to transmit events.
-The last build() method call triggers the construction of the data stream definition.
-
-That's it! In the next section, we will connect the data stream to a source and inspect the generated RDF description.
-
-## Creating some dummy data
-
-Let's assume our stream should produce some random values that are sent to StreamPipes. We'll add a very simple data simulator to the ``executeStream`` method as follows:
-
-```java
-@Override
-  public void executeStream() {
-
-    SpKafkaProducer producer = new SpKafkaProducer("localhost:9094", "my-topic", Collections.emptyList());
-    Random random = new Random();
-    Runnable runnable = () -> {
-      for (;;) {
-        JsonObject jsonObject = new JsonObject();
-        jsonObject.addProperty("timestamp", System.currentTimeMillis());
-        jsonObject.addProperty("plateNumber", "KA-FZ 1");
-        jsonObject.addProperty("latitude", random.nextDouble());
-        jsonObject.addProperty("longitude", random.nextDouble());
-    
-        producer.publish(jsonObject.toString());
-    
-        try {
-        TimeUnit.SECONDS.sleep(1);
-        } catch (InterruptedException e) {
-        e.printStackTrace();
-        }
-  
-      }
-    };
-
-    new Thread(runnable).start();
-  }
-```
-
-Change the topic and the URL of your Kafka broker (as stated in the controller).
-
-## Registering the data stream
-
-You need to register the stream in the service definition. Open the ``Init`` class and register the ``MyVehicleStream``:
-
-```java
-
-  @Override
-  public SpServiceDefinition provideServiceDefinition() {
-    return SpServiceDefinitionBuilder.create("org.apache.streampipes",
-                    "human-readable service name",
-                    "human-readable service description", 8090)
-            .registerPipelineElement(new ExampleDataProcessor())
-            .registerPipelineElement(new ExampleDataSink())
-            .registerPipelineElement(new MyVehicleStream())
-            .registerMessagingFormats(
-                    new JsonDataFormatFactory(),
-                    new CborDataFormatFactory(),
-                    new SmileDataFormatFactory(),
-                    new FstDataFormatFactory())
-            .registerMessagingProtocols(
-                    new SpKafkaProtocolFactory(),
-                    new SpJmsProtocolFactory(),
-                    new SpMqttProtocolFactory())
-            .build();
-  }
-
-```
-
-You can remove the other two example classes if you want.
-
-## Starting the service
-
-<div class="admonition tip">
-<div class="admonition-title">Tip</div>
-<p>Once you start the service, it will register in StreamPipes with the hostname. The hostname will be auto-discovered and should work out-of-the-box.
-In some cases, the detected hostname is not resolvable from within a container (where the core is running). In this case, provide a SP_HOST environment variable to override the auto-discovery.
-</p>
-</div>
-
-Now we are ready to start our first container!
-
-Configure your IDE to provide an environment variable called ``SP_DEBUG`` with value ``true`` when starting the project.
-
-Execute the main method in the class `Init`, open a web browser and navigate to http://localhost:8090, or change the port according to the value of the ``SP_PORT`` variable in the env file.
-
-You should see something as follows:
-
-<img src="/img/tutorial-sources/pe-overview.PNG" alt="Pipeline Element Container Overview"/>
-
-Click on the link of the data source to see the generated description of the pipeline element.
-
-<img src="/img/tutorial-sources/pe-rdf.PNG" alt="Pipeline Element description"/>
-
-The container automatically registers itself in StreamPipes.
-
-To install the just created element, open the StreamPipes UI and install the source over the ``Install Pipeline Elements`` section.
-
-## Read more
-
-Congratulations! You've just created your first pipeline element for StreamPipes.
-There are many more things to explore and data sources can be defined in much more detail.
diff --git a/website-v2/versioned_docs/version-0.69.0/07_technicals-configuration.md b/website-v2/versioned_docs/version-0.69.0/07_technicals-configuration.md
deleted file mode 100644
index e734e22..0000000
--- a/website-v2/versioned_docs/version-0.69.0/07_technicals-configuration.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-id: version-0.90.0-technicals-configuration
-title: Configuration
-sidebar_label: Configuration
-original_id: technicals-configuration
----
-
-On this page we explain how the StreamPipes configuration works.
-StreamPipes allows the individual services (pipeline element containers and third-party services) to store configuration parameters in a distributed key-value store.
-This has the advantage that individual services do not need to store any configurations on the local file system, enabling us to run containers anywhere.
-As a key-value store we use [Consul](https://www.consul.io/), which is an essential service for all our services.
-
-<img src="/img/configuration/consul.png" width="50%"alt="Semantic description of data processor"/>
-
-
-## Edit Configurations
-All services in StreamPipes can have configuration parameters.
-You can either change them in the consul user interface (which is by default running on port 8500) or directly in the StreamPipes Configurations Page.
-Once a new  pipeline element container is started, it is registered in Consul and the parameters can be edited in the configuration page, as shown below.
-To store changes in Consul, the update button must be clicked.
-
-<div class="my-carousel">
-    <img src="/img/configuration/configuration_1.png"alt="Configuration View"/>
-</div>
-
-## Configuration for Developers
-We provide a Configurations API for the use of configuration parameters in your services.
-Each processing element project has a “config” package [[Example]](https://github.com/apache/streampipes-extensions/tree/dev/streampipes-sinks-internal-jvm/src/main/java/org/streampipes/sinks/internal/jvm/config).
-This package usually contains two classes.
-One containing unique keys for the configuration values and one containing the getter and setter methods to access these values.
-For the naming of configuration keys, we recommend to use “SP” as a prefix.
-As we explain later, it is possible to set default configurations as environment variables, this prefix makes them unique on your server.
-A configuration entry needs a unique config key. For this key, a value can be specified containing the configuration, like for example the port number of the service.
-For each configuration, a description explaining the parameter can be provided, further the data type must be specified and whether it is a password or not.
-Below, the schema of a configuration item is shown on the left and an example of a port configuration on the right.
-
-<img src="/img/configuration/config_key.png" width="80%"alt="Semantic description of data processor"/>
-
-As a developer, you can add as many new configurations to services as you wish, but there are some that are required for all processing element containers.
-Those are **the host**, **the port**, and **the name** of the service.
-
-## Default Values
-You can provide default values for the configurations, which are used when a configuration is read for the first time.
-The first option is to register a configuration parameter in the Config class.
-This is a fallback value, which is used if nothing else is defined.
-Since this value is static, we offer a second option.
-It is possible to provide a default value by setting an environment variable.
-In this case, the convention is that the key of a configuration parameter must be used as the environment variable.
-Now, this value is used instead of the value defined in the Config class.
-During development, the configuration values often need to be changed for debugging purposes, therefore we provide an .env file in all processing element projects and archetypes.
-This file can be used by your IDE to set the environment variables. (e.g., [Intellij Plugin](https://plugins.jetbrains.com/plugin/7861-envfile))
-When you need to change the variable at runtime, you can do this in the StreamPipes configurations as explained before.
-Those changes take effect immediately without the need of a container restart.
-
-<div class="admonition warning">
-<div class="admonition-title">Installed pipeline elements</div>
-<p>Be cautious, when the configuration is used in the semantic description of a processing element which is already installed in StreamPipes, you have to reload this element in StreamPipes (my elements -> reload).
-   In addition, changes might affect already running pipelines.</p>
-</div>
diff --git a/website-v2/versioned_docs/version-0.69.0/09_contribute.md b/website-v2/versioned_docs/version-0.69.0/09_contribute.md
deleted file mode 100644
index 52c4c18..0000000
--- a/website-v2/versioned_docs/version-0.69.0/09_contribute.md
+++ /dev/null
@@ -1,18 +0,0 @@
----
-id: version-0.90.0-community-contribute
-title: Contribute
-sidebar_label: Contribute
-original_id: community-contribute
----
-
-## Contribute
-
-We welcome contributions to StreamPipes. If you are interested in contributing to StreamPipes, let us know! You'll
-get to know an open-minded and motivated team working together to build the next IIoT analytics toolbox.
-
-Here are some first steps in case you want to contribute:
-* Subscribe to our dev mailing list [dev-subscribe@streampipes.apache.org](dev-subscribe@streampipes.apache.org)
-* Send an email, tell us about your interests and which parts of Streampipes you'd like to contribute (e.g., core or UI)!
-* Ask for a mentor who helps you to understand the code base and guides you through the first setup steps
-* Find an issue on [GitHub](https://github.com/apache/streampipes/issues) which is tagged with a _good first issue_ tag
-* Have a look at our **developer wiki** at [https://cwiki.apache.org/confluence/display/STREAMPIPES](https://cwiki.apache.org/confluence/display/STREAMPIPES) to learn more about StreamPipes development.
diff --git a/website-v2/versioned_docs/version-0.69.0/user-guide-installation.md b/website-v2/versioned_docs/version-0.69.0/user-guide-installation.md
deleted file mode 100644
index 3efd329..0000000
--- a/website-v2/versioned_docs/version-0.69.0/user-guide-installation.md
+++ /dev/null
@@ -1,121 +0,0 @@
----
-id: version-0.90.0-user-guide-installation
-title: Installation
-sidebar_label: Installation
-original_id: user-guide-installation
----
-## Prerequisites
-
-### Hardware
-
-* Docker (latest version, see instructions below)
-* Docker Compose (latest version., see instructions below)
-
-### Supported operating systems
-We rely on Docker and support three operating systems for the StreamPipes system
-
-* Linux
-* OSX
-* Windows 10
-    * Please note that older Windows versions are not compatible with Docker. Also Linux VMs under Windows might not work, due to network problems with docker.
-
-### Web Browser
-StreamPipes is a modern web application, therefore you need a recent version of Chrome (recommended), Firefox or Edge.
-
-### Docker
-You need to have Docker installed on your system before you continue with the installation guide.
-
-
-<div class="admonition info">
-<div class="admonition-title">Install Docker</div>
-<p>Go to https://docs.docker.com/installation/ and follow the instructions to install Docker for your OS. Make sure docker can be started as a non-root user (described in the installation manual, don’t forget to log out and in again) and check that Docker is installed correctly by executing docker-run hello-world</p>
-</div>
-
-<div class="admonition info">
-<div class="admonition-title">Configure Docker</div>
-<p>By default, Docker uses only a limited number of CPU cores and memory.
-       If you run StreamPipes on Windows or on a Mac you need to adjust the default settings.
-       To do that, click on the Docker icon in your tab bar and open the preferences.
-       Go to the advanced preferences and set the **number of CPUs to 6** (recommended) and the **Memory to 4GB**.
-       After changing the settings, Docker needs to be restarted.</p></div>
-
-
-## Install StreamPipes
-
-<div class="tab-content" id="myTabContent">
-    <div class="tab-pane fade show active" id="linux" role="tabpanel" aria-labelledby="linux-tab">
-        <ul style="padding-left:0">
-            <li class="installation-step">
-                <div class="wrapper-container" style="align-items: center;justify-content: center;">
-                    <div class="wrapper-step">
-                        <span class="fa-stack fa-2x">
-                             <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                             <strong class="fa-stack-1x" style="color:white;">1</strong>
-                        </span>
-                    </div>
-                    <div class="wrapper-instruction">
-                        <a href="https://www.apache.org/dyn/mirrors/mirrors.cgi?action=download&filename=streampipes/installer/0.70.0/apache-streampipes-installer-0.70.0-incubating-source-release.zip">Download</a>
-                        the latest Apache StreamPipes release and extract the zip file to a directory of your choice.
-                    </div>
-                </div>
-            </li>
-            <li class="installation-step">
-                <div class="wrapper-container" style="align-items: center;justify-content: center;">
-                    <div class="wrapper-step">
-                        <span class="fa-stack fa-2x">
-                             <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                             <strong class="fa-stack-1x" style="color:white;">2</strong>
-                        </span>
-                    </div>
-                    <div class="wrapper-instruction">
-                       In a command prompt, open the folder <code>/compose</code> and run <code>docker-compose up -d</code>.
-                    </div>
-                </div>
-            </li>
-            <li class="installation-step">
-                <div class="wrapper-container" style="align-items: center;justify-content: center;">
-                    <div class="wrapper-step">
-                        <span class="fa-stack fa-2x">
-                             <i class="fas fa-circle fa-stack-2x sp-color-green"></i>
-                             <strong class="fa-stack-1x" style="color:white;">3</strong>
-                        </span>
-                    </div>
-                    <div class="wrapper-instruction">
-                        Open your browser, navigate to http://localhost:80 (or the domain name of your server) and finish the setup according to the instructions below.
-                    </div>
-                </div>
-            </li>
-        </ul>
-        </div>
-    </div>
-
-## Setup StreamPipes
-
-Once you've opened the browser at the URL given above, you should see StreamPipes application as shown below.
-To set up the system, enter an email address and a password and click on install.
-At this point, it is not necessary to change anything in the advanced settings menu.
-The installation might take some time, continue by clicking on "Go to login page", once all components are successfully configured.
-
-
-On the login page, enter your credentials, then you should be forwarded to the home page.
-
-Congratulations! You've successfully managed to install StreamPipes. Now we're ready to build our first pipeline!
-
-<div class="my-carousel">
-    <img src="/img/quickstart/setup/01_register_user.png"alt="Set Up User"/>
-    <img src="/img/quickstart/setup/02_user_set_up.png"alt="SetUp StreamPipes Components"/>
-    <img src="/img/quickstart/setup/03_login.png"alt="Go to login page"/>
-    <img src="/img/quickstart/setup/04_home.png"alt="Home page"/>
-</div>
-
-<div class="admonition error">
-<div class="admonition-title">Errors during the installation process</div>
-<p>In most cases, errors during the installation are due to an under-powered system.<br/>
-If there is a problem with any of the components, please restart the whole system and delete the "config" directory on the server.
-   This directory is in the same folder as the docker-compose.yml file.<br/>
-   Please also make sure that your system meets the hardware requirements as mentioned in the first section of the installation guide.</p>
-</div>
-
-## Next Steps
-
-Now you can continue with the tutorial on page [First steps](user-guide-first-steps.md).
diff --git a/website-v2/versioned_docs/version-0.68.0/01_try-tutorial.md b/website-v2/versioned_docs/version-0.90.0/01_try-tutorial.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.68.0/01_try-tutorial.md
rename to website-v2/versioned_docs/version-0.90.0/01_try-tutorial.md
diff --git a/website-v2/versioned_docs/version-0.66.0/02_concepts-adapter.md b/website-v2/versioned_docs/version-0.90.0/02_concepts-adapter.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/02_concepts-adapter.md
rename to website-v2/versioned_docs/version-0.90.0/02_concepts-adapter.md
diff --git a/website-v2/versioned_docs/version-0.66.0/02_concepts-data-streams.md b/website-v2/versioned_docs/version-0.90.0/02_concepts-data-streams.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/02_concepts-data-streams.md
rename to website-v2/versioned_docs/version-0.90.0/02_concepts-data-streams.md
diff --git a/website-v2/versioned_docs/version-0.66.0/02_concepts-glossary.md b/website-v2/versioned_docs/version-0.90.0/02_concepts-glossary.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/02_concepts-glossary.md
rename to website-v2/versioned_docs/version-0.90.0/02_concepts-glossary.md
diff --git a/website-v2/versioned_docs/version-0.66.0/02_concepts-overview.md b/website-v2/versioned_docs/version-0.90.0/02_concepts-overview.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/02_concepts-overview.md
rename to website-v2/versioned_docs/version-0.90.0/02_concepts-overview.md
diff --git a/website-v2/versioned_docs/version-0.66.0/02_concepts-pipeline.md b/website-v2/versioned_docs/version-0.90.0/02_concepts-pipeline.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/02_concepts-pipeline.md
rename to website-v2/versioned_docs/version-0.90.0/02_concepts-pipeline.md
diff --git a/website-v2/versioned_docs/version-0.68.0/03_use-configurations.md b/website-v2/versioned_docs/version-0.90.0/03_use-configurations.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.68.0/03_use-configurations.md
rename to website-v2/versioned_docs/version-0.90.0/03_use-configurations.md
diff --git a/website-v2/versioned_docs/version-0.68.0/03_use-dashboard.md b/website-v2/versioned_docs/version-0.90.0/03_use-dashboard.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.68.0/03_use-dashboard.md
rename to website-v2/versioned_docs/version-0.90.0/03_use-dashboard.md
diff --git a/website-v2/versioned_docs/version-0.68.0/03_use-data-explorer.md b/website-v2/versioned_docs/version-0.90.0/03_use-data-explorer.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.68.0/03_use-data-explorer.md
rename to website-v2/versioned_docs/version-0.90.0/03_use-data-explorer.md
diff --git a/website-v2/versioned_docs/version-0.66.0/03_use-install-pipeline-elements.md b/website-v2/versioned_docs/version-0.90.0/03_use-install-pipeline-elements.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/03_use-install-pipeline-elements.md
rename to website-v2/versioned_docs/version-0.90.0/03_use-install-pipeline-elements.md
diff --git a/website-v2/versioned_docs/version-0.66.0/03_use-managing-pipelines.md b/website-v2/versioned_docs/version-0.90.0/03_use-managing-pipelines.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/03_use-managing-pipelines.md
rename to website-v2/versioned_docs/version-0.90.0/03_use-managing-pipelines.md
diff --git a/website-v2/versioned_docs/version-0.66.0/03_use-notifications.md b/website-v2/versioned_docs/version-0.90.0/03_use-notifications.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/03_use-notifications.md
rename to website-v2/versioned_docs/version-0.90.0/03_use-notifications.md
diff --git a/website-v2/versioned_docs/version-0.68.0/05_deploy-docker.md b/website-v2/versioned_docs/version-0.90.0/05_deploy-docker.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.68.0/05_deploy-docker.md
rename to website-v2/versioned_docs/version-0.90.0/05_deploy-docker.md
diff --git a/website-v2/versioned_docs/version-0.66.0/05_deploy-kubernetes.md b/website-v2/versioned_docs/version-0.90.0/05_deploy-kubernetes.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/05_deploy-kubernetes.md
rename to website-v2/versioned_docs/version-0.90.0/05_deploy-kubernetes.md
diff --git a/website-v2/versioned_docs/version-0.66.0/05_deploy-security.md b/website-v2/versioned_docs/version-0.90.0/05_deploy-security.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/05_deploy-security.md
rename to website-v2/versioned_docs/version-0.90.0/05_deploy-security.md
diff --git a/website-v2/versioned_docs/version-0.66.0/05_deploy-use-ssl.md b/website-v2/versioned_docs/version-0.90.0/05_deploy-use-ssl.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/05_deploy-use-ssl.md
rename to website-v2/versioned_docs/version-0.90.0/05_deploy-use-ssl.md
diff --git a/website-v2/versioned_docs/version-0.68.0/06_extend-archetypes.md b/website-v2/versioned_docs/version-0.90.0/06_extend-archetypes.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.68.0/06_extend-archetypes.md
rename to website-v2/versioned_docs/version-0.90.0/06_extend-archetypes.md
diff --git a/website-v2/versioned_docs/version-0.66.0/06_extend-first-processor.md b/website-v2/versioned_docs/version-0.90.0/06_extend-first-processor.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/06_extend-first-processor.md
rename to website-v2/versioned_docs/version-0.90.0/06_extend-first-processor.md
diff --git a/website-v2/versioned_docs/version-0.68.0/06_extend-sdk-event-model.md b/website-v2/versioned_docs/version-0.90.0/06_extend-sdk-event-model.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.68.0/06_extend-sdk-event-model.md
rename to website-v2/versioned_docs/version-0.90.0/06_extend-sdk-event-model.md
diff --git a/website-v2/versioned_docs/version-0.66.0/07_technicals-architecture.md b/website-v2/versioned_docs/version-0.90.0/07_technicals-architecture.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/07_technicals-architecture.md
rename to website-v2/versioned_docs/version-0.90.0/07_technicals-architecture.md
diff --git a/website-v2/versioned_docs/version-0.66.0/07_technicals-messaging.md b/website-v2/versioned_docs/version-0.90.0/07_technicals-messaging.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/07_technicals-messaging.md
rename to website-v2/versioned_docs/version-0.90.0/07_technicals-messaging.md
diff --git a/website-v2/versioned_docs/version-0.66.0/07_technicals-runtime-wrappers.md b/website-v2/versioned_docs/version-0.90.0/07_technicals-runtime-wrappers.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/07_technicals-runtime-wrappers.md
rename to website-v2/versioned_docs/version-0.90.0/07_technicals-runtime-wrappers.md
diff --git a/website-v2/versioned_docs/version-0.66.0/07_technicals-user-guidance.md b/website-v2/versioned_docs/version-0.90.0/07_technicals-user-guidance.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/07_technicals-user-guidance.md
rename to website-v2/versioned_docs/version-0.90.0/07_technicals-user-guidance.md
diff --git a/website-v2/versioned_docs/version-0.66.0/08_debugging.md b/website-v2/versioned_docs/version-0.90.0/08_debugging.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/08_debugging.md
rename to website-v2/versioned_docs/version-0.90.0/08_debugging.md
diff --git a/website-v2/versioned_docs/version-0.66.0/08_monitoring.md b/website-v2/versioned_docs/version-0.90.0/08_monitoring.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/08_monitoring.md
rename to website-v2/versioned_docs/version-0.90.0/08_monitoring.md
diff --git a/website-v2/versioned_docs/version-0.69.0/09_get-help.md b/website-v2/versioned_docs/version-0.90.0/09_get-help.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.69.0/09_get-help.md
rename to website-v2/versioned_docs/version-0.90.0/09_get-help.md
diff --git a/website-v2/versioned_docs/version-0.67.0/dev-guide-archetype.md b/website-v2/versioned_docs/version-0.90.0/dev-guide-archetype.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.67.0/dev-guide-archetype.md
rename to website-v2/versioned_docs/version-0.90.0/dev-guide-archetype.md
diff --git a/website-v2/versioned_docs/version-0.67.0/dev-guide-processor-sdk.md b/website-v2/versioned_docs/version-0.90.0/dev-guide-processor-sdk.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.67.0/dev-guide-processor-sdk.md
rename to website-v2/versioned_docs/version-0.90.0/dev-guide-processor-sdk.md
diff --git a/website-v2/versioned_docs/version-0.67.0/dev-guide-sink-sdk.md b/website-v2/versioned_docs/version-0.90.0/dev-guide-sink-sdk.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.67.0/dev-guide-sink-sdk.md
rename to website-v2/versioned_docs/version-0.90.0/dev-guide-sink-sdk.md
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/faq-common-problems.md b/website-v2/versioned_docs/version-0.90.0/faq-common-problems.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.61.0-pre-asf/faq-common-problems.md
rename to website-v2/versioned_docs/version-0.90.0/faq-common-problems.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.coindesk.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.coindesk.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.coindesk.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.coindesk.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.gdelt.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.gdelt.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.gdelt.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.gdelt.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.iex.news.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.iex.news.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.iex.news.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.iex.news.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.iex.stocks.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.iex.stocks.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.iex.stocks.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.iex.stocks.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.image.set.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.image.set.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.image.set.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.image.set.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.image.stream.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.image.stream.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.image.stream.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.image.stream.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.influxdb.set.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.set.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.influxdb.set.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.set.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.iss.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.iss.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.iss.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.iss.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.mysql.set.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.set.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.mysql.set.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.set.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.mysql.stream.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.stream.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.mysql.stream.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.mysql.stream.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.netio.rest.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.netio.rest.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.netio.rest.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.netio.rest.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.ros.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.ros.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.ros.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.ros.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.slack.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.slack.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.slack.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.slack.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.ti.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.ti.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.ti.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.ti.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.file.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.file.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.file.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.file.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.http.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.http.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.http.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.http.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.kafka.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.kafka.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.kafka.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.kafka.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.geo.flink.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processor.geo.flink.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.geo.flink.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processor.geo.flink.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.compose.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.compose.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.compose.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.compose.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.enrich.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.enrich.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.enrich.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.enrich.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.project.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.project.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.project.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.project.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.threshold.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.threshold.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.threshold.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.filters.jvm.threshold.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.sequence.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.siddhi.sequence.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.sequence.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.siddhi.sequence.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.protocol.set.file.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.protocol.set.file.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.protocol.set.file.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.protocol.set.file.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.protocol.set.http.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.protocol.set.http.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.protocol.set.http.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.protocol.set.http.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.email.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.email.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.email.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.email.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md b/website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md
rename to website-v2/versioned_docs/version-0.90.0/pe/org.apache.streampipes.sinks.notifications.jvm.onesignal.md
diff --git a/website-v2/versioned_docs/version-0.68.0/01_try-tutorial.md b/website-v2/versioned_docs/version-0.91.0/01_try-tutorial.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.68.0/01_try-tutorial.md
copy to website-v2/versioned_docs/version-0.91.0/01_try-tutorial.md
diff --git a/website-v2/versioned_docs/version-0.66.0/02_concepts-adapter.md b/website-v2/versioned_docs/version-0.91.0/02_concepts-adapter.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/02_concepts-adapter.md
copy to website-v2/versioned_docs/version-0.91.0/02_concepts-adapter.md
diff --git a/website-v2/versioned_docs/version-0.66.0/02_concepts-data-streams.md b/website-v2/versioned_docs/version-0.91.0/02_concepts-data-streams.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/02_concepts-data-streams.md
copy to website-v2/versioned_docs/version-0.91.0/02_concepts-data-streams.md
diff --git a/website-v2/versioned_docs/version-0.66.0/02_concepts-glossary.md b/website-v2/versioned_docs/version-0.91.0/02_concepts-glossary.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/02_concepts-glossary.md
copy to website-v2/versioned_docs/version-0.91.0/02_concepts-glossary.md
diff --git a/website-v2/versioned_docs/version-0.66.0/02_concepts-overview.md b/website-v2/versioned_docs/version-0.91.0/02_concepts-overview.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/02_concepts-overview.md
copy to website-v2/versioned_docs/version-0.91.0/02_concepts-overview.md
diff --git a/website-v2/versioned_docs/version-0.66.0/02_concepts-pipeline.md b/website-v2/versioned_docs/version-0.91.0/02_concepts-pipeline.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/02_concepts-pipeline.md
copy to website-v2/versioned_docs/version-0.91.0/02_concepts-pipeline.md
diff --git a/website-v2/versioned_docs/version-0.68.0/03_use-configurations.md b/website-v2/versioned_docs/version-0.91.0/03_use-configurations.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.68.0/03_use-configurations.md
copy to website-v2/versioned_docs/version-0.91.0/03_use-configurations.md
diff --git a/website-v2/versioned_docs/version-0.91.0/03_use-connect.md b/website-v2/versioned_docs/version-0.91.0/03_use-connect.md
new file mode 100644
index 0000000..995ce37
--- /dev/null
+++ b/website-v2/versioned_docs/version-0.91.0/03_use-connect.md
@@ -0,0 +1,73 @@
+---
+id: use-connect
+title: StreamPipes Connect
+sidebar_label: StreamPipes Connect
+original_id: use-connect
+---
+
+StreamPipes Connect is the module to connect external data sources with Apache StreamPipes directly from the user interface. 
+StreamPipes Connect offers various adapters for common communication protocols and some specific sensors. Besides connecting data, StreamPipes Connect offers ways to pre-process data without the need to build pipelines and integrates a schema guesser that listens for incoming data and recommends the recognized event schema.
+
+The screenshot below illustrates the data marketplace, which shown after navigating to "StreamPipes Connect" and then clicking the "New adapter" button at the top.
+
+<img class="docs-image" src="/img/03_use-connect/01_connect-overview.png" alt="StreamPipes Connect Overview"/>
+
+## Connecting new data sources
+
+### Data Marketplace
+The data marketplace shows a list of all adapters that are currently installed in Apache StreamPipes. Each adapter offers various configuration options which depend on the specifics of the adapter.
+Adapters are distinguished a) by the data source concept they provide (data set or data stream) and b) the adapter type, where we distinguish between _generic adapters_, which usually implement a generic communication protocol such as MQTT or Apache Kafka or a specific sensor interface (e.g., for Netio power sockets).
+Several filter options are available to find a suitable adapter. The configuration of a new adapter starts with selecting one of the available adapters, which starts an assistant that supports the adapter generation.
+
+### Protocol/Basic Settings
+In the first step, basic configurations need to be provided. For instance, for an Apache PLC4X adapter, the IP address of the PLC needs to be provided. In this example, we provide basic settings for connecting to an Apache Kafka broker. After all values are provided, the "Next" button opens the next step. 
+
+<img class="docs-image" src="/img/03_use-connect/06_connect-create.png" alt="StreamPipes Connect Basic Settings"/>
+
+### Format Specification
+The next step, format generation, is only available for generic adapters which support different message formats to be sent over the corresponding protocol. Think of a message broker that is able to consume messages in both JSON format or binary format.
+Currently supported formats include XML, various JSON representations, images and CSV. After a format has been selected, further format configurations can be provided (depending on the selected format) to further customize the incoming message format.
+
+<img class="docs-image" src="/img/03_use-connect/02_customize-format.png" alt="StreamPipes Connect Format Selection"/>
+
+### Schema Editor
+In the next step, based on the previously provided protocol and format settings, the system will either provide the fixed/pre-defined schema of the adapter or, in case of specific adapters, will connect to the underlying system and try to listen for incoming data. After a few seconds, the schema editor will appear that provides a list of detected fields from the incoming events (the schema).
+
+<img class="docs-image" src="/img/03_use-connect/03_schema-editor.png" alt="StreamPipes Connect Schema Editor"/>
+
+In the toolbar, several configuration options are available which transform the original schema:
+
+* **Add Nested Property**. This option allows to modify the structure of the event by creating a nested structure. The schema can be simply changed by dragging and dropping fields into the nested structure.
+* **Add Static Value**. This option allows to add a field containing a static value (e.g., an identifier) to the event.
+* **Add Timestamp**. This options appends the current timestamp to each incoming event, useful in case the timestamp is not provided by the origin.
+* **Refresh**. Re-triggers the schema guessing.
+* **Delete field**. Select one or more fields by clicking the checkbox on the right and trigger the delete button.
+* **Property scope**. For each field, a property scope can be defined which is either _Measurement_, _Dimension_ or _Header_. These values are later be used in the pipeline editor to assist in configuring pipeline elements and do not have any functional consequence. 
+Use _Measurement_ to indicate the field measures a value (e.g., a temperature value from a sensor), use _Dimension_ for any identifier (e.g., the sensor ID) and use _Header_ for any other metadata such as timestamps.
+
+For each field (also called event property) of the schema, additional configuration options are available by clicking the _Edit_ button:
+
+* **Label**. Used to provide a human-readable label for the field, which will ease the identification of fields when building pipelines.
+* **Runtime Name.** This is the identifier of the field in the underlying message representation format (e.g., the JSON key). Renaming the runtime name will trigger a so-called _transformation rule_ which renames the incoming field name to the new field name before forwarding it to StreamPipes.
+* **Domain Property/Semantic Type**. To help StreamPipes better understand the value which is represented by the field, semantic type information can be given. Up from StreamPipes 0.68.0, the semantic type can be selected from a wide range of available options. Additionally, an URL can be manually provided that indicates the meaning of the value (e.g., http://schema.org/Temperature).
+* **Mark as Timestamp**. Indicates that the selected value represents a timestamp. When selected, a _timestamp converter_ can be configured which will convert incoming timestamps to the UNIX timestamp.
+* **Runtime Type**. Here, the data type can be changed  
+* **Unit**. Allows to specify the unit in which the value is measured. Once selected, you can also automatically convert the unit to a target unit, which will then be inserted into the data stream produced by the adapter (see screenshot below). 
+
+<img class="docs-image" src="/img/03_use-connect/04_schema-editor-conversion.png" alt="StreamPipes Connect Unit Conversion"/>
+
+Assigning a timestamp is mandatory and can be either done by adding a timestamp from the menu, or by choosing an existing field and marking it as timestamp.
+
+### Adapter Generation
+Finally, the adapter is ready to be started. In the _Adapter Generation_ page, a name and description for the resulting data stream must be provided.
+Once started, StreamPipes creates your new adapter and displays a preview of the connected data, which refreshes about once per second.
+Afterwards, the newly created data stream is available in the pipeline editor for further usage.
+
+<img class="docs-image" src="/img/03_use-connect/05_adapter-generation.png" alt="StreamPipes Connect Adapter Generation"/>
+
+## Managing adapters
+
+Currently running adapters are available in the "Running adapters" section of StreamPipes Connect. Existing adapters can be stopped and deleted. Currently, there is no mechanism to edit an existing adapter or to stop the adapter without deleting it.
+
+### Adapter Templates
+For frequently used configurations, adapter templates can be created. An adapter template is a pre-configured adapter which can be further customized by users. Created adapter templates are available in the marketplace similar to standard adapters.
diff --git a/website-v2/versioned_docs/version-0.68.0/03_use-dashboard.md b/website-v2/versioned_docs/version-0.91.0/03_use-dashboard.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.68.0/03_use-dashboard.md
copy to website-v2/versioned_docs/version-0.91.0/03_use-dashboard.md
diff --git a/website-v2/versioned_docs/version-0.68.0/03_use-data-explorer.md b/website-v2/versioned_docs/version-0.91.0/03_use-data-explorer.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.68.0/03_use-data-explorer.md
copy to website-v2/versioned_docs/version-0.91.0/03_use-data-explorer.md
diff --git a/website-v2/versioned_docs/version-0.66.0/03_use-install-pipeline-elements.md b/website-v2/versioned_docs/version-0.91.0/03_use-install-pipeline-elements.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/03_use-install-pipeline-elements.md
copy to website-v2/versioned_docs/version-0.91.0/03_use-install-pipeline-elements.md
diff --git a/website-v2/versioned_docs/version-0.66.0/03_use-managing-pipelines.md b/website-v2/versioned_docs/version-0.91.0/03_use-managing-pipelines.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/03_use-managing-pipelines.md
copy to website-v2/versioned_docs/version-0.91.0/03_use-managing-pipelines.md
diff --git a/website-v2/versioned_docs/version-0.66.0/03_use-notifications.md b/website-v2/versioned_docs/version-0.91.0/03_use-notifications.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/03_use-notifications.md
copy to website-v2/versioned_docs/version-0.91.0/03_use-notifications.md
diff --git a/website-v2/versioned_docs/version-0.91.0/03_use-pipeline-editor.md b/website-v2/versioned_docs/version-0.91.0/03_use-pipeline-editor.md
new file mode 100644
index 0000000..1c75a72
--- /dev/null
+++ b/website-v2/versioned_docs/version-0.91.0/03_use-pipeline-editor.md
@@ -0,0 +1,63 @@
+---
+id: use-pipeline-editor
+title: Pipeline Editor
+sidebar_label: Pipeline Editor
+original_id: use-pipeline-editor
+---
+
+The pipeline editor module supports building pipelines that transform a data stream using a set of resuable data processors and data sinks.
+The empty pipeline editor looks similar to the illustration below after a new installation.
+
+<img class="docs-image" src="/img/03_use-pipeline-editor/01_pipeline-editor-overview.png" alt="StreamPipes Pipeline Editor Overview"/>
+
+## Pipeline Elements
+The four main concepts data sets, data streams, data processors and data sinks are available at the top of the pipeline editor. By switching the tabs, the individual pipeline elements for each category can be found.
+By clicking the questionmark symbol, which appears when hovering over an element, additional information can be viewed (e.g., for data streams a live preview of incoming data and the documentation of the pipeline element for data processors and sinks).
+
+<img class="docs-image" src="/img/03_use-pipeline-editor/02_pipeline-element-info.png" alt="StreamPipes Pipeline Element Info"/>
+
+## Creating Pipelines
+Pipelines are built by dragging data streams, processors and sinks into the pipeline assembly area. Typically, a pipeline is built step-by-step starting with a data soure (stream or set). 
+Afterwards, data processors and sinks are subsequently added to the pipeline. Connections between pipeline elements are made by selecting the gray connector of the source and moving it to the target pipeline element.
+Once a connection is made, StreamPipes performs a quick validation step and, in case two pipeline elements are compatible, automatically opens a configuration window.
+
+### Configuring Pipeline Elements
+The configuration depends on the selected pipeline element and looks similar to the screenshot below.
+In general, pipeline elements are configured by providing the required values. Once the pipeline element is fully configured, the _Save_ button activates and can be used to save the configuration for the pipeline element.
+
+<img class="docs-image" src="/img/03_use-pipeline-editor/03_configure-pipeline-element.png" alt="StreamPipes Pipeline Element Configuration"/>
+
+In addition, the following options are available in the pipeline element configuration menu:
+* **Show documentation** extends the view and displays the pipeline element's documentation next to the configuration view.
+* **Show only recommended settings** filters the list of available fields provided by the connected input data stream based on the _property scope_, e.g., so that only measurement values are displayed and dimension fields from the input stream are not available for selection. If deactivated, selections contain the full list of available fields that match the input requirement of the data processor.
+
+### Pipeline Element Options
+Further options for a pipeline element can be displayed by hovering over a pipeline element in the assembly area, so that additional buttons appear around the pipeline element:
+
+* **Configure element** re-opens the configuration view to update the pipeline element configuration (only available for data processors and sinks)
+* **Delete element** removes the pipeline element from the pipeline  
+* **Help** opens the pipeline element's documentation
+* **Compatible element** opens a dialog which shows all pipeline elements that are compatible to the current element's output data stream. The dialog offers an alternative to selecting pipeline elements directly from the pipeline element selection in the top.
+* **Pipeline Element Recommendation** opens a dialog which shows all recommended pipeline elements that are compatible the current element's output data stream. The recommendation is based on previously connected pipeline elements and is displayed below.
+
+### Pipeline Editor Options
+Several pipeline editor options are available in the menu bar of the pipeline assembly:
+
+<img class="docs-image" src="/img/03_use-pipeline-editor/05_pipeline-editor-options.png" alt="StreamPipes Pipeline Editor Options"/>
+
+* **Save pipeline** opens the save dialog (see below)
+* **Pan** allows to pan within the assembly area, useful for larger pipelines that do not fit in the screen
+* **Select** is visible if pan mode is active and switches back to the default select mode
+* **Zoom in/out** triggers the zoom in the pipeline assembly
+* **Auto Layout** layouts the pipeline in a much more beautiful way than you are able to do by yourself ;-)
+* **All pipeline modification saved** is displayed if the current pipeline has been cached. Cache updates are triggered after every change of the pipeline so that changes are not lost after reloading the window.
+* **Hints** are shown to display current errors (e.g., incomplete pipelines). Details can be opened by clicking the hint button.
+* **Clear assembly** clears the assembly and removes the current pipeline.
+
+### Saving a pipeline
+To save a pipeline, press the _save pipeline_ button. A dialog pops up where a name and description of the pipeline can be entered (only name is mandatory).
+Additionally, a pipeline can be directly started after it has been stored by checking the corresponding button.
+
+<img class="docs-image" src="/img/03_use-pipeline-editor/06_save-pipeline.png" alt="StreamPipes Save Pipeline Dialog"/>
+
+
diff --git a/website-v2/versioned_docs/version-0.68.0/05_deploy-docker.md b/website-v2/versioned_docs/version-0.91.0/05_deploy-docker.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.68.0/05_deploy-docker.md
copy to website-v2/versioned_docs/version-0.91.0/05_deploy-docker.md
diff --git a/website-v2/versioned_docs/version-0.66.0/05_deploy-kubernetes.md b/website-v2/versioned_docs/version-0.91.0/05_deploy-kubernetes.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/05_deploy-kubernetes.md
copy to website-v2/versioned_docs/version-0.91.0/05_deploy-kubernetes.md
diff --git a/website-v2/versioned_docs/version-0.66.0/05_deploy-security.md b/website-v2/versioned_docs/version-0.91.0/05_deploy-security.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/05_deploy-security.md
copy to website-v2/versioned_docs/version-0.91.0/05_deploy-security.md
diff --git a/website-v2/versioned_docs/version-0.66.0/05_deploy-use-ssl.md b/website-v2/versioned_docs/version-0.91.0/05_deploy-use-ssl.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/05_deploy-use-ssl.md
copy to website-v2/versioned_docs/version-0.91.0/05_deploy-use-ssl.md
diff --git a/website-v2/versioned_docs/version-0.68.0/06_extend-archetypes.md b/website-v2/versioned_docs/version-0.91.0/06_extend-archetypes.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.68.0/06_extend-archetypes.md
copy to website-v2/versioned_docs/version-0.91.0/06_extend-archetypes.md
diff --git a/website-v2/versioned_docs/version-0.91.0/06_extend-cli.md b/website-v2/versioned_docs/version-0.91.0/06_extend-cli.md
new file mode 100644
index 0000000..ee7c7d7
--- /dev/null
+++ b/website-v2/versioned_docs/version-0.91.0/06_extend-cli.md
@@ -0,0 +1,191 @@
+---
+id: extend-cli
+title: StreamPipes CLI
+sidebar_label: StreamPipes CLI
+original_id: extend-cli
+---
+
+The StreamPipes command-line interface (CLI) is focused on developers in order to provide an easy entrypoint to set up a suitable dev environment, either planning on developing
+
+* new extensions such as **connect adapters, processors, sinks** or,
+* new core features for **backend** and **ui**.
+
+The main difference between the standard Docker/K8s installation is an improved communication between services running as containers and services running locally for development.
+
+The CLI can be found in the [main repository](https://github.com/apache/streampipes/tree/master/installer/cli) or in the ``installer/cli`` folder of the downloaded source code.
+
+## TL;DR
+
+```bash
+streampipes env --list
+[INFO] Available StreamPipes environment templates:
+pipeline-element
+...
+streampipes env --set pipeline-element
+streampipes up -d
+```
+> **NOTE**: use `./streampipes` if you haven't add it to the PATH and sourced it (see section "Run `streampipes` from anywhere?").
+
+## Prerequisites
+The CLI is basically a wrapper around multiple `docker` and `docker-compose` commands plus some additional sugar.
+
+* Docker >= 17.06.0
+* Docker-Compose >= 1.26.0 (Compose file format: 3.4)
+* Google Chrome (recommended), Mozilla Firefox, Microsoft Edge
+* For Windows Developer: GitBash only
+
+
+Tested on: **macOS**, **Linux**, **Windows***)
+
+> **NOTE**: *) If you're using Windows the CLI only works in combination with GitBash - CMD, PowerShell won't work.
+
+
+## CLI commands overview
+
+```
+StreamPipes CLI - Manage your StreamPipes environment with ease
+
+Usage: streampipes COMMAND [OPTIONS]
+
+Options:
+  --help, -h      show help
+  --version, -v   show version
+
+Commands:
+  clean       Remove StreamPipes data volumes, dangling images and network
+  down        Stop and remove StreamPipes containers
+  env         Inspect and select StreamPipes environments
+  info        Get information
+  logs        Get container logs for specific container
+  ps          List all StreamPipes container for running environment
+  pull        Download latest images from Dockerhub
+  restart     Restart StreamPipes environment
+  up          Create and start StreamPipes container environment
+
+Run 'streampipes COMMAND --help' for more info on a command.
+```
+
+## Usage: Along dev life-cycle
+
+**List** available environment templates.
+```bash
+streampipes env --list
+```
+
+**Inspect** services in an available environment to know what kind of services it is composed of.
+```bash
+streampipes env --inspect pipeline-element
+```
+
+**Set** environment, e.g. `pipeline-element`, if you want to write a new pipeline element.
+```bash
+streampipes env --set pipeline-element
+```
+
+**Start** environment ( default: `dev` mode). Here the service definition in the selected environment is used to start the multi-container landscape.
+> **NOTE**: `dev` mode is enabled by default since we rely on open ports to core service such as `consul`, `couchdb`, `kafka` etc. to reach from the IDE when developing. If you don't want to map ports (except the UI port), then use the `--no-ports` flag.
+
+```bash
+streampipes up -d
+# start in production mode with unmapped ports
+# streampipes up -d --no-ports
+```
+Now you're good to go to write your new pipeline element :tada: :tada: :tada:
+
+> **HINT for extensions**: Use our [Maven archetypes](https://streampipes.apache.org/docs/docs/dev-guide-archetype/) to setup a project skeleton and use your IDE of choice for development. However, we do recommend using IntelliJ.
+
+> **HINT for core**: To work on `backend` or `ui` features you need to set the template to `backend` and clone the core repository [streampipes](https://github.com/apache/streampipes) - check the prerequisites there for more information.
+
+**Stop** environment and remove docker container
+```bash
+streampipes down
+# want to also clean docker data volumes when stopping the environment?
+# streampipes down -v
+```
+
+## Additionally, useful commands
+
+**Start individual services only?** We got you! You chose a template that suits your needs and now you only want to start individual services from it, e.g. only Kafka and Consul.
+
+> **NOTE**: the service names need to be present and match your current `.spenv` environment.
+
+```bash
+streampipes up -d kafka consul
+```
+
+**Get current environment** (if previously set using `streampipes env --set <environment>`).
+```bash
+streampipes env
+```
+
+**Get logs** of specific service and use optional `--follow` flag to stay attached to the logs.
+```bash
+streampipes logs --follow backend
+```
+
+**Update** all services of current environment
+```bash
+streampipes pull
+```
+
+**Restart** all services of current environment or specific services
+```bash
+streampipes restart
+# restart backend & consul
+# streampipes restart backend consul
+```
+
+**Clean** your system and remove created StreamPipes Docker volumes, StreamPipes docker network and dangling StreamPipes images of old image layers.
+```bash
+streampipes clean
+# remove volumes, network and dangling images
+# streampipes clean --volumes
+```
+
+## Modify/Create an environment template
+As of now, this step has to be done **manually**. All environments are located in `environments/`.
+
+```bash
+├── adapter               # developing a new connect adapter
+├── backend               # developing core backend features
+├── basic                 # wanna run core, UI, connect etc from the IDE?
+├── full                  # full version containing more pipeline elements
+├── lite                  # few pipeline elements, less memory  
+├── pipeline-element      # developing new pipeline-elements
+└── ui                    # developing UI features
+```
+**Modifying an existing environment template**. To modify an existing template, you can simply add a `<YOUR_NEW_SERVICE>` to the template.
+> **NOTE**: You need to make sure, that the service your are adding exists in `deploy/standalone/service/<YOUR_NEW_SERVICE>`. If your're adding a completely new service take a look at existing ones, create a new service directory and include a `docker-compose.yml` and `docker-compose.dev.yml` file.
+
+```
+[environment:backend]
+activemq
+kafka
+...
+<YOUR_NEW_SERVICE>
+```
+
+**Creating a new** environment template. To create a new environment template, place a new file `environments/<YOUR_NEW_ENVIRONMENT>` in the template directory. Open the file and use the following schema.
+> **IMPORTANT**: Please make sure to have `[environment:<YOUR_NEW_ENVIRONMENT>]` header in the first line of your new template matching the name of the file. Make sure to use small caps letters (lowercase) only.
+
+```
+[environment:<YOUR_NEW_ENVIRONMENT>]
+<SERVICE_1>
+<SERVICE_2>
+...
+```
+
+## Run `streampipes` from anywhere? No problem
+Simply add the path to this cli directory to your `$PATH` (on macOS, Linux) variable, e.g. in your `.bashrc` or `.zshrc`, or `%PATH%` (on Windows).
+
+For **macOS**, or **Linux**:
+
+```bash
+export PATH="/path/to/streampipes-installer/installer/cli:$PATH"
+```
+
+For **Windows 10**, e.g. check this [documentation](https://helpdeskgeek.com/windows-10/add-windows-path-environment-variable/).
+
+
+## Upgrade to new version
+To upgrade to a new version, simply edit the version tag `SP_VERSION` in the `.env` file.
diff --git a/website-v2/versioned_docs/version-0.66.0/06_extend-first-processor.md b/website-v2/versioned_docs/version-0.91.0/06_extend-first-processor.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/06_extend-first-processor.md
copy to website-v2/versioned_docs/version-0.91.0/06_extend-first-processor.md
diff --git a/website-v2/versioned_docs/version-0.68.0/06_extend-sdk-event-model.md b/website-v2/versioned_docs/version-0.91.0/06_extend-sdk-event-model.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.68.0/06_extend-sdk-event-model.md
copy to website-v2/versioned_docs/version-0.91.0/06_extend-sdk-event-model.md
diff --git a/website-v2/versioned_docs/version-0.67.0/06_extend-sdk-functions.md b/website-v2/versioned_docs/version-0.91.0/06_extend-sdk-functions.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.67.0/06_extend-sdk-functions.md
rename to website-v2/versioned_docs/version-0.91.0/06_extend-sdk-functions.md
diff --git a/website-v2/versioned_docs/version-0.66.0/06_extend-sdk-migration-sd.md b/website-v2/versioned_docs/version-0.91.0/06_extend-sdk-migration-sd.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.66.0/06_extend-sdk-migration-sd.md
rename to website-v2/versioned_docs/version-0.91.0/06_extend-sdk-migration-sd.md
diff --git a/website-v2/versioned_docs/version-0.68.0/06_extend-sdk-output-strategies.md b/website-v2/versioned_docs/version-0.91.0/06_extend-sdk-output-strategies.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.68.0/06_extend-sdk-output-strategies.md
rename to website-v2/versioned_docs/version-0.91.0/06_extend-sdk-output-strategies.md
diff --git a/website-v2/versioned_docs/version-0.68.0/06_extend-sdk-static-properties.md b/website-v2/versioned_docs/version-0.91.0/06_extend-sdk-static-properties.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.68.0/06_extend-sdk-static-properties.md
rename to website-v2/versioned_docs/version-0.91.0/06_extend-sdk-static-properties.md
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/06_extend-sdk-stream-requirements.md b/website-v2/versioned_docs/version-0.91.0/06_extend-sdk-stream-requirements.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.65.0-pre-asf/06_extend-sdk-stream-requirements.md
rename to website-v2/versioned_docs/version-0.91.0/06_extend-sdk-stream-requirements.md
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/06_extend-tutorial-data-processors.md b/website-v2/versioned_docs/version-0.91.0/06_extend-tutorial-data-processors.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.65.0-pre-asf/06_extend-tutorial-data-processors.md
rename to website-v2/versioned_docs/version-0.91.0/06_extend-tutorial-data-processors.md
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/06_extend-tutorial-data-sinks.md b/website-v2/versioned_docs/version-0.91.0/06_extend-tutorial-data-sinks.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.65.0-pre-asf/06_extend-tutorial-data-sinks.md
rename to website-v2/versioned_docs/version-0.91.0/06_extend-tutorial-data-sinks.md
diff --git a/website-v2/versioned_docs/version-0.65.0-pre-asf/06_extend-tutorial-data-sources.md b/website-v2/versioned_docs/version-0.91.0/06_extend-tutorial-data-sources.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.65.0-pre-asf/06_extend-tutorial-data-sources.md
rename to website-v2/versioned_docs/version-0.91.0/06_extend-tutorial-data-sources.md
diff --git a/website-v2/versioned_docs/version-0.66.0/07_technicals-architecture.md b/website-v2/versioned_docs/version-0.91.0/07_technicals-architecture.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/07_technicals-architecture.md
copy to website-v2/versioned_docs/version-0.91.0/07_technicals-architecture.md
diff --git a/website-v2/versioned_docs/version-0.68.0/07_technicals-configuration.md b/website-v2/versioned_docs/version-0.91.0/07_technicals-configuration.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.68.0/07_technicals-configuration.md
rename to website-v2/versioned_docs/version-0.91.0/07_technicals-configuration.md
diff --git a/website-v2/versioned_docs/version-0.66.0/07_technicals-messaging.md b/website-v2/versioned_docs/version-0.91.0/07_technicals-messaging.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/07_technicals-messaging.md
copy to website-v2/versioned_docs/version-0.91.0/07_technicals-messaging.md
diff --git a/website-v2/versioned_docs/version-0.66.0/07_technicals-runtime-wrappers.md b/website-v2/versioned_docs/version-0.91.0/07_technicals-runtime-wrappers.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/07_technicals-runtime-wrappers.md
copy to website-v2/versioned_docs/version-0.91.0/07_technicals-runtime-wrappers.md
diff --git a/website-v2/versioned_docs/version-0.66.0/07_technicals-user-guidance.md b/website-v2/versioned_docs/version-0.91.0/07_technicals-user-guidance.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/07_technicals-user-guidance.md
copy to website-v2/versioned_docs/version-0.91.0/07_technicals-user-guidance.md
diff --git a/website-v2/versioned_docs/version-0.66.0/08_debugging.md b/website-v2/versioned_docs/version-0.91.0/08_debugging.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/08_debugging.md
copy to website-v2/versioned_docs/version-0.91.0/08_debugging.md
diff --git a/website-v2/versioned_docs/version-0.66.0/08_monitoring.md b/website-v2/versioned_docs/version-0.91.0/08_monitoring.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/08_monitoring.md
copy to website-v2/versioned_docs/version-0.91.0/08_monitoring.md
diff --git a/website-v2/versioned_docs/version-0.68.0/09_contribute.md b/website-v2/versioned_docs/version-0.91.0/09_contribute.md
similarity index 100%
rename from website-v2/versioned_docs/version-0.68.0/09_contribute.md
rename to website-v2/versioned_docs/version-0.91.0/09_contribute.md
diff --git a/website-v2/versioned_docs/version-0.69.0/09_get-help.md b/website-v2/versioned_docs/version-0.91.0/09_get-help.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.69.0/09_get-help.md
copy to website-v2/versioned_docs/version-0.91.0/09_get-help.md
diff --git a/website-v2/versioned_docs/version-0.67.0/dev-guide-archetype.md b/website-v2/versioned_docs/version-0.91.0/dev-guide-archetype.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.67.0/dev-guide-archetype.md
copy to website-v2/versioned_docs/version-0.91.0/dev-guide-archetype.md
diff --git a/website-v2/versioned_docs/version-0.67.0/dev-guide-processor-sdk.md b/website-v2/versioned_docs/version-0.91.0/dev-guide-processor-sdk.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.67.0/dev-guide-processor-sdk.md
copy to website-v2/versioned_docs/version-0.91.0/dev-guide-processor-sdk.md
diff --git a/website-v2/versioned_docs/version-0.67.0/dev-guide-sink-sdk.md b/website-v2/versioned_docs/version-0.91.0/dev-guide-sink-sdk.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.67.0/dev-guide-sink-sdk.md
copy to website-v2/versioned_docs/version-0.91.0/dev-guide-sink-sdk.md
diff --git a/website-v2/versioned_docs/version-0.61.0-pre-asf/faq-common-problems.md b/website-v2/versioned_docs/version-0.91.0/faq-common-problems.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.61.0-pre-asf/faq-common-problems.md
copy to website-v2/versioned_docs/version-0.91.0/faq-common-problems.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.coindesk.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.coindesk.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.coindesk.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.coindesk.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.gdelt.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.gdelt.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.gdelt.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.gdelt.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.iex.news.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.iex.news.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.iex.news.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.iex.news.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.iex.stocks.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.iex.stocks.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.iex.stocks.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.iex.stocks.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.image.set.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.image.set.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.image.set.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.image.set.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.image.stream.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.image.stream.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.image.stream.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.image.stream.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.influxdb.set.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.set.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.influxdb.set.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.set.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.influxdb.stream.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.iss.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.iss.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.iss.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.iss.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.mysql.set.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.set.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.mysql.set.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.set.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.mysql.stream.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.stream.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.mysql.stream.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.mysql.stream.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.netio.mqtt.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.netio.rest.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.netio.rest.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.netio.rest.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.netio.rest.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.plc4x.s7.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.ros.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.ros.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.ros.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.ros.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdataset.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.simulator.randomdatastream.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.slack.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.slack.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.slack.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.slack.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.ti.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.ti.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.ti.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.ti.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.edit.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.adapters.wikipedia.new.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.file.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.file.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.file.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.file.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.http.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.http.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.http.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.http.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.kafka.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.kafka.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.kafka.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.kafka.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.mqtt.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.connect.protocol.stream.pulsar.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.geo.flink.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processor.geo.flink.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.geo.flink.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processor.geo.flink.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.mathop.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.trigonometry.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.flink.timestamp.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.enricher.jvm.sizemeasure.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.compose.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.compose.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.compose.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.compose.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.enrich.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.enrich.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.enrich.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.enrich.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericalfilter.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.numericaltextfilter.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.project.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.project.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.project.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.project.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.textfilter.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.threshold.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.threshold.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.filters.jvm.threshold.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.filters.jvm.threshold.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.geo.jvm.processor.speed.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.sequence.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.siddhi.sequence.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.siddhi.sequence.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.siddhi.sequence.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.statistics.flink.statistics-summary.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.chunker.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.languagedetection.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.namefinder.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.partofspeech.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.textmining.jvm.tokenizer.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.flink.field-mapper.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.flink.processor.boilerplate.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.inverter.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timer.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.changed-value.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.count-array.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.csvmetadata.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.duration-value.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.processor.timestampextractor.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.stringoperator.counter.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.taskduration.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.processors.transformation.jvm.transform-to-boolean.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.protocol.set.file.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.protocol.set.file.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.protocol.set.file.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.protocol.set.file.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.protocol.set.http.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.protocol.set.http.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.protocol.set.http.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.protocol.set.http.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.bufferrest.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.jms.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.kafka.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.pulsar.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.brokers.jvm.rest.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.flink.elasticsearch.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.couchdb.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.influxdb.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.iotdb.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.opcua.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.databases.jvm.postgresql.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.dashboard.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.email.md b/website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.email.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.notifications.jvm.email.md
copy to website-v2/versioned_docs/version-0.91.0/pe/org.apache.streampipes.sinks.notifications.jvm.email.md
diff --git a/website-v2/versioned_docs/version-0.67.0/dev-guide-archetype.md b/website-v2/versioned_docs/version-0.92.0/dev-guide-archetype.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.67.0/dev-guide-archetype.md
copy to website-v2/versioned_docs/version-0.92.0/dev-guide-archetype.md
diff --git a/website-v2/versioned_docs/version-0.67.0/dev-guide-processor-sdk.md b/website-v2/versioned_docs/version-0.92.0/dev-guide-processor-sdk.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.67.0/dev-guide-processor-sdk.md
copy to website-v2/versioned_docs/version-0.92.0/dev-guide-processor-sdk.md
diff --git a/website-v2/versioned_docs/version-0.67.0/dev-guide-sink-sdk.md b/website-v2/versioned_docs/version-0.92.0/dev-guide-sink-sdk.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.67.0/dev-guide-sink-sdk.md
copy to website-v2/versioned_docs/version-0.92.0/dev-guide-sink-sdk.md
diff --git a/website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md b/website-v2/versioned_docs/version-0.92.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md
similarity index 100%
copy from website-v2/versioned_docs/version-0.66.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md
copy to website-v2/versioned_docs/version-0.92.0/pe/org.apache.streampipes.sinks.brokers.jvm.mqtt.md
diff --git a/website-v2/versions_temp/version-0.90.0-sidebars.json b/website-v2/versioned_sidebars/version-0.90.0-sidebars.json
similarity index 100%
rename from website-v2/versions_temp/version-0.90.0-sidebars.json
rename to website-v2/versioned_sidebars/version-0.90.0-sidebars.json
diff --git a/website-v2/versions_temp/version-0.91.0-sidebars.json b/website-v2/versioned_sidebars/version-0.91.0-sidebars.json
similarity index 100%
rename from website-v2/versions_temp/version-0.91.0-sidebars.json
rename to website-v2/versioned_sidebars/version-0.91.0-sidebars.json
diff --git a/website-v2/versions.json b/website-v2/versions.json
index 15c29ee..65fc8e6 100644
--- a/website-v2/versions.json
+++ b/website-v2/versions.json
@@ -2,15 +2,5 @@
   "0.92.0",
   "0.91.0",
   "0.90.0",
-  "0.70.0",
-  "0.69.0",
-  "0.68.0",
-  "0.67.0",
-  "0.66.0",
-  "0.65.0-pre-asf",
-  "0.64.0-pre-asf",
-  "0.63.0-pre-asf",
-  "0.62.0-pre-asf",
-  "0.61.0-pre-asf",
-  "0.55.2-pre-asf"
+  "0.70.0"
 ]
